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:

goal

underlying tools

dependency resolution

pip

test running

pytest

linting/formatting

black, yapf, flake8, docformatter, isort, pylint, bandit, autoflake, pyupgrade

typechecking

MyPy

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.


Did this page help you?