Development

Software

Please install the ClusterKinG package with the development packages from the latest master version on github:

git clone https://github.com/clusterking/clusterking
cd clusterking
pip3 install --editable --user ".[plotting,dev]"

This will enable you to run our unittests, build the documentation and more.

Git hooks

Please install our git pre-commit hooks:

pip3 install --user pre-commit
pre-commit install

Now, every time you commit to this package, a number of checks and cleanups are performed, among them

  • Code styling with black
  • Stripping output of jupyter notebooks with nbstripout

Git commit message

It’s recommended to use the following prefixes:

  • [Fix]: Fixing a bug
  • [Int]: Interface change
  • [Feat]: New feature
  • [Doc]: Everything regarding documentation
  • [CI]: Continuus Integration (unittests and more)
  • [Ref]: Code refactoring
  • [Clean]: Code cleanup (style improvement etc.)
  • [Deploy]: Everything that has to do with releases
  • [Dev]: Things that are only relevant to developers

this helps to get an overview over what’s happening, e.g. when compiling release notes.

Unittests

Whenever changing functionality, please run

pytest

to run all unittests.