Integrations¶
We leverage all the existing flake8
infrastructure.
There are different integrations for your workflow.
Hooks¶
- pytest-flake8 to run style checks alongside with tests
- pre-commit to run
flake8
before all commits locally
Editors¶
Extras¶
There are some tools that are out of scope of this linter, however they are super cool. And should definitely be used!
Things we highly recommend to improve your code quality:
- mypy runs type checks on your python code. Finds tons of issues. Makes your code better, improves you as a programmer. You must use, and tell your friends to use it too
- layer-linter allows you to define application layers and ensure you do not break that contract. Absolutely must have
- xenon and radon allow you to automate some code metrics check
- cohesion tool to measure code cohesion, works for most of the times. We recommend to use it as a reporting tool
- vulture allows you to find unused code. Has some drawbacks, since there is too many magic in python code. But, it is still very useful tool for the refactoring
Stubs¶
If you are using stub .pyi
files
and flake8-pyi extensions
you might need to ignore several violations that are bundled with this linter.
You can still do it on per-file bases as usual.
Use *.pyi
glob to list ignored violations:
per-file-ignores =
*.pyi Z444, Z452
You can look at the returns project as an example.