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.0rc1 (Dec 26, 2022)

Bug fixes

  • scala: support scala v3 which has different compiler/library artifacts (Cherry pick of #17855) (#17866)

  • Restore support for :all: in only_binary/no_binary. (Cherry-pick of #17779) (#17784)

  • Test DebugAdapter requests, and fix issues (Cherry-pick of #17678) (#17768)

  • chdir in rule_runner.run_interactive_process (Cherry-pick of #17722) (#17765)

Performance

  • Run python sources with a VenvPex (Cherry-pick of #17700) (#17761)

Documentation

  • Document batched pytest execution. (Cherry-pick of #17845) (#17853)

  • Tweak the docs about defaults. (Cherry-pick of #17829) (#17838)

2.15.0rc0 (Dec 08, 2022)

Bug fixes

  • More precise running workunit for processes executing remotely (Cherry-pick of #17719) (#17725)

  • Fix twine env vars propagation for publish goal. (Cherry-pick of #17650) (#17659)

  • Allow for run --debug-adapter to match breakpoints when source is running in a sandbox (Cherry-pick of #17566) (#17584)

  • Do not try to create "" output directory in CreateArchive (Cherry-pick of #17538) (#17548)

Documentation

  • Fix broken docs links to manual build instructions (Cherry-pick of #17608) (#17610)

  • Update team pages for SJ and Dan! (Cherry-pick of #17534) (#17568)

  • Add Shantanu Kumar to Contributors list (Cherry-pick of #17579) (#17587)

2.15.0a1 (Nov 11, 2022)

New Features

  • A --resolve flag, to specify the resolves to export. (Cherry-pick of #17416) (#17461)

User API Changes

  • Deprecate the old export semantics. (Cherry-pick of #17465) (#17466)

Bug fixes

  • Fix memoization of CoarsenedTarget.closure (Cherry-pick of #17516) (#17518)

  • Support parsing targets from additional paths not containing BUILD files. (Cherry-pick of #17451) (#17513)

  • Ensure lockfile target exists before injecting a dependency to it. (Cherry-pick of #17365) (#17505)

  • Ensure correct eq/hash semantics for PythonArtifact. (Cherry-pick of #17484) (#17492)

  • Flip the default for pull on docker_image to False (Cherry-pick of #17459) (#17460)

  • Isolate config seed values from the DEFAULT section. (Cherry-pick of #17474) (#17485)

  • Fix poorly understood stdout redirection issue. (Cherry-pick of #17471) (#17473)

  • Fix propagation of the remote-execution-append-only-caches path (Cherry-pick of #17469) (#17472)

  • Fix dep inference from shuint2_tests targets. (Cherry-pick of #17417) (#17422)

  • Fix EnvironmentName used in test runs (Cherry-pick of #17412) (#17415)

  • Restore debug hints for test execution (Cherry-pick of #17406) (#17407)

Performance

  • Skip loading of local cache data when possible (Cherry-pick of #17495) (#17524)

  • Symlink site-packages into pylint venvs when possible. (Cherry-pick of #17488) (#17491)

  • Filter coarsened targets to only those that are relevant in pylint runner rule (Cherry-pick of #17487) (#17490)

Documentation

  • Fix line breaks in a docs page. (Cherry-pick of #17527) (#17528)

  • Clarify how __defaults__ apply to target generators. (Cherry-pick of #17493) (#17499)

  • Fix version templating in vcs_version docs (Cherry-pick of #17423) (#17425)

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.0rc1-cp39-cp39-macosx_11_0_x86_64.whl (10.3 MB view details)

Uploaded CPython 3.9 macOS 11.0+ x86-64

pantsbuild.pants-2.15.0rc1-cp39-cp39-macosx_11_0_arm64.whl (9.9 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

pantsbuild.pants-2.15.0rc1-cp39-cp39-macosx_10_15_x86_64.whl (10.3 MB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

pantsbuild.pants-2.15.0rc1-cp38-cp38-macosx_11_0_x86_64.whl (10.3 MB view details)

Uploaded CPython 3.8 macOS 11.0+ x86-64

pantsbuild.pants-2.15.0rc1-cp38-cp38-macosx_10_15_x86_64.whl (10.3 MB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

pantsbuild.pants-2.15.0rc1-cp37-cp37m-macosx_10_16_x86_64.whl (10.3 MB view details)

Uploaded CPython 3.7m macOS 10.16+ x86-64

pantsbuild.pants-2.15.0rc1-cp37-cp37m-macosx_10_15_x86_64.whl (10.3 MB view details)

Uploaded CPython 3.7m macOS 10.15+ x86-64

File details

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

File metadata

File hashes

Hashes for pantsbuild.pants-2.15.0rc1-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 11ce4ef9266d62d6dd763c8cd8a53f1dca29f422c1e908ebd43ce61b1530a298
MD5 5f938bf625cd9e719180bd79a053387a
BLAKE2b-256 6a45518ba3a51e2887ab4bff2bd23d56506621feda3b9b7d50208e70fd7cd818

See more details on using hashes here.

Provenance

File details

Details for the file pantsbuild.pants-2.15.0rc1-cp39-cp39-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for pantsbuild.pants-2.15.0rc1-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 26ac6739c60d27fd30cddc7a902116fc4cc23f17cf4e644cc1073e6681807eec
MD5 330fd6d3a07ff94160507f0c1453386b
BLAKE2b-256 72c949ebfd6782cf47e401e257344afc233a6e504d68b75c87157a44d0c45f1a

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pantsbuild.pants-2.15.0rc1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f551bf14a43e6c41f29fd41e97afedab5da2dd543e386f3af9acf5d695d656b0
MD5 d80244f55c6a972fd7060ec3a0568611
BLAKE2b-256 c3f88c3d26ce8ddc69bcf2b456f2727aea4c01cc709311371be1f63147c470a4

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pantsbuild.pants-2.15.0rc1-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 9af52c4d04b1528c7dee426989d9674d076a97dc68bccba68d204bca0a26e142
MD5 f69a00eeb575afa14b4ba5538f026d95
BLAKE2b-256 9388c98109aae2b5fc0c18ffd935cc28c1a5cb59ee519de9d3cd0afd7bca4c7c

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pantsbuild.pants-2.15.0rc1-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 28a5c8951dcd8b6a5a7d839de50e7f4c71fa960497fdf9cde29d718f609f24cd
MD5 b81344a56c7214ad530beaa1c409e731
BLAKE2b-256 0a10276ab6f2fa1c1d5f791ec6e9926f07a3d78ac7f1ce806c49c0f117630b1b

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pantsbuild.pants-2.15.0rc1-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 5aef945a509710ffd65d150601a2dc8ac5094811403a3095f445d8b9e33cb157
MD5 b5c790aa5750b834daf4218694648d8a
BLAKE2b-256 fe76cd1e0343ea5ba9357babba983a3ef80dc33f990fe8bfba3d39edbb8d9252

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pantsbuild.pants-2.15.0rc1-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 93de783928c99bd0b89b6ea34c0e83e616ed7d82a6196cb4b70c6fd591a0aed0
MD5 e6824711573f373f8c18c0878bb572ac
BLAKE2b-256 cae0f527edf153394799b6a8586deab20acc5f2a6f81c808aed96bdf1b3f2a5a

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pantsbuild.pants-2.15.0rc1-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 81eeac93b35c69f276fe95ee9d936b48721daafa42121cbcda95fe9529bb8380
MD5 de7beb2bc528e3a57160419ff1bee994
BLAKE2b-256 cec6d10f6ce41f18498abb648bff6910e3521dc7c7642be00ba341aacc2c1be8

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pantsbuild.pants-2.15.0rc1-cp37-cp37m-macosx_10_16_x86_64.whl
Algorithm Hash digest
SHA256 74db2d52be2b39719ecd2c5548d89e87c666ff7af762ec6adb219d888292ea83
MD5 f401969d47ba15cd99022c2384d6f7a6
BLAKE2b-256 a7819122ad8c49708e1729d8f210ba0af10c450e3670628c000c9d0c15d4e18b

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pantsbuild.pants-2.15.0rc1-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 8079a1d31432cf3f3ae0e783a5e9e4c104c09e10e8dbd39af4de95c3bb1dedef
MD5 a77c857935abf5f8c3bb6c8f79790d54
BLAKE2b-256 6a373483a785c3e504bc43b967578d8bfde583ab33c3bb9aee5c769b7b06fdd6

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