Thank you for considering contributing to this project! Your help is greatly appreciated.
If you encounter a bug, have a feature request, or need clarification, please open an issue in the GitHub Issues section. When reporting a bug, include:
- A clear description of the issue
- Steps to reproduce
- Expected vs. actual behavior
- Any relevant error messages or logs
- Fork the repository and clone it locally.
- Create a new branch for your feature or fix:
git checkout -b feature-name
- Make your changes and ensure they follow the project's coding style.
- Run tests to verify your changes:
pytest tests
- Commit your changes with a meaningful message:
git commit -m "Describe your change briefly"
- Push the branch to your fork:
git push origin feature-name
- Create a Pull Request (PR) from your branch to the
main
branch.
This project follows standard Python best practices (PEP 8).
Please ensure your code is typed where applicable using type hints.
Make sure that every function has a docstring with types. We use the Google style docstring format. Here is an example for a Google style docstring.
If your contribution includes code changes, please add or update tests to maintain high code quality. We use pytest
for testing. All tests are located in the tests folder:
pytest tests
Ensure all tests pass before submitting your PR.
We encourage contributors to review open PRs and provide constructive feedback.
If you find this project useful, consider supporting it by buying me a coffee.
- Writing tutorials or examples using GitHub Gists and referencing them in discussions.
- Fixing typos and improving the documentation by opening issues or creating pull requests.
If you have any questions, feel free to open a discussion in the GitHub Discussions or comment on an open issue.
The goal is to maintain a diverse community that's pleasant for everyone. Please be considerate and respectful of others. Everyone must abide by our Code of Conduct and we encourage all to read it carefully.
For more information on contributing to open source projects, GitHub's own guide is a great starting point if you are new to version control. Also, checkout the Zen of Scientific Software Maintenance for some guiding principles on how to create high quality scientific software contributions.
Thank you for contributing!