• EditorConfig maintain consistent coding styles for multiple developers.
  • Black the uncompromising code formatter.
  • isort (code: isort) sort imports alphabetically, and automatically separated into sections and by type.
  • flake8 check coding style (PEP8), programming errors and cyclomatic complexity.
  • pydocstyle static analysis tool for checking compliance with Python docstring conventions.
  • MyPy static type checker for Python.
  • Coverage measure code coverage of Python programs.
  • bandit security linter from PyCQA.
  • pre-commit framework for managing and maintaining pre-commit hooks.

NB Use Ruff to do - formatting - The Ruff formatter is an extremely fast Python code formatter designed as a drop-in replacement for Black, available as part of the ruff CLI via ruff format. - linting - The Ruff Linter is an extremely fast Python linter designed as a drop-in replacement for Flake8 (plus dozens of plugins), isort, pydocstyle, pyupgrade, autoflake, and more

See also: