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 run, test, and setup-py goals support passing arguments via --, e.g. ./pants test -- -vv -k test_demo.
  • Python linters can now run on both Python 2 and Python 3 targets in the same run. See lint.
  • Added support for Pylint source plugins. See Linters and formatters.
  • Added the filter goal. See Project introspection.
  • Code generators will now automatically add the generator's runtime dependencies. See Protobuf.
  • Resolving requirements should be a bit faster thanks to better caching.
  • Improved the Pants daemon (pantsd). It should now be safe to turn on with the option enable_pantsd = true in the [GLOBAL] scope. Pantsd substantially improves Pants performance and caching.
  • Removed deprecated source field in BUILD files in favor of sources.
  • Removed several deprecated V1 backends and plugins.

See here for a detailed change log.

Updated 10 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.