Thank you for your interest in improving this project. This page is for developers wishing to contribute to this project.
Here is a list of important resources for contributors:
Report bugs in the Issue Tracker.
When filing an issue, make sure to answer these questions:
- Which operating system and Python version are you using?
- Which version of this project are you using?
- What did you do?
- What did you expect to see?
- What did you see instead?
The best way to get your bug fixed is to provide a test case, and/or steps to reproduce the issue.
Request features on the Issue Tracker.
You need Python 3.9+ and the following tools:
Install the package with development requirements:
# install package with development requirements
$ poetry install
# setup pre-commit hooks
$ nox --session=pre-commit -- install
Note that most python IDEs has support for poetry as the intepreter.
To run linting and code formatting checks before committing your change, you can install pre-commit as a Git hook by running the following command:
$ nox --session=pre-commit -- install
Run the full test suite:
$ pytest
Unit tests are located in the tests directory, and are written using the pytest testing framework.
Open a pull request to submit changes to this project.
Your pull request needs to meet the following guidelines for acceptance:
- The tests must pass without errors and warnings.
- Include unit tests.
- If your changes add functionality, update the documentation accordingly.
To add a new library, run:
poetry add <library>
poetry update
Changes are made to the pyproject.toml file.
To do a release:
- Create a new branch, ie
release-v-1-0-6
- Run
poetry version <version>
(replacing<version>
with the actual new version) - Push change and create pull request
- Merge pull request - release and pypi deployment will be performed automatically