Skip to content

How to contribute

Contributions are always welcome, this page gives a practical summary of the rules and development tools used for this library.

Rules

The following rules are enforced for all developers of this library:

  • Code has to be merged using a pull-request with atleast one review. Codebranch rules enforce this and will block any pushes to main.
  • Don't add or change dependencies in the pyproject.toml without discussing with the team leads. As dependencies in python are brittle and might break things further down the line.
  • It is fine to use copilot to generate summary in pull-request, but also add manually the why on some of the decisions made.
  • Discuss any refactors before opening a pull-request. Big non-discussed refactor pull requests will be closed immediately.

CI checks

We have the following checks:

  • All python tests should pass

  • All typecheck errors should be resolved

  • Code should be linted using Ruff

Developer commands

Our pixi config contains some developer convenience commands;

Running unit-tests

pixi run test

Running the linter

pixi run lint

Running the type-checker

pixi run typecheck