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.12.x Release Series

2.12.0rc0 (May 13, 2022)

User API Changes

  • Upgrade default Protoc version to 3.20.1 (native Apple Silicon support) (Cherry-pick of #15424) (#15441)

  • Require that a target's interpreter_constraints are a subset of their dependencies' (Cherry-pick of #15373) (#15407)

Plugin API Changes

  • Move get_git deprecation to start in 2.14.0.dev0 (Cherry-pick of #15423) (#15437)

Bug fixes

  • Fix tags to work with filesystem arguments, overrides field, and python_tests (Cherry-pick of #15394) (#15412)

  • Support the {chroot} env placeholder for all interactive processes that are not executed in the workspace. (Cherry-pick of #15401) (#15405)

  • Fix [] in file names with target generators (Cherry-pick of #15383) (#15403)

  • Fix tailor detection of existing python_requirements targets (Cherry-pick of #15363) (#15372)

  • Add the "named args explanation" to other relevant parametrize error messages. (Cherry-pick of #15362) (#15370)

  • Use abspath to sandbox in PATH for docker tool shims. (Cherry-pick of #15341) (#15356)

  • Fix non-determinism of package_data in generated setup.py files (Cherry-pick of #15292) (#15299)

  • Fix a bug in the python venv export logic. (#15294) (#15297)

Performance

  • Eagerly skip tools with default lockfiles in export-lockfiles goal (Cherry-pick of #15304) (#15308)

Documentation

  • Improve error message for dependencies on incompatible Python resolves (Cherry-pick of #15416) (#15439)

  • Improve help and error message for [python-infer].unowned_dependency_behavior (Cherry-pick of #15334) (#15391)

  • Disallow ! patterns in build_ignore. (Cherry-pick of #15366) (#15368)

  • Improve error message for resolves x interpreter constraints issues (Cherry-pick of #15314) (#15364)

  • Fix error output of parametrize() (Cherry-pick of #15339) (#15348)

2.12.0a0 (Apr 29, 2022)

New Features

  • Support poetry wildcard requirements. (#15213)

  • Implement tailor goal for Helm charts (#15192)

User API Changes

  • Upgrade Pex to 2.1.84. (#15288)

Plugin API Changes

  • Allow for arbitrary suffixes when extracting (#15257)

  • Add lz4 support to archive extraction (#15245)

Bug fixes

  • Simplify BSP metadata merging, and handle the empty list. (#15283)

  • BSP resolve filtering observes computed default values of resolve fields (#15282)

  • Memoize equality for CoarsenedTarget(s) to avoid exponential runtime in check. (#15277)

  • Fix ambiguity of Scala package objects with class or object definitions (#15265)

  • Fix issue with Docker publish when using [docker] tools. (#15255)

  • Do not lowercase Docker image tags. (#15254)

  • Fix the placement of the pex verbosity args. (#15243)

  • Fix use of @ in path names. (#15226)

  • Fix lockfile generation for duplicate jvm_artifact targets with jar fields. (#15219)

  • golang: add more cache keys based on tool IDs (#15205)

  • Mention resolve when partitioning Mypy and Pylint (#15172)

Performance

  • MyPy and Pylint partition inputs via CoarsenedTarget (#15141)

Documentation

  • Fix ProtobufSourcesOverridesField help message (#15272)

  • Update help for python resolves with recent improvements (#15228)

  • Improve cache-related error message to be less confusing (#15202)

  • Show experimental-bsp goal in help (#15208)

2.12.0.dev3 (Apr 16, 2022)

New Features

  • Address specs for parametrized target templates expand to their created targets (#15126)

  • Implement publish goal for Helm charts (#15042)

  • add experimental kotlin backend to distribution (#15109)

  • Support pip-style VCS requirements. (#15097)

User API Changes

  • Upgrade Pex to 2.1.79. (#15125)

  • Ban terraform_module referring to subdirectories (#15106)

Plugin API Changes

  • Throw a DuplicateRuleError when there are conflicting rules in a module. (#15073)

  • Expose GitWorktree as an @rule (#15030)

Bug fixes

  • Fix Requires-Python for pantsbuild.pants wheel. (#15149)

  • Allow dashes in inferred asset strings (#15123)

  • Fix when the same python_requirement defines both type stub and implementation (#15121)

  • Fix missing field check in go protobuf rules (#15105)

Documentation

  • Last round of softwrapping help strings (#15142)

  • Softwrapping a few more files (#15138)

  • Softwrap python backend help strings (#15137)

2.12.0.dev2 (Apr 11, 2022)

New Features

  • Support for env var interpolation in config files. (#15087)

  • Support for finer control over which Docker images to push. (#15000)

  • Add a helpful hint to lint if a formatter fails (#15048)

  • Add support for Helm 3rd party dependencies (#14964)

User API Changes

  • Default [python].lockfile_generator to Pex (#15074)

  • Upgrade Pex to 2.1.78. (#15078)

  • terraform: remove terraform_modules generator target type (#15035)

  • Upgrade to Pex 2.1.77. (#15015)

  • Change JVM defaults to use Temurin JDK distribution (#15009)

Plugin API Changes

  • Remove deprecated register_options support. (#15090)

  • Remove deprecated target generator API affordances. (#15091)

  • Add @rule_helper decorator, which participates in awaitable collection (#15025)

Bug fixes

  • Enable codegen on relocated files (#15100)

  • Preserve tombstones for workunits which complete while they still have children (#15088)

  • Clean the export dir under dist/ before populating it. (#15068)

  • Do not use a repository-PEX if a PEX has platforms specified (#15031)

  • Fix default layout and use of PEX-repositories for legacy lockfiles (#15014)

  • Pin pytest 7.0.1 (#14997)

Documentation

  • files/dirs swapped in Snapshot's repr (#15101)

  • Tweak deprecation messages. (#15027)

  • Add some codegen and terraform backends to docs generator (#15036)

  • Text in angle brackets needs to be escaped for the docsite. (#15046)

  • Fix presented provider backend for rules/subsystems. (#14999)

2.12.0.dev1 (Apr 05, 2022)

New Features

  • Support restricting specific requirements to just wheels or just sdists. (#14985)

  • Add support for Helm unittest (#14849)

  • Add support for parsing address parameters to CLI specs parsing (#14949)

User API Changes

  • Merge list values across config files. (#14850)

  • Write test reports to a standard location under the distdir. (#14929)

  • Upgrade Pex to 2.1.76. (#14992)

  • Upgrade coursier to v2.1.0-M5-18-gfebf9838c (#14978)

Plugin API Changes

  • "Unify" fmt and lint rules for formatters (#14903)

  • Refactor prior_formatter_result and its usage (#14987)

  • Deprecate not implementing TargetGenerator in GenerateTargetsRequest implementors. (#14959)

Bug fixes

  • add go protobuf backend to init/BUILD (#14979)

  • Fix Pylint config check strings (#14946)

  • Fix missing check output by allowing disabled workunits to re-enable themselves (#14934)

  • Fix unrecognized field error and update-build-files to handle target generator moved fields (#14847)

Performance

  • Make PEX lockfile subsetting incremental (#14944)

Documentation

  • Don't warn if no relevant targets in glob or --changed. (#14904)

2.12.0.dev0 (Mar 25, 2022)

New Features

  • Add Protobuf formatting using buf format (#14907)

  • add registration for the Go Protobuf backend (#14874)

User API Changes

  • Remove --use-deprecated-python-macros in favor of always using target generators (#14842)

  • Add django-dotenv, django-safedelete and factory-boy to default Python module mapping (#14848)

  • Add cattrs to Python's DEFAULT_MODULE_MAPPING (#14845)

  • hcl parser 3.0.5 (#14878)

Plugin API Changes

  • FmtResult now operates on Snapshots (#14865)

Bug fixes

  • add cache key for all Go SDK invocations (#14897)

  • Unify glob-matching implementations to fix malformed snapshot created by subsetting (#14889)

  • Adds ClasspathEntryRequest classification for codegen target generators (#14893)

  • Adds jvm_jdk field to protobufs when the Scala backend is enabled (#14891)

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.12.0rc0-cp39-cp39-macosx_10_15_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

pantsbuild.pants-2.12.0rc0-cp38-cp38-macosx_10_15_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

pantsbuild.pants-2.12.0rc0-cp37-cp37m-macosx_10_15_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.7m macOS 10.15+ x86-64

File details

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

File metadata

File hashes

Hashes for pantsbuild.pants-2.12.0rc0-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e58dd2fc91b6aa1a043e60a036372ac2dcb1b26a62a89eb07e1edf0a0c12c947
MD5 86e513087e3f753a13e42115b93d7f0e
BLAKE2b-256 0f3cc66297ecfb04bf59694e0af3f101bb46f51fb0db1bc000b78653e5fdf4ff

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pantsbuild.pants-2.12.0rc0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 ca799e9cbdb04151a1f70a0c97c2920b322f51fd13e6b4506e3a025eb9d9eceb
MD5 e266889acfe32812d043f77b6adce8e4
BLAKE2b-256 84bc116efa5cef7af5283e930f136a98c41d9f83b5afa81430ad0b7aa9d672a3

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pantsbuild.pants-2.12.0rc0-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5be8016ad38d333b40e02c37edb3c32c5332d942f80169c277a5bbf00ab2ac92
MD5 88f0568f168c6f5fd6e4399091a438de
BLAKE2b-256 3dffb58a6e8da297eaabbc82802ef829c2116fbe2a17490f7f25e793ea0e7322

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pantsbuild.pants-2.12.0rc0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 3cf6c01059a7fdd2bdb90734b883dca156a5708d2336946607786a65002096ae
MD5 e1ca9657e791d3ac4d5a6b890bcfaee5
BLAKE2b-256 a61732d71ed26f9b63141dd82dad77adb9687965620da6eee0b1ac48afe2ff5a

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pantsbuild.pants-2.12.0rc0-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9c7cdffbfdb2ae6667e59aa878f8e3eb14cdfbed6f0dccf4d35c379e19f91512
MD5 5cc60d13a4884d21cd34674800067529
BLAKE2b-256 d9d7d31926044f3186ae8b9a1a8cfc50205e75c8ee27d8f4e4c9c2fd285473fe

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pantsbuild.pants-2.12.0rc0-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 a150b8b349fc46387faab2a84fec6f86552f6026e611836eb3fbad30a85404f9
MD5 7d12b7c7523c97905a7a804222bb5829
BLAKE2b-256 506f189a03f2d122fd17bd658f72fa052123ae1222fb495e1b0c79217818663e

See more details on using hashes here.

Provenance

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