Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Pants is an Apache2 licensed build tool written in Python and Rust.

The latest documentation can be found at pantsbuild.org.

2.10.x Release Series

2.10.0rc0 (Feb 07, 2022)

New Features

  • Add --fmt-only, --check-only, and --lint-only (#14356)

  • Add support for building PyOxidizer apps (#14183)

  • Adds run support for deploy_jar targets (#14352)

  • New [docker].executable_search_paths option. (#14360)

  • Support Go 1.18 fuzz test targets (#14357)

  • Validate Python user lockfiles & improve tool lockfile error message (#14353)

  • Allow using Yapf with update-build-files rather than Black (#14378)

  • Graduate Thrift Python support to be stable with pants.backend.codegen.thrift.apache.python (#14389)

User API Changes

  • Graduate Docker backend from experimental status. (#14310)

  • Graduate the Dockerfile linter Hadolint from experimental status. (#14311)

  • Merge validate goal with lint goal (#14102)

  • Rename Python resolve options and fields to not say "experimental" (#14326)

  • Add Thrift, Protobuf, Java, and Scala folders to default for [source].root_patterns (#14363)

  • Rename the download-pex-bin scope to pex-cli. (#14344)

  • Upgrade default Black version to 22.1.0 (#14324)

  • Upgrade default Pytest version to 7 (#14380)

Plugin API Changes

  • Rename LintRequest to LintTargetsRequest (#14312)

  • New (optional) API for MyPy-friendly options registration (#14331)

  • Remove PexFromTargetsRequest.additional_requirements (#14350)

  • ReplImplementation now passes root targets, not transitive closure (#14323)

  • LintRequest, FmtRequest, and CheckRequest must set name: ClassVar[str] (#14304)

Bug fixes

  • Warn when [python-protobuf].runtime_dependencies needs to use new target generator syntax (#14391)

  • Fix native cycle detection error message. (#14381)

  • Fix import parsing regression (#14349)

  • Include link dest in symlink error. (#14384)

Performance

  • Lazy load help info (#14305)

Documentation

  • Standardize how we reference formatters, linters, and checkers in goal summary (#14355)

  • Don't enumerate deprecated scopes in help. (#14345)

  • Don't render skipped tools in final summary with fmt, lint, check, and test (#14303)

2.10.0.dev3 (Jan 28, 2022)

New Features

  • Support multiple disjoint Python resolves via [python].experimental_resolves (#14299)

  • Optionally render the --dynamic-ui with Prodash (#14221)

  • Add context_root field to docker_image and default_context_root option to [docker] scope. (#14165)

User API Changes

  • Deprecate generate-user-lockfile and [python].experimental_lockfile in favor of [python].experimental_resolves (#14288)

  • Bump versions & regenerate lockfiles for several Python tools, including Twine, PyUpgrade, and MyPy Protobuf (#14277)

  • Upgrade Pex to 2.1.65. (#14256)

Plugin API Changes

  • Remove PexFromTargetsRequest(direct_deps_only: bool) (#14291)

  • Rename GenerateToolLockfileSentinel.options_scope to resolve_name (#14231)

  • Rename PythonModule to PythonModuleOwnersRequest (#14276)

Bug fixes

  • Fix plugin resolution running twice. (#14294)

  • Fix Pylint to consider transitive third-party dependencies (#14289)

  • Fix bad default module mapping for PyMongo (#14284)

  • go: filter out vendor directories in tailor (#14259)

  • Fix packaged file names for pex_binaries target generator (#14269)

  • Cap number of UI bars to terminal height (#14228)

  • Fix executability of materialized files for non-owners. (#14298)

Performance

  • Dynamically choose per-process concurrency for supported processes (#14184)

Documentation

  • Add some missing backends to generated docs (#14290)

2.10.0.dev2 (Jan 22, 2022)

New Features

  • JVM lockfile invalidation headers and verification (#14185)

  • Add new api-types help goal (#14081)

  • Add line numbers to --unowned-dependency-behavior errors (#14169)

  • Add Flake8 first-party plugin support (#14027)

  • add runtime dependencies field for Apache Thrift for Python (#14158)

  • Add #pants: no-infer-dep pragma for ignoring imports (#14059 and #14225)

  • Add local .pants.rc support (#14142)

  • thrift: add scrooge java backend (#14043)

  • add Avro codegen support for Java (#13990)

User API Changes

  • add timeout for remote cache lookups (#14224)

  • Replace coursier-resolve goal with generate-lockfiles (#14211)

  • Replace jvm-generate-lockfiles goal with generate-lockfiles (#14176)

  • Deprecate sourcefile-validation in favor of regex-lint (#14173)

  • Deprecate python_requirements and poetry_requirements using old macro in favor of target generation (#14075)

  • Add try/except parsing to import_parser to avoid failing strict checks for optional imports (#14216)

  • Don't error on string imports with [python-infer].unowned_dependency_behavior (#14179)

Plugin API Changes

  • Remove per-language indirection for formatter plugins. (#14166)

Bug fixes

  • Fix complex __import__ statements failing to parse with Python 2.7 - 3.7 (#14232)

  • LockfileMetadata - Replace flaky _header_dict() mechanism with more robust header_attrs mechanism (#14229)

  • More accurate reported runtime when pantsd is in use. (#14177)

  • Fix Pylint to run on transitive dependencies to avoid underreporting issues (#13918)

  • [Docker] Fix bug when a putative target address did not exist. (#14125)

  • Fix immutable inputs DCL bug. (#14016)

Performance

  • Batching of lint and fmt invokes (#14186)

Documentation

  • [Doc] Include backend source for goals, subsystems and targets in generated docsite. (#14126)

2.10.0.dev1 (Jan 07, 2022)

New Features

  • JVM Resources support (#13908)

  • Expose Docker build context hash for image tag interpolation. (#13959)

  • Add Thrift IDL codegen using Apache Thrift for Python and Java and Scrooge for Scala (#13987)

  • Add new image_labels field to docker_image. (#13973)

User API Changes

  • Deprecate [validate].detail_level in favor of [sourcefile-validation].detail_level (#14103)

  • Upgrade Hadolint (dockerfile linter) to from 2.6.0 to 2.8.0 (#14110)

  • Change third party module mapping to consider resolves (#14034)

Plugin API Changes

  • Fix @rule effect validation for not cacheable types. (#14069)

  • Allow plugins to use range requirements by applying constraints to plugin resolution (#14058)

Bug fixes

  • Reduce output from scalafmt, and lower reflective access option threshold for Google Java Format. (#14109)

  • Hook up Scalafmt and Google Java Format to ./pants lint (#14108)

  • Fix validate goal crashing if not configured (#14104)

  • Fix dropped output race during UI teardown (#14093)

  • Fix incorrectly setting name on python_requirements macro (#14065)

  • [jvm] Use appropriate coordinate serialization for Coursier CLI inputs. (#14038)

  • Fix .pyi type stubs to show up in python_distribution (#14033)

  • Fix file sources codegen for the Docker build context. (#14024)

  • [jvm] Parse maven coordinates using regular expression (#14010)

  • [jvm] Fix use of multiple scalac plugins when one plugin has multiple classpath entries (#14012)

Documentation

  • Include provider info in help output for subsystems and target types. (#13993)

  • Fix help strings which were accidentally tuples, and add a validation. (#14057)

2.10.0.dev0 (Dec 27, 2021)

New Features

  • Add duration and cache source to test output. (#13889)

  • Add pex_binaries target generator (#13910)

  • Support Docker build target stage (#13956)

  • Add ssh field to docker_image. (#13957)

  • Docker FROM target dep inference (#13921)

  • Docker context troubleshooter (#13896)

  • java: add protobuf code generation support using protoc (#13989)

  • Support test --debug with scalatest and junit. (#13966)

User API Changes

  • Update shellcheck default version to v0.8.0 (#13983)

  • Upgrade to Pex 2.1.61 and use --venv copies. (#13979)

  • Remove deprecated [python-setup] in favor of [python] (#14004)

  • Remove deprecated typecheck goal as alias for check (#13929)

  • Remove deprecated pants_requirement in favor of pants_requirements (#13927)

  • Remove deprecated --process-execution-local-cleanup and --process-execution-local-cache in favor of --process-cleanup and --local-cache (#13928)

Plugin API Changes

  • Add OptionalSingleSourceField (#13982)

  • Remove deprecated RuleRunner methods create_file(s) and add_to_build_file. (#13954)

  • Revert "Turn off validation for unset SourcesField if required=False" (#13856) (#13944)

Bug fixes

  • [jvm] Fix parsing of Coursier report coordinates when packaging is reported. (#13996)

  • Restore the pants namespace package. (#13972)

  • Fix --log-levels-by-target not working for logs from Python code (#13939)

  • Fix tailor not setting the name field (#13913)

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pantsbuild.pants-2.10.0rc0-cp39-cp39-macosx_11_0_arm64.whl (8.0 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

pantsbuild.pants-2.10.0rc0-cp39-cp39-macosx_10_15_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

pantsbuild.pants-2.10.0rc0-cp38-cp38-macosx_10_15_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.8macOS 10.15+ x86-64

pantsbuild.pants-2.10.0rc0-cp37-cp37m-macosx_10_15_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.7mmacOS 10.15+ x86-64

File details

Details for the file pantsbuild.pants-2.10.0rc0-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

  • Download URL: pantsbuild.pants-2.10.0rc0-cp39-cp39-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 45.7 MB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for pantsbuild.pants-2.10.0rc0-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4b408ed21c83360eb78393da58e635bd7c523a79f35399dfe4e75a5cd7c9bbaf
MD5 6aa400671039342bef8f6bee8d106190
BLAKE2b-256 bad30cd174e7f245be0fd600b3f1020939a9b5370c0b519f6abee5dbc7c275ce

See more details on using hashes here.

File details

Details for the file pantsbuild.pants-2.10.0rc0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: pantsbuild.pants-2.10.0rc0-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 8.0 MB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for pantsbuild.pants-2.10.0rc0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5e58c3a638821cea54cbea2bc1caab15d1148c826dab39f3e4579c511a1b04c9
MD5 9b6e5218191f11fb3e7793cf5ef2eea0
BLAKE2b-256 f28656882b06041b96cfbf62fff3d79b86bd6e152001903f5ac9ec089379ea56

See more details on using hashes here.

File details

Details for the file pantsbuild.pants-2.10.0rc0-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: pantsbuild.pants-2.10.0rc0-cp39-cp39-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 8.3 MB
  • Tags: CPython 3.9, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for pantsbuild.pants-2.10.0rc0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 e6223ea506df6887a47714250794eef2f7fd333e83612b6517f0a482434ca1f1
MD5 55c28d51aea55a55685ac7f5566c6922
BLAKE2b-256 655e028775f5b6019a606ac5595fcb3baa3d301586d8a29020ad07feab97aeb6

See more details on using hashes here.

File details

Details for the file pantsbuild.pants-2.10.0rc0-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

  • Download URL: pantsbuild.pants-2.10.0rc0-cp38-cp38-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 45.7 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for pantsbuild.pants-2.10.0rc0-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 17e9cd48d2c71130062dc29d6e425bb14e8cfd5adc0f4f2e2ae0c1099470bca9
MD5 8c7bd662c5036251313fa508e31b3642
BLAKE2b-256 cbef47dc1530bcb9b95527a72777954cee6e13c2a2856c215c51a682c9a26049

See more details on using hashes here.

File details

Details for the file pantsbuild.pants-2.10.0rc0-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: pantsbuild.pants-2.10.0rc0-cp38-cp38-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 8.3 MB
  • Tags: CPython 3.8, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for pantsbuild.pants-2.10.0rc0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 aa418f279992c9e3faa8b6aa7a25a954fa2978ef6040af0720330a17cc7af292
MD5 e182d352d81afad2e2dcdcf402615524
BLAKE2b-256 ae7423a784abe7440604f0501b1195016bca99da409c832cc5c29842806c3c2e

See more details on using hashes here.

File details

Details for the file pantsbuild.pants-2.10.0rc0-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: pantsbuild.pants-2.10.0rc0-cp37-cp37m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 45.7 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for pantsbuild.pants-2.10.0rc0-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 df826c4e0e99a7ef359cddbff9b2f99a15551b63332e299e8968790fe12aebb8
MD5 240ad7d1754b2231bb99b522c37c91c9
BLAKE2b-256 da46b70fdb822ae855ff6d2ace9af369bf32fa8dc58929070cc08ec265fe28a0

See more details on using hashes here.

File details

Details for the file pantsbuild.pants-2.10.0rc0-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: pantsbuild.pants-2.10.0rc0-cp37-cp37m-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 8.3 MB
  • Tags: CPython 3.7m, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for pantsbuild.pants-2.10.0rc0-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 d3a0f9e771f0b78be2643b26f917c838b92c5d2fee195fa27546befc4e4f1644
MD5 05e77199c478c1307541f3b845205720
BLAKE2b-256 ee4bbb7f68486c894d4471a8ea4153b45d22be6daeb5059c287c6dada1e4c816

See more details on using hashes here.

Release history Release notifications | RSS feed

2.17.1

10 files

2.17.0

10 files

2.16.1

10 files

2.16.0

10 files

2.15.2

7 files

2.15.1

7 files

2.15.0

7 files

2.14.2

7 files

2.14.1

7 files

2.14.0

10 files

2.13.1

10 files

2.13.0

10 files

2.12.1

10 files

2.12.0

7 files

2.11.1

7 files

2.11.0

7 files

2.10.1

7 files

2.10.0

7 files

This release

2.10.0rc0 This release

7 files

2.9.2

7 files

2.9.1

7 files

2.9.0

7 files

2.8.1

7 files

2.8.0

7 files

2.7.2

7 files

2.7.1

7 files

2.7.0

7 files

2.6.1

7 files

2.6.0

7 files

2.5.2

7 files

2.5.1

7 files

2.5.0

7 files

2.4.2

4 files

2.4.1

4 files

2.4.0

4 files

2.3.3

4 files

2.3.2

4 files

2.3.1

4 files

2.3.0

4 files

2.2.4

4 files

2.2.3

4 files

2.2.2

4 files

2.2.1

4 files

2.2.0

4 files

2.1.2

6 files

2.1.1

6 files

2.1.0

6 files

2.0.2

6 files

2.0.1

6 files

2.0.0

6 files

1.30.4

6 files

1.30.3

6 files

1.30.2

6 files

1.30.1

6 files

1.30.0

6 files

1.29.0

6 files

1.28.0

2 files

1.27.0

2 files

1.26.0

2 files

1.25.0

2 files

1.24.0

2 files

1.23.0

2 files

1.22.0

2 files

1.21.0

2 files

1.20.0

2 files

1.19.0

2 files

1.18.0

2 files

1.17.0

6 files

1.16.0

6 files

1.15.0

6 files

1.14.0

2 files

1.13.0

2 files

1.12.0

2 files

1.11.0

2 files

1.10.0

2 files

1.9.0

2 files

1.8.0

2 files

1.7.0

3 files

1.6.0

3 files

1.5.0

3 files

1.4.0

3 files

1.3.0

1 file

1.2.1

1 file

1.2.0

1 file

1.1.0

1 file

1.0.1

1 file

1.0.0

1 file

0.0.82

1 file

0.0.81

1 file

0.0.80

1 file

0.0.79

1 file

0.0.78

0.0.77

1 file

0.0.76

1 file

0.0.75

1 file

0.0.74

1 file

0.0.73

1 file

0.0.72

1 file

0.0.71

1 file

0.0.70

1 file

0.0.69

1 file

0.0.68

1 file

0.0.67

1 file

0.0.66

1 file

0.0.65

1 file

0.0.64

1 file

0.0.63

1 file

0.0.62

1 file

0.0.61

1 file

0.0.60

1 file

0.0.59

1 file

0.0.58

1 file

0.0.57

1 file

0.0.56

1 file

0.0.55

1 file

0.0.54

1 file

0.0.53

1 file

0.0.52

1 file

0.0.51

1 file

0.0.50

1 file

0.0.49

1 file

0.0.48

1 file

0.0.47

1 file

0.0.46

1 file

0.0.45

1 file

0.0.44

1 file

0.0.43

1 file

0.0.42

1 file

0.0.41

1 file

0.0.40

1 file

0.0.39

1 file

0.0.38

1 file

0.0.37

1 file

0.0.36

1 file

0.0.35

1 file

0.0.34

1 file

0.0.33

1 file

0.0.32

1 file

0.0.31

1 file

0.0.30

1 file

0.0.29

1 file

0.0.28

1 file

0.0.27

1 file

0.0.26

1 file

0.0.25

1 file

0.0.24

1 file

0.0.23

1 file

0.0.22

1 file

0.0.21

1 file

0.0.20

1 file

0.0.18

1 file

0.0.17

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page