Skip to content

How to contribute

Welcome! We are glad to have you visit our contributing guide!

If you find any bugs or have suggestions for improvements, please open an issue and optionally a pull request (PR). In the case of a PR, we would appreciate it if you preface it with an issue outlining your goal and means of achieving it.

git

We are using git submodules to import the KPOps examples repository. You need to fetch the repository locally on your machine. To do so use this command:

git submodule init
git submodule update --recursive

This will fetch the resources under the examples folder.

Style

We advise that you stick to our pre-commit hooks for code linting, formatting, and auto-generation of documentation. After you install them using poetry run pre-commit install they're triggered automatically during git commit. Additionally, you can manually invoke them with poetry run pre-commit run -a. In order for dprint to work, you have to manually install it locally. It will work in the CI, so it is also possible to manually carry out formatting changes flagged by dprint in the CI and skip installing it locally.

Python

To ensure a consistent Python code style, we use Ruff for both linting and formatting. The official docs contain a guide on editor integration.

Our configuration can be found in KPOps' top-level pyproject.toml.

Markdown

To ensure a consistent markdown style, we use dprint's Markdown code formatter. Our configuration can be found here.

CSS

To ensure a consistent CSS style, we use the malva dprint's plugin. Our configuration can be found here.

TOML

To ensure a consistent TOML style, we use dprint's TOML code formatter. Our configuration can be found here.