Contributing

Patches are more than welcome! You can find the issue tracker on GitHub and we’d love pull requests.

Style

Patches should follow PEP8 and should not introduce any new violations as detected by the ruff tool.

To help stay on top of this, install pre-commit, and then run pre-commit install-hooks. Now you’ll be set up to auto-format your code according to our style and check for errors for every commit.

Tests

Patches fixing bugs should include regression tests (ideally tests that fail without the rest of the patch). Patches adding new features should test those features thoroughly.

To run the tests, install the requirements (probably into a virtualenv):

pip install -e .
pip install -e ".[tests]"

Then just pytest to run the tests:

pytest