Developer notes

Contribution Guidelines

Commit messages

  • To automatically generate the changelog and releases we use conventional commits use the prefix feat for new features, chore for updating grunt tasks etc; no production code change, fix for bug fixes and docs for changes to the documentation. Use feat!:, or fix!:, refactor!:, etc., to represent a breaking change (indicated by the !). This will result in bump of the SemVer major version number.

Python code

Please install the pre-commit hooks using

to automatically

  • format the code with black

  • sort the imports with isort

  • lint the code with pylint

We use type hints, which we feel is a good way of documentation and helps us find bugs using mypy.

Some of the pre-commit hooks modify the files, e.g., they trim whitespaces or format the code. If they modify your file, you will have to run git add and git commit again. To skip the pre-commit checks (not recommended) you can use git commit --no-verify.

New features

Please make a new branch for the development of new features. Rebase on the upstream master and include a test for your new feature. (The CI checks for a drop in code coverage.)