How to contribute
Contributions are welcome and very much appreciated!
Code contributions
We accept code contributions through pull requests. In short, this is how that works.
Fork the repository and clone the fork.
Create a virtual environment using your tool of choice (e.g.
virtualenv
,conda
, etc).Install development dependencies:
$ pip install -r requirements-dev.txt
Make sure all tests pass:
$ invoke test
Start making your changes to the main branch (or branch off of it).
Make sure all tests still pass:
$ invoke test
Add yourself Contributors section to
AUTHORS.md
.Commit your changes and push your branch to GitHub.
Create a pull request through the GitHub website.
During development, use pyinvoke tasks on the command line to ease recurring operations:
invoke clean
: Clean all generated artifacts.invoke check
: Run various code and documentation style checks.invoke docs
: Generate documentation.invoke test
: Run all tests and checks in one swift command.invoke
: Show available tasks.
We highly recommend you have Black installed in your favourite editor/IDE. For setting up Black in your editor, please refer to their documentation Editor integration.
Bug reports
When reporting a bug please include:
Operating system name and version.
Any details about your local setup that might be helpful in troubleshooting.
Detailed steps to reproduce the bug.
Feature requests and feedback
The best way to send feedback is to file an issue on Github. If you are proposing a feature:
Explain in detail how it would work.
Keep the scope as narrow as possible, to make it easier to implement.