When contributing with fixes and new features, please start forking/branching from the beta branch to work on the latest code and reduce merging issues.
Contributed PRs are required to include valid test coverage (95% minimum, 100% whenever possible) in order to be merged.
Thanks a lot for your support.
First step is installing all the required dependencies with:
$ pip install -r requirements_dev.txt
The project provides automated tests and coverage checks with tox; just run:
$ tox
Alternatively, you can run pytest to run tests and coverage:
$ python -m pytest .
# if you want to retrieve uncovered lines too:
$ python -m pytest --cov-report term-missing .
In addition to pytest, you need to ensure that all staged files are up to standard.
Install pre-commit and its git hook script so that the quality assurance tests will run on all staged files before they are committed:
$ pip install pre-commit
$ pre-commit install
To manually run the quality assurance tests on all tracked files:
$ pre-commit run -a
The project provides a Sphinx documentation source under ./docs/source
,
published online on readthedocs.io.
Great documentation is absolutely key in any a project. If you are not familiar with reStructuredText for Sphinx you can read a primer here.