Overview
The Python ecosystem has a great many tools for various features, and Pants installs, configures and invokes those tools for you, while taking care of orchestrating the workflow, caching results, running concurrently, and so on.
Pants currently supports the following goals and features for Python:
goal | underlying tools |
---|---|
dependency resolution | pip |
test running | pytest |
linting/formatting | black , flake8 , docformatter , isort , pylint , bandit , grep |
typechecking | Mypy |
code generation | protoc (including the gRPC and Mypy plugins) |
packaging | setuptools , pex , aws lambda |
running a REPL | python , iPython |
counting lines of code | scc |
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.