Skip to content

Contributing¤

Contributions are welcome and very much appreciated!

Code contributions¤

We accept code contributions through pull requests. In short, this is how that works.

  1. Fork the repository and clone the fork.
  2. Create a virtual environment using your tool of choice (e.g. virtualenv, conda, etc).
  3. Install development dependencies:
pip install -e ".[dev]"
  1. Make sure all tests pass:
invoke test
  1. Start making your changes to the main branch (or branch off of it).
  2. Make sure all tests still pass:
invoke test
  1. Add yourself to the Contributors section of AUTHORS.md.
  2. Commit your changes and push your branch to GitHub.
  3. 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.

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¤

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.