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

2.15.0a0 (Oct 28, 2022)

New Features

  • Add support for batched pytest execution (#17385)

  • Add a batch_size parameter to the test subsystem. (#17361)

  • Replace skip placeholders with real SkipOptions in test subsystems. (#17360)

Plugin API Changes

  • Refactor optional typing in generic partitioning utils. (#17371)

  • Refactor plumbing for test goal to support batched tests. (#17134)

  • Rework partitioning types for more flexibility. (#17288)

Bug fixes

  • Ensure PATH to shims are absolute for the protobuf buf linter. (#17367)

  • Include process execution strategy in Process cache key (#17340)

  • Fix use of --shard with --debug/--debug-adapter in test. (#17321)

  • go: properly handle xtest packages when building (#17307)

  • Retry the streaming portion of downloads, as well as the setup. (#17298)

Performance

  • Implement cancellation of remote processes (#17341)

Documentation

  • Document Synthetic Targets API.(#17330)

  • Initial documentation for Environments (#17096)

  • Add 2.14 blog post link to changelog page. (#17381)

  • Document the existence of the init-pants action. (#17378)

  • Add a section about test to plugin API guide. (#17362)

  • Revise the error message associated with OOM-killed events (#17373)

  • Fix linebreak issues in the targets docs page. (#17364)

  • Fix a nit in the Getting Help docs. (#17295)

2.15.0.dev5 (Oct 19, 2022)

New Features

  • Synthesize targets for Python lockfiles (#17097)

  • Refactor shunit2 into a proper subsystem. (#17257)

  • Add lcov support (#17256)

  • New API to create synthetic targets. (#16998)

  • Support custom post renderers in Helm deployments (#17215)

  • Add a fix goal (#17202)

  • Add basic support for pyright typechecking (#17163)

User API Changes

  • Upgrade Pex to 2.1.111. (#17267)

  • Upgrade the Pants-provided coverage to version 6.5.X (#17254)

  • Upgrade default Flake8 version to 5.0 (#17226)

  • Add Snowflake connector to module mapping (#17165)

  • Always include relevant params in workunit descriptions, and include descriptions in traces by default (#17119)

Plugin API Changes

  • Rename SubPartition to Batch in partitioning types. (#17263)

  • Make fmt/lint result types less boilerplate-y (#17192)

  • Begin migration to explicitly scoped environments (#17155)

Bug fixes

  • Fix remote execution not working with remote caching and eager fetch mode (#17272)

  • Remote cache reads are resilient to remote execution writing to the cache (#17195)

  • Adjust ensure_remote_has_recursive to succeed if content only exists remotely (#17204)

  • Declaring Javascript, Prettier, and Pyright backends/plugins in BUILD (#17190)

  • Set PEX_ROOT for export post-processing command. (#17177)

  • Fix macros depending on macros from other files (#17183)

  • go/gofmt: filter out non-go files from file list (#17171)

  • Fix dep inference with empty lines in multiline imports. (#17284)

Documentation

  • Change fmt/lint/check docs with latest changes (#17133)

  • Add CI talk to resources (#17238)

2.15.0.dev4 (Oct 07, 2022)

New Features

  • Optionally export venvs via symlink into the pex_root. (#17130)

  • go: add cgo support for tailor (#17087)

User API Changes

  • Upgrade Pex to 2.1.108. (#17112)

Plugin API Changes

  • Switch LintRequest.name to .tool_subsystem (#17103)

  • Rename/Refactor style_request to better capture intent. (#17084)

Bug fixes

  • [internal] Move pyoxidized pants binary out of the main source tree (#16703)

Documentation

  • Generate help info about target_field_name to the docsite. (#17138)

  • Add Aiven to user list. (#17131)

  • Fix bsp-groups.toml example in documentation (#17125)

  • Update maintainer job description (#17022)

2.15.0.dev3 (Oct 03, 2022)

New Features

  • Add venv_site_packages_copies field to pex_binary (#17046)

  • Add golangci-lint to go backend (#16994)

  • go: add go-generate goal to run go generate on a package (#16909)

  • Support Java codegen for the OpenAPI backend (#16862)

  • go: render coverage reports as HTML (#16995)

  • Environment-aware subsystems (#16965)

  • Environment sensitive options (#16840)

  • Add retries to NetDownload intrinsic. (#16798)

  • go: add basic support for cgo (#16413)

  • Add support for add-trailing-comma tool (#16776)

User API Changes

  • Upgrade Pex to 2.1.107. (#17081)

  • Restore the deprecated filter goal indefinitely (#17027)

Plugin API Changes

  • Improve usability of the --engine-visualize-to option (#17080)

  • Change fmt plugin schema to allow for targetless formatters (#16980)

  • Renames SubsystemRule() to Subsystem.rules() (#16954)

  • Introduce new schema for lint plugins (#16735)

  • Environment, EnvironmentRequest, and CompleteEnvironment now include Vars in the name (#16851)

  • MockGet expects input_types kwarg, not input_type (#16839)

Bug fixes

  • Fix dirtying of uncacheable nodes (#17079)

  • Make interpreter path expansion cache-correct (#17051)

  • Add python 3.10 to acceptable GCF runtimes (#17028)

  • Don't cache VCS version outside the current pants session. (#17017)

  • Fix Pantsd not properly invalidating when CPPFLAGS and LDFLAGS change (#17009)

  • Add parametrize() support for __defaults__. (#16977)

  • go: prepend $GOROOT/bin to PATH for tests (#16993)

  • Fix for hang with redirected stdio. (#16970)

  • Fix invalid field error message for parametrized fields. (#16911)

  • Fix venv re-population race. (#16931)

  • wait for killed nailgun processes. (#16924)

  • remove override of register_plugin_field (#16919)

  • Only request source roots for PEP-517 deps that belong on the syspath (#16903)

  • Upgrade javaparser, and use a permissive language level to support parsing more code (#16896)

  • docker: upgrade bollard crate for bug fix (#16850)

  • Preserve stdio when a local process times out. (#16841)

Performance

  • Add an optional speculation delay when using a remote cache (#16922)

  • Only use remote cache when cache scope is Always or Successful (#16920)

Documentation

  • Fix Helm K8S parser help message (#17091)

  • Update pytest-xdist docs. (#17071)

  • Fix the [python-bootstrap].search_path option name in the docs. (#17063)

  • Add Doron Somech's proudest contribution (#17029)

  • improve remote cache logging for hit or miss (#16975)

  • Remove bad linebreaks from python-run-goal page. (#16976)

  • Update changelog on docsite with 2.13, 2.14 links (#16918)

  • Add Marcelo to team page, move Josh Reed to Maintainer (#16826)

  • Don't mention a specific version in the manual install instructions. (#16888)

2.15.0.dev2 (Sep 09, 2022)

New Features

  • Force colors from mypy always, strip in pants when --no-colors (#16586)

  • Add OpenAPI backend (#16199)

  • go: analyze imports paths by module to enable multiple go_mod targets (#16386)

Bug fixes

  • docker: capture output once after container exits (#16783)

  • docker: lazily initialize docker connection (#16779)

Documentation

  • Add IBM, Coinbase, and Astranis case studies (#16805)

  • Fix broken shortlinks that invoked "docs:" instead of "doc:" (#16804)

  • Add Brand24 to user list. (#16793)

2.15.0.dev1 (Sep 04, 2022)

New Features

  • go: support placing resource files in packages (and not just embedding) (#16688)

  • "naive" docker command runner (#16670)

  • Adds binary_name field to PyOxidizer support (#16696)

Plugin API Changes

  • The environment to use becomes a context-specific parameter (#16721)

  • Deprecate Platform.current in favor of requesting an injected Platform (#16765)

  • Allow @unions to declare additional types which are provided to implementers (#16717)

  • Deprecate remote_auth_plugin option - plugins can use entry points now. (#16691)

Bug fixes

  • Add support for inferring dependencies used in type context bounds (#16709)

  • Resolve properly provided symbol names for types defined at top level package (#16690)

  • Include type bound constraints in consumed symbols during Scala inference (#16692)

  • Make experimental_shell_command deterministic (#16675)

Documentation

  • List commercial Pants services that optionally supplement community's extensive free tier (#16706)

  • In python resource example, use importlib.resources to read assets (#16695)

  • Welcome community members to consider joining team (#16681)

2.15.0.dev0 (Aug 29, 2022)

New Features

  • Add support for string interpolation in Helm deployments (#16611)

  • Add --squash and --pull options support for docker build (#16607)

  • Support Pex's --path-mapping with lockfiles for better local requirement support (#16584)

  • [experimental] adds pants_oxidized_experimental target, creating a standalone binary distribution for Pants (#16484)

User API Changes

  • Remove deprecated [python].only_binary, [python].no_binary, and [python].tailor_ignore_solitary_init_files (#16638)

  • Remove deprecated [python].lockfile_generator and deprecate poetry subsystem (used previously for lockfile generation) (#16633)

  • Remove deprecated use_deprecated_directory_cli_args_semantics option (#16630)

Plugin API Changes

  • Add support for passing multiple input params to a @rule Get (#16668)

  • Remove deprecated matches_filespec and get_git functions (#16629)

  • Remove unnecessary type parameter from Get (#16634)

Bug fixes

  • Fix dirtying of uncacheable nodes (#17079)

  • Make FilespecMatcher case-sensitive (#16673)

  • Ensure the sandbox distdir exists when creating dists via PEP517. (#16647)

Performance

  • Implement a batched local lookup for missing fingerprints. (#16627)

  • Optimize CreateDigest implementation. (#16617)

Documentation

  • Create page of Pants team members and proudest contribs (#16676)

  • Fix example BSP groups file. (#16649)

  • Clarify wording for --skip options (#16622)

  • Fix ./pants help docs on command line specs (#16616)

  • Mention team meetings as a Contributor permission (#16543)

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.15.0a0-cp39-cp39-macosx_11_0_arm64.whl (10.0 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

pantsbuild.pants-2.15.0a0-cp39-cp39-macosx_10_16_x86_64.whl (10.4 MB view details)

Uploaded CPython 3.9 macOS 10.16+ x86-64

pantsbuild.pants-2.15.0a0-cp39-cp39-macosx_10_15_x86_64.whl (10.4 MB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

pantsbuild.pants-2.15.0a0-cp38-cp38-macosx_11_0_x86_64.whl (10.4 MB view details)

Uploaded CPython 3.8 macOS 11.0+ x86-64

pantsbuild.pants-2.15.0a0-cp38-cp38-macosx_10_15_x86_64.whl (10.4 MB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

pantsbuild.pants-2.15.0a0-cp37-cp37m-macosx_10_16_x86_64.whl (10.4 MB view details)

Uploaded CPython 3.7m macOS 10.16+ x86-64

pantsbuild.pants-2.15.0a0-cp37-cp37m-macosx_10_15_x86_64.whl (10.4 MB view details)

Uploaded CPython 3.7m macOS 10.15+ x86-64

File details

Details for the file pantsbuild.pants-2.15.0a0-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pantsbuild.pants-2.15.0a0-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 673226f0e4e29f83257ea95902e321889235f380753c5d77ac91e25d832e25c7
MD5 4c7e957a36eb5135a335f935c26a02d6
BLAKE2b-256 7e6d7ad62a4e59015bd33c15dc6896ea9e4cbaed8bc4ed9104e89bf20af80828

See more details on using hashes here.

Provenance

File details

Details for the file pantsbuild.pants-2.15.0a0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pantsbuild.pants-2.15.0a0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6530e8f3319c5ef9d5f5eb3ddf7880f7e716f6b22acee44720f9dd0c33266d9c
MD5 0404f128fe6c7516153b736ab12e7930
BLAKE2b-256 cb1824459a2edd79f1d7e7dccd93690799a33a4559c7c85a40af851e117cc17f

See more details on using hashes here.

Provenance

File details

Details for the file pantsbuild.pants-2.15.0a0-cp39-cp39-macosx_10_16_x86_64.whl.

File metadata

File hashes

Hashes for pantsbuild.pants-2.15.0a0-cp39-cp39-macosx_10_16_x86_64.whl
Algorithm Hash digest
SHA256 20085abfc78b597012603d957f8b8f1320b9244607dc23ea5a3385f644296d61
MD5 f7153aa08f3694150a3e27139f8715f5
BLAKE2b-256 712bb836867b4d4e0b30b74ed7a7150ac31c8d3c75e1ad4e38aafbaa13a8b94a

See more details on using hashes here.

Provenance

File details

Details for the file pantsbuild.pants-2.15.0a0-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pantsbuild.pants-2.15.0a0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 34f500a1da6f920026a9f7d97eafd3e5499332b79ec2ca990be8edf753840822
MD5 fb774e6851d749ac2f5c13270211ff4f
BLAKE2b-256 55e61030718450711f5126eab11bfd5ec954ba8c20cdec51257ac2872df9c743

See more details on using hashes here.

Provenance

File details

Details for the file pantsbuild.pants-2.15.0a0-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pantsbuild.pants-2.15.0a0-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 39b59fb841a900a9e8177a117f3f2b079c2f801f85c3092470cda760dc32405c
MD5 040a4d95d735696e70117d890023e318
BLAKE2b-256 fc7bc2cc0c585ebda8aca66d218d647b1ad5c1f2171674e008849116786c4e3d

See more details on using hashes here.

Provenance

File details

Details for the file pantsbuild.pants-2.15.0a0-cp38-cp38-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for pantsbuild.pants-2.15.0a0-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 04034b84f89dbd3645b0e757bd77b30a35355eab2b51a28e9d00262bf252a8c4
MD5 fc257e7cf991268425909f6a1d9d0da1
BLAKE2b-256 0f192918822d8586370be9f28310f7dd4dd369148cc2d762e71271b8ab5a3802

See more details on using hashes here.

Provenance

File details

Details for the file pantsbuild.pants-2.15.0a0-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pantsbuild.pants-2.15.0a0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 a32abefb49c35571238762ba8ed3bc814fd155741e758b5c48e84f08257955eb
MD5 81bcc60a70bb554bd3193fddd27eb4e7
BLAKE2b-256 f8815c955dc8c1fb8df4148113077488e26536e2d6d7268fd2d8cd799ab213eb

See more details on using hashes here.

Provenance

File details

Details for the file pantsbuild.pants-2.15.0a0-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pantsbuild.pants-2.15.0a0-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 480f238c6405445fddb784fa64f3ec4e09ea138608ebdaf5fde91881fee2f87c
MD5 77a622db07d331e1b4b036a574ee2b1e
BLAKE2b-256 2132e04695bcbec7cda00f41567c727672edcb06398d3ee920750c6455667d06

See more details on using hashes here.

Provenance

File details

Details for the file pantsbuild.pants-2.15.0a0-cp37-cp37m-macosx_10_16_x86_64.whl.

File metadata

File hashes

Hashes for pantsbuild.pants-2.15.0a0-cp37-cp37m-macosx_10_16_x86_64.whl
Algorithm Hash digest
SHA256 0e0f6d006f5bd861f19b842c490bc161a51d9b56bf2df45b87900bdb34c613eb
MD5 0cdd4d7472c0f5fcdeae5f85eb60e36d
BLAKE2b-256 05c2fd3b2f1316beb9138159e9755a8d9fbacabfeb43c502589fc571a3ff4661

See more details on using hashes here.

Provenance

File details

Details for the file pantsbuild.pants-2.15.0a0-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pantsbuild.pants-2.15.0a0-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 ad9ae5f957e0dd3cd2411c9390e32fdf2f8c81c75adef5dee328b713f6a8f208
MD5 641832a855b93d4efaa4119cdeb5d0b6
BLAKE2b-256 f581956c7898471a06b7d8d7faafe46cb0b803321fb44e83f341e98acc370930

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