Skip to content

Latest commit

History

History
57 lines (33 loc) 路 2.77 KB

CONTRIBUTING.md

File metadata and controls

57 lines (33 loc) 路 2.77 KB

We appreciate your interest in contributing to Chemotools and welcome contributions from everyone. Whether you have bug reports, ideas for new features, or want to improve the code, your contributions are valuable. Check the Project Board to see what we're working on.

Contributing to Chemotools

Chemotools is a project designed for production code, focusing on maintaining high-quality standards. Please adhere to the following guidelines when contributing:

Project Functionality

  • Scikit-Learn API Implementation: All functions within Chemotools must implement the Scikit-Learn API for consistency and interoperability.

  • Avoiding Redundancy: Functions that are already present in other libraries implementing the Scikit-Learn API should not be implemented in Chemotools to prevent redundancy.

  • Unit Testing: Every function in Chemotools must be accompanied by thorough unit tests. This ensures the reliability and robustness of the codebase.

We welcome your contributions and appreciate your commitment to maintaining the quality of Chemotools. Please follow the guidelines outlined below to ensure a smooth and effective contribution process.

Reporting Bugs

If you find a bug or unexpected behavior, please open a detailed issue on the GitHub repository. Include error messages and steps to reproduce, along with sample code or data if possible.

Suggesting Enhancements

For new features or enhancements, open an issue with a detailed description and benefits. Include example code or use cases to illustrate how the feature would be used.

Submitting Changes

To contribute code changes:

  1. Open an issue describing the changes you want to implement.
  2. We'll review and discuss the issue to determine the scope.
  3. Once agreed, create a new branch for your contribution (we follow trunk-based development).
  4. Write code and tests, adhering to Chemotools coding style and conventions.
  5. Run tests using the provided framework to ensure your changes don't introduce errors.
  6. Submit a pull request with a detailed description and the problem your changes solve.

We'll review promptly and provide feedback. If changes are requested, make them quickly to keep the process moving.

Code Style

Follow Chemotools coding style:

  • Indent with four spaces
  • Use descriptive variable names
  • Avoid magic numbers or hard-coded strings
  • Format code using Black

Codecov

Ensure your changes don't reduce Chemotools' test coverage. We use Codecov to track coverage.

Documentation

Update Chemotools documentation if your changes affect the API or functionality.

License

By contributing to Chemotools, you agree that your contributions will be licensed under its MIT license.