Hey! These docs are for version 2.14, which is no longer officially supported. Click here for the latest version, 2.17!

The `lint` goal runs both dedicated linters and any formatters in check-only mode:

  • Autoflake

  • Bandit

  • Black

  • Docformatter

  • Flake8

  • isort

  • Pylint

  • Pyupgrade

  • yapf

See [here](πŸ”—ο»Ώ) for how to opt in to specific formatters and linters, along with how to configure them.

Benefit of Pants: runs linters in parallel

Pants will run all activated linters at the same time for improved performance. As explained at [Python linters and formatters](πŸ”—ο»Ώ), Pants also uses some other techniques to improve concurrency, such as dynamically setting the `--jobs` option for linters that have it.

Benefit of Pants: lint Python 2-only and Python 3-only code at the same time

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.