Contributing to This Project¶
Thank you for considering contributing to this project! Your help is greatly appreciated.
How to Contribute¶
Reporting Issues¶
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
Submitting Code Changes¶
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.
Code Style¶
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.
Writing Tests¶
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.
Reviewing Pull Requests¶
We encourage contributors to review open PRs and provide constructive feedback.
Donate¶
If you find this project useful, consider supporting it by buying me a coffee.
Other Ways to Contribute¶
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.
Getting Help¶
If you have any questions, feel free to open a discussion in the GitHub Discussions or comment on an open issue.
Ground Rules¶
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.
Miscellaneous¶
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!