lint
Lint source code.
The lint
goal runs both dedicated linters and any formatters in check-only mode:
- Bandit
- Black
- Docformatter
- Flake8
- isort
- Pylint
- Yapf
See here for how to opt in to specific formatters and linters, along with how to configure them.
Pants will run all activated linters at the same time for improved performance. You can see this through Pants's dynamic UI.
Bandit, Flake8, and Pylint depend on which Python interpreter the tool is run with. Normally, if your project has some Python 2-only files and some Python 3-only files, you would not be able to run the linter in a single command because it would fail to parse your code.
Instead, Pants will do the right thing when you run ./pants lint ::
. Pants will group your targets based on their interpreter constraints, and run all the Python 2 targets together and all the Python 3 targets together.