Contributions are welcome and very much appreciated!
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 to the Contributors section of
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.
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.
When proposing a new feature please include:
- Explain in detail how it would work.
- Keep the scope as narrow as possible, to make it easier to implement.