Development Standards

We aim for the following development standards:

Cyclomatic Complexity

Coding Style


We do accept “black” formatting.

  • Code shall confirm to the PEP8 Style Guide.
  • Doc Strings shall confirm to the PEP257 Convention.


Arguments, Keyword Arguments, Return and Exceptions must be documented with the appropriate Sphinx Python Domain.

Revision History

  • Commits shall be small tangible pieces of work. - Each commit must be concise and manageable. - Large changes are to be done over smaller commits.
  • There shall be no commit squashing.
  • Rebase your changes as often as you can.

Unit Tests

  • Every new feature and bug fix must be accompanied with a unit test. (The only exception to this are minor trivial changes).