Coding Style Requirements for python projects
We are working with Python version 3.11. If a project needs or uses another version it must be specified in the README.md and it needs to be explained why the version is different from the specified version.
the source code is formatted according to black (black==23.9.1) (a python formatting tool). we use this tool in a specific version to reduce the reformatting noise in merge requests.
the imports are managed by isort (see configuration below)
the code is checked by flake8 and there should be no errors or warnings. by keeping the warnings and errors at zero, we get better information during the development of new features.
Note: reformatting changes should not be part of the merge request
each project needs a setup.cfg file with at least the following contents
[flake8] ignore = E203, E266, E501, W503, F403, F405 max-line-length = 160 max-complexity = 18 select = B,C,E,F,W,T4 exclude = .git disabled_tests experiments [isort] profile=black [tool:pytest] testpaths=tests/