Thank you for your interest in contributing to scikit-fingerprints library! We welcome contributions from the community to make our project even better.
Before you start contributing, please take a moment to review the following guidelines to ensure a smooth and productive collaboration.
If you find a bug, have a question, or want to propose a new feature, please open an issue on our GitHub repository. Be sure to include as much detail as possible, such as a clear description, steps to reproduce the issue, and any relevant screenshots or error messages.
We encourage you to submit pull requests (PRs) to improve our project. To do so, follow these steps:
-
Set up your development environment by following the instructions. In particular, make sure that pre-commit hooks are working.
-
Create a new branch for your feature or bug fix:
git checkout -b my-feature
-
Make your changes. Make sure to follow the existing coding style and conventions. Commit changes with clear and concise commit messages.
-
Push your changes to your forked repository:
git push origin my-feature
-
Open a pull request on our GitHub repository, make sure to fill the PR template. PR name should be well-formatted, concise, and clearly define what you did, e.g. "Implemented X", "Fixed Y", "Added Z and Q".
-
Participate in the review process by addressing any feedback or comments on your PR.
Prerequisites:
- Python 3.9 or higher
- Poetry
- Git
To set up the development environment, follow these steps:
- Fork the repository on GitHub.
- Clone your forked repository to your local machine:
git clone <repository-url>
- Run make to set up the development environment:
This command will set up a virtual environment and install all the necessary dependencies.
make setup
- That's it! You're ready to start developing. For more convenience, you can run
the following command to activate the virtual environment:
poetry shell
If you are using PyCharm, then mark tests
directory as tests sources root. Also make sure that
PyTest is configured as the default test runner. This will make running them easier from UI.
NOTE
For other operating systems, please refer to Makefile for the commands to run.
Before submitting a pull request, make sure to run the tests to ensure that your changes do not introduce
regressions.
To run tests, execute make test
in the main directory of the repository.
If necessary, add new tests to cover your code. Also, please be sure that you do not violate any code style
requirements (you can check it by running pre-commit on staged files).
If you are contributing new features or changes, please update the documentation to reflect your changes. You can find
the documentation in the docs
directory.
Run make docs
in the main directory of the repository to build the documentation. This command will generate HTML
files in the docs/_build/html
directory.
To view the documentation, open the docs/_build/html/index.html
file in your browser.
To release scikit-fingerprints open a GitHub release with tag named 'vA.B.C' where each letter stands for version number. Fill the release notes and submit the release. Then, the version will be automatically sourced from tag by GH action and released to PyPI.
By participating in this project, you agree to abide by the Code of Conduct. We take violations seriously and may take action if necessary to maintain a welcoming and respectful community.
By contributing to this project, you agree that your contributions will be licensed under the MIT License.
Thank you for your contribution! Your efforts help make scikit-fingerprints library better for everyone.