Skip to main content

The ergonomic and hermetic software build system for Python, Java, Scala, Go, and Shell. Pants lets you fearlessly scale up your codebase.

Project description

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

The latest documentation can be found at pantsbuild.org.

2.17.x Release Series

2.17.0.dev4 (Apr 23, 2023)

New Features

  • javascript: Manage npm version with corepack (#18748)

  • python_distribution editable installs in exports (#18639)

User API Changes

  • Default to using the entire tool lockfile. (#18793)

  • Upgrade Pex to 2.1.134. (#18785)

  • Use the resolve's ICs for tools. (#18776)

  • Use Self backport in BinaryPath factory method. (#18763)

  • Deprecate "Secondary Ownership" semantics (#18737)

  • Expand versions range for ruff + upgrade it (#18707)

Plugin API Changes

  • Allow BinaryPaths to close over their type. (#18760)

  • Set a central default ICs for tools. (#18714)

Bug Fixes

  • The OverridesField.compute_value() must return a hashable value. (#18787)

  • Dedup graph errors. (#18770)

  • Flush metadata to disk before renaming immutable store files (#18768)

  • Clear FSDB materialization cache when removeing a file (#18747)

  • Use address as stable key when batching field sets in lint/test (#18725)

  • Fix repr for Fields that don't define default. (#18719)

  • Add ruff lint rules (#18716)

  • javascript: Use binary shims in nodejs sandboxes (#18682)

Documentation

  • Improve error location for invalid targets/target fields. (#18366)

  • Add info on how to configure Docker Desktop for using docker_environment (#18786)

  • Update linter documentation to refer to install_from_resolve (#18781)

  • docs: Fix typo on requirements-overrides code snippet (#18750)

  • Edit Python publishing docs for clarity. (#18718)

2.17.0.dev3 (Apr 10, 2023)

New Features

  • Helm: Add support for DNS lookups in Chart templates (#18670)

  • Include global Git ignore file and .git/info/exclude in pants_ignore to ignore for file watching (#18649)

User API Changes

  • Remove deprecated default ICs. (#18627)

Plugin API Changes

  • Move/Rename: goals/setup_py.py -> {util_rules,goals}/package_dists.py + subsystems/setup_py_generation.py (#18702)

  • Deprecate some Request types in favor of Get() with only one arg (#18655)

  • Add support for Get(MyType) syntax with no input args (#18648)

Bug fixes

  • Adds a fully-qualified path to a Python interpreter for pex_binary RunRequests (#18699)

  • Remove implicit conversion from std::io::Error to StoreError (#18696)

  • Add timeout to remote store calls, and adjust name of cache timeout. (#18695)

  • Makes adhoc_tool actually respect the extra_env_vars field; adds tests (#18692)

  • doc: Describe relevant error modes during rule compilation (#18663)

  • Bump minimum supported version of Pex to v2.1.129. (#18678)

  • Fix JVM resource JAR creation on older Mac OSes (#18673)

  • javascript: Do not read none mapped package.json files in javascript rules (#18523)

Documentation

  • Add PEP 621 pyproject.toml file docs (#18672)

  • Document AWS CDK issue that multiple users have encountered. (#18656)

  • Error when goals used without relevant backends activated (#18420)

  • Improve lockfile consumption error message. (#18638)

  • Remove a python-specific tip from the general prereqs page. (#18637)

  • Make UUID message clearer (#18561)

2.17.0.dev2 (Mar 31, 2023)

New Features

  • javascript: Test goal with package manager installed test runner support (#18554)

  • expose PANTS_VERSION and make it string-comparable (#18573)

User API Changes

  • Upgrade Pex to 2.1.131. (#18626)

Bug fixes

  • Ensure that sandboxed processes exit before their sandboxes are cleaned up (#18632)

  • Plumb entire lockfile/internal only code through create_pex_from_targets (#18622)

  • narrow pex_binary files warning (#18619)

  • Fix PexPEX invocations (#18610)

  • Improve debug information for docker auth, and expose an environment variable. (#18599)

Performance

  • Only materialize immutable files once per process (#18600)

Documentation

  • Fix a string that should have been an f-string (#18608)

  • Fix ./pants -> pants in some docs and help strings. (#18596)

2.17.0.dev1 (Mar 24, 2023)

New Features

  • engine: add an option to clear the destination directory when writing digest to disk (#18534)

  • javascript: NodeJS bootstrapping via binary paths, PATH, asdf or nvm (#18520)

  • javascript: Initial NPM support (#18326)

  • Always provide Python-for-Pants-scripts (#18433)

User API Changes

  • Upgrade Pex to 2.1.130. (#18576)

  • Deprecate old-style custom tool lockfiles. (#18494)

  • Let a user resolve shadow a tool lockfile of the same name (#18481)

Bug fixes

  • Ensure that a symlinked exported venv exists and is valid. (#18575)

  • Fail fast for attempts to use test --debug with a docker environment (#18560)

  • Declare ruff outputs as files. (#18551)

  • Add support for Docker registry auth (#18541)

  • Fix Poetry req synthesis for URLs with markers. (#18535)

  • Re-enable hardlinking using fclonefileat on macOS. (#18501)

Performance

  • Materialize "large" files in a new store location and hardlink them in sandboxes (#18153)

  • Finish parallelizing materialization of Process inputs (#18469)

Documentation

  • First pass at adhoc_tool documentation (#18531)

  • Add Tobias Nilsson to team page (#18571)

  • docs: fix an f-string in help (#18539)

  • Clarify that experimental_ shell functions are deprecated and replaced (#18529)

  • Update docs on running pants from sources with scie-pants. (#18513)

  • Add ExoFlare to user list. (#18496)

  • Fix malformed pantsbuild/example-python link in documentation (#18484)

  • update scie-jump cache directory reference (#18485)

  • Expand lockfile documentation to its own page. (#18471)

2.17.0.dev0 (Mar 10, 2023)

New Features

  • Expose environment information on process metadata (#18458)

  • Support running pants from anywhere in the project. (#18412)

User API Changes

  • Audit and update requirements for Python tools. (#18431)

  • Upgrade Pex to 2.1.128. (#18453)

Bug fixes

  • Preserve environment variables in pantsd to allow Docker auth. (#18465)

  • Only expose the equiv of from typing import * in prelude files (#18452)

  • Support type hints in prelude files. (#18442)

  • Synthesized lockfile targets should never err on missing lockfiles. (#18406)

  • Fixes to visualisations for xdot (#18421)

Project details


Release history Release notifications | RSS feed

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

pantsbuild.pants-2.17.0.dev4-cp39-cp39-macosx_11_0_arm64.whl (12.1 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

pantsbuild.pants-2.17.0.dev4-cp39-cp39-macosx_10_15_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

pantsbuild.pants-2.17.0.dev4-cp38-cp38-macosx_10_15_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

pantsbuild.pants-2.17.0.dev4-cp37-cp37m-macosx_10_15_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.7m macOS 10.15+ x86-64

File details

Details for the file pantsbuild.pants-2.17.0.dev4-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pantsbuild.pants-2.17.0.dev4-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e86f5731f35e8d07131cd749ee30c3ed3abe9957286ed0e97697444a66dc820f
MD5 1e30239cb95b7b3e2cca4dc95afb0ec7
BLAKE2b-256 389f22e04326d150c83b5ffe27ae4c766e7a3d3c17297d2be36df7da70984d6d

See more details on using hashes here.

File details

Details for the file pantsbuild.pants-2.17.0.dev4-cp39-cp39-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pantsbuild.pants-2.17.0.dev4-cp39-cp39-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 385bcbf8df597a92c485ccbfe06c38fb390ba9ef3175572cd74f991eb08d1bde
MD5 db033e4f6074a1bf30fdccb83dbed8ab
BLAKE2b-256 bbf442f022fa7fbe5b9eecb56f67eba9ce475fd09ec2a42179a027fb75bb62e3

See more details on using hashes here.

File details

Details for the file pantsbuild.pants-2.17.0.dev4-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pantsbuild.pants-2.17.0.dev4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3cd8920d6ede615e0744d2190a574f07a8fe7d73d8c0cced3a47222ff290775f
MD5 3efd17bf2554ddbf0b63f7dbb4a4d2c0
BLAKE2b-256 f1dc984e1f7e3b5414d034315fbe4b74af34bb3af462cad8b6dacad45128328d

See more details on using hashes here.

File details

Details for the file pantsbuild.pants-2.17.0.dev4-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pantsbuild.pants-2.17.0.dev4-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 9eb47488f17ff505a210826756cdee7df055e61a6e3359c98a145db28c90c124
MD5 82a9045f200061d230832b80f8ac7e88
BLAKE2b-256 162c83273167aa93a1b26aa0b9e1cb367482b1b39877c0e5502c52b0d48c6ef4

See more details on using hashes here.

File details

Details for the file pantsbuild.pants-2.17.0.dev4-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pantsbuild.pants-2.17.0.dev4-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a778c26062938b683d09117188c60bf00ff32bd268e7529bc7b5c797515e29a4
MD5 2b677385212211456668552cf8e408b8
BLAKE2b-256 803219b106749489f36be6b4e4161e52e66c35a1b0c2cfcccbbb34755a726d5b

See more details on using hashes here.

File details

Details for the file pantsbuild.pants-2.17.0.dev4-cp38-cp38-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pantsbuild.pants-2.17.0.dev4-cp38-cp38-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0c9a437074d57ac59b2dde24f182e49aa399fcc58d6a485cd8714b1bc0521943
MD5 c835da593ce86456f9a216c4cad7111d
BLAKE2b-256 ffdafe6f20d90ed448931a992fd9428e33bb0c7e514af9d378379a6cbfbece27

See more details on using hashes here.

File details

Details for the file pantsbuild.pants-2.17.0.dev4-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pantsbuild.pants-2.17.0.dev4-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 22d82bca4ce4ebf08e62c9cbbe550c1acf97328bd0686c987377298437aa2f82
MD5 5c7421a5614fd9ef801c59bb95706da1
BLAKE2b-256 1beb9f879f5df242d5158466c1f39c690d20c184ebaccc3fd60552a0245fe8f0

See more details on using hashes here.

File details

Details for the file pantsbuild.pants-2.17.0.dev4-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pantsbuild.pants-2.17.0.dev4-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ffd80c9424510855a1a4408e3cd5ec93a104ff62fd1cabeb7f686fc61f716b78
MD5 481a406ae1eefadee3fe5ce9af10b331
BLAKE2b-256 4b29d4e6ac80d39842d80ed2a79befabf7ffce437b47f2ecf92f789364879ae4

See more details on using hashes here.

File details

Details for the file pantsbuild.pants-2.17.0.dev4-cp37-cp37m-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pantsbuild.pants-2.17.0.dev4-cp37-cp37m-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 db83a9a3ba9e16d2d2572c5b4063ff1c02c8ee3228b66904bac94477c51b49ab
MD5 3ca701dcca0a5137ff10326c8edf9773
BLAKE2b-256 f719e5cbe347c939cb3bcc0d47c85fb5c0ee731867d36e64f0a0f7c59b2486ed

See more details on using hashes here.

File details

Details for the file pantsbuild.pants-2.17.0.dev4-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pantsbuild.pants-2.17.0.dev4-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 22e399e0117b43ad22fb7250ed2e2a21fb477cba43731a3a7294abea630ff5ce
MD5 85fe83c180f32636df33dcd0b4791c8a
BLAKE2b-256 17acaeccb9f3899a2aa4048ab3aef10e2b7f731b598775219a0f6fa572903524

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page