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

The Python ecosystem has a great many tools for various features. Pants installs, configures, and invokes those tools for you, while taking care of orchestrating the workflow, caching results, and running concurrently.

Pants currently supports the following goals and features for Python:

goalunderlying tools
dependency resolution[`pip`](🔗)
test running[`pytest`](🔗)
linting/formatting[`black`](🔗), [`yapf`](🔗), [`flake8`](🔗), [`docformatter`](🔗), [`isort`](🔗), [`pylint`](🔗), [`bandit`](🔗), [`autoflake`](🔗), [`pyupgrade`](🔗)
code generation[Protobuf](🔗) (including the `gRPC` and `MyPy` plugins), [Thrift](🔗)
packaging[`setuptools`](🔗), [`pex`](🔗), [PyOxidizer](🔗), [AWS lambda](🔗), [Google Cloud Function](🔗)
running a REPL`python`, [`iPython`](🔗)

There are also [goals](🔗) for querying and understanding your dependency graph, and a robust [help system](🔗). We're adding support for additional tools and features all the time, and it's straightforward to [implement your own](🔗).

  • [Enabling Python support](🔗)

  • [Third-party dependencies](🔗)

  • [Interpreter compatibility](🔗)

  • [Linters and formatters](🔗)

  • [Pex files](🔗)

  • [Building distributions](🔗)