Pants v2: The ergonomic build system

Welcome to the Pants v2 documentation hub!

Pants v2 is a fast, scalable, user-friendly 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

Some highlights:

  • The v1 engine is being removed in order to focus on providing excellent support for v2 language backends: for now, this means Python.
  • Dependencies can now be automatically inferred (with manual corrections where necessary), avoiding significant BUILD file boilerplate.
  • Pants is now more file-centric and less target-centric. Targets exist to apply metadata to files, but the unit of operation in most cases is a file. In particular, dependency inference happens at the file level.
  • The dynamic UI now outputs results for test, lint, and fmt as soon as it has them, rather than waiting for everything to finish.
  • Added MyPy support. See typecheck.
  • Added Python Coverage support. See test.
  • help now outputs the current value and the derivation of that value. This replaces the options goal.
  • Added gRPC and MyPy Protobuf support. See Protobuf.

See here for a detailed change log.

See How to upgrade for a guide on upgrading from Pants 1.x to 2.0.

Updated 7 months ago


Suggested Edits are limited on API Reference Pages

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