Pants v2: Fast, consistent builds for Python and more

Welcome to the Pants v2 documentation hub!

Pants v2 is a fast, scalable build system for growing codebases. It's currently focused on Python, with support for other languages coming soon.

Here you'll find guides to help you get started with Pants v2, comprehensive documentation on how to configure, run and customize Pants v2, and information on how to get help from the Pants community.

Get Started

This release requires having a Python 3.7 or 3.8 interpreter to run Pants. Run curl -L -o ./pants https://raw.githubusercontent.com/pantsbuild/setup/2f079cbe4fc6a1d9d87decba51f19d7689aee69e/pants to update your ./pants script to choose the correct interpreter.

Some highlights:

  • NB: Unfortunately, the 2.2.x series currently contains a fairly rare crash that reports: "thread panicked while processing panic. aborting.". If you experience this issue, the Pants developers would love your help in capturing a trace! Please see #11364.
  • Added dependency inference for Python imports of Protobuf, along with Protobuf imports of Protobuf. See Protobuf and gRPC.
  • Pantsd will no longer restart when a run of Pants is killed (such as with Ctrl+C): instead, the serverside work will be canceled. This improves performance by keeping your builds warm for longer periods.
  • Pants uses PEX 2.1.24, which enables using the new PIP resolver by setting [python-setup] resolver_version: pip-2020-resolver. This is expected to be the only stable release of Pants that supports both resolvers without a deprecation, so give it a whirl soon!
  • The sources field is deprecated for pex_binary and python_awslambda targets to ease dependency inference, and improve consistency. See the change for more info!

See here for a detailed change log.

Updated about a month ago


2.2.x


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.