Skip to content

How to contribute

Poetry

We are using Poetry to manage the dependencies, for deployment, and the virtual environment. If you have not used it before please check out the documentation to get started.

If you want to start working on the project. The first thing you have to do is:

poetry install
This installs all needed dependencies for development.

Pre-commit hooks

We are using pre-commit to ensure a consistent code style and to avoid common mistakes. Please install the pre-commit and install the hook with:

pre-commit install --hook-type commit-msg

Homebrew

We are using Homebrew to manage the dependencies for the development environment. Please install Homebrew and run

 brew bundle
to install the dependencies. If you don't want/can't use Homebrew, you can also install the dependencies manually.

Conventional Commits

We are using Conventional Commits to ensure a consistent commit message style. Please use the following commit message format:

<type>[optional scope]: <description>

E.g.:

feat: add a new fantastic feature 🚀

How to contribute

The following steps will give a short guide on how to contribute to this project:

  • Create a personal fork of the project on GitHub.
  • Clone the fork on your local machine. Your remote repo on GitHub is called origin.
  • Add the original repository as a remote called upstream.
  • If you created your fork a while ago be sure to pull upstream changes into your local repository.
  • Create a new branch to work on! Start from develop if it exists, else from main.
  • Implement/fix your feature, comment your code, and add some examples.
  • Follow the code style of the project, including indentation. Black, isort, Pylint, and mypy can help you with it.
  • Run all tests.
  • Write or adapt tests as needed.
  • Add or change the documentation as needed. Please follow the "Google Python Style Guide".
  • Squash your commits into a single commit with git's interactive rebase. Create a new branch if necessary.
  • Push your branch to your fork on GitHub, the remote origin.
  • From your fork open a pull request in the correct branch. Target the project's develop branch!
  • Once the pull request is approved and merged you can pull the changes from upstream to your local repo and delete your extra branch(es).