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.
- 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 very 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.