Guidelines¶
All contributions to this repository are welcome via pull request on the github repository.
The project follows the following guidelines:
Use the base Python library unless completely necessary. A few external libraries (such as numpy) have been included in requirements.txt – feel free to use these as needed.
Try as best as possible to follow PEP8 which includes using descriptive variable names.
Code Format: Use the Black formatter to format all code and the isort utility to sort import statements. You can run black on all code with:
$ python -m black -l 80 .
Commits: Please try to use commit messages that give a meaningful history for anyone using git’s log features. Try to use messages that complete sentence, “This commit will…” There is some excellent guidance on the subject from Chris Beams
Testing: the project uses the unittest library and has a nice testing suite that makes some things easy to write tests for. Please try to increase the test coverage on pull requests.
Merging pull-requests: We require two of the (currently three) core-team maintainers to merge. Opening a PR for early feedback or to check test coverage is OK, just indicate that the PR is not ready to merge (and update when it is).
By submitting a pull request, you are agreeing that your work may be distributed under the terms of the project’s licence and you will become one of the project’s joint copyright holders.