diff --git a/python/README.md b/python/README.md index eaa41b59..791e4fe8 100644 --- a/python/README.md +++ b/python/README.md @@ -12,12 +12,31 @@ The policy in this project is to support the Python 3 interpreter that comes standard with the current stable, as well as previous stable release of Debian. At the time of writing they are: -- Python 3.9.2 in [Debian Bullseye](https://packages.debian.org/bullseye/python3) -- Python 3.7.3 in [Debian Buster](https://packages.debian.org/buster/python3) +- Python 3.11 in [Debian Bookworm](https://packages.debian.org/bookworm/python3) +- Python 3.9 in [Debian Bullseye](https://packages.debian.org/bullseye/python3) -## Static analysis with pylint +## Static analysis and formatting -It is recommended to run pylint against new code to protect against bugs +The CI workflow is set up to check code formatting with `black`, +and linting with `flake8`. If non-conformant code is found, the CI job +will fail. + +Before checking in new code, install the development packages and run +these two tools locally. + +``` +pip install -r web/requirements-dev.txt +``` + +Note that `black` only works correctly if you run it in the root of the +`python/` dir: + +``` +cd python +black . +``` + +Optionally: It is recommended to run pylint against new code to protect against bugs and keep the code readable and maintainable. The local pylint configuration lives in .pylintrc. In order for pylint to recognize venv libraries, the pylint-venv package is required. diff --git a/python/pyproject.toml b/python/pyproject.toml index aea91ba3..0ede3f46 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -1,4 +1,4 @@ [tool.black] line-length = 100 -target-version = ['py37', 'py38', 'py39'] +target-version = ['py39', 'py310', 'py311'] extend-exclude = ".*_pb2.py"