# Contribution guidelines ## Code style We defined to use the following formats: - Whitespace Formatting by [Black](https://github.com/psf/black) - Docstrings Style see the examples provided by [sphinx napoleon](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html) Types in the docstrings are optional but should be consistent per module. - Import Order by [isort](https://pycqa.github.io/isort/) - Strict Typing of function headers see the examples provided by the [mypy](https://mypy.readthedocs.io/en/stable/cheat_sheet_py3.html) documentation. ## Language We decided to use english on everything close to code but will write longer texts that are not close to the code in german. ## Pre-Commit installation - clone the project - install the following python package: - `pre-commit` - execute the command `pre-commit install` to insert the git githook into your local repository. - for more information read [Python Pre-Commit](https://pre-commit.com/) - the following code format rules are so enforced: - Whitespace formatierung: - Python-[Black](https://github.com/psf/black) - leading whitespace in all files - Auto format: yaml, toml, ini - Import norm by: - [isort](https://pycqa.github.io/isort/) - absolut module path - Validierung: - yaml, toml, json, xml - Secret detection - python normen ([pep8](https://peps.python.org/pep-0008/)) with [flake8](https://flake8.pycqa.org/en/latest/) - type checking with ([mypy](https://github.com/python/mypy))