Skip to main content

A scalable build tool for large, complex, heterogeneous repos.

Project description

Pants is an Apache2 licensed build tool written in Python.

The latest documentation can be found at pantsbuild <https://www.pantsbuild.org/>_.

2.7.x Stable Releases

2.7.2 (Nov 17, 2021)

The third stable release of the 2.7.x series, with no changes since the previous release candidate.

2.7.2rc2 (Nov 10, 2021)

Bug fixes

  • Fix --no-print-stacktrace. (cherrypick of #13539) (#13540)

Performance

  • Fix caching of binary lookups and avoid re-running pytest setup for environment changes (cherrypick of #13559) (#13560)

2.7.2rc1 (Nov 02, 2021)

Bug fixes

  • Upgrade to Pex 2.1.54 (Cherry picks of 50914a5e and 189cd753) (#13460)

2.7.2rc0 (Oct 28, 2021)

Performance

  • Use --layout=packed for all monolithic resolves. (cherrypick of #13400) (#13402)

2.7.1 (Oct 27, 2021)

The second stable release of the 2.7.x series, with no changes since the previous release candidate!

2.7.1rc1 (Oct 11, 2021)

User API Changes

  • Add [mypy].extra_type_stubs (Cherry-pick of #13180) (#13211)

Bug fixes

  • pantsd falls back to socket usage if it cannot open a TTY. (cherrypick of #13155) (#13157)

  • Release the GIL while creating a Session. (cherrypick of #13127) (#13158)

  • Do not change working directory when extracting archives (cherrypick of #12497 and #13077) (#13159)

2.7.1rc0 (Oct 04, 2021)

Bug fixes

  • Upgrade to Pex 2.1.51. (#13098) (Cherry picks of 513647c1 b1d7ab9d) (#13102)

  • Upgrade to Pex 2.1.50 and leverage packed layout. (Cherry picks of 433a4dd 0d36002 7ba06a5) (#13078)

  • Don't invalidate the scheduler when piping output. (cherrypick of #13028) (#13030)

  • Ensure that Tree contents are uploaded after creation. (cherrypick of #13008) (#13009)

2.7.0 (Sep 24, 2021)

The first stable release of the 2.7.x series, with no changes since the previous release candidate!

2.7.0rc5 (Sep 22, 2021)

Bug fixes

  • Fix case sensitivity of module_mapping for python_requirements and poetry_requirements (Cherry-pick of #12980) (#12981)

  • Fix spurious "Scheduling: ..." workunits with remote caching (cherrypick of #12973) (#12975)

2.7.0rc4 (Sep 17, 2021)

Plugin API Changes

  • Add py.typed files for pantsbuild distributions in order to satisfy PEP-561 (cherry-pick of #12842) (#12861)

Bug fixes

  • If [python-setup].invalid_lockfile_behavior = ignore, don't require Pants metadata in the lockfile (Cherry-pick of #12900) (#12905)

Performance

  • Improve cache reuse for ./pants package when using a constraints file or lockfile (#12807) (#12836)

2.7.0rc3 (Sep 10, 2021)

User API Changes

  • Add version to lockfile metadata headers (cherry-pick of #12788) (#12816)

Bug fixes

  • Fix backports of std lib modules like dataclasses not working with dependency inference (Cherry-pick of #12818) (#12819)

  • Properly include file dependencies in docker build context (cherrypick of #12758) (#12823)

Documentation

  • Warn if [python-repos] is set during lockfile generation (cherrypick of #12800) (#12828)

2.7.0rc2 (Sep 05, 2021)

Bug fixes

  • Fix UI rendering when a workunit has completed children but no running children (cherrypick of #12748) (#12750)

2.7.0rc1 (Sep 01, 2021)

Bug fixes

  • Error, don't warn, when --generate-lockfiles-resolve is set to a disabled tool lockfile (cherrypick of #12738) (#12741)

  • Add specific and actionable instructions to stale lockfile errors (cherrypick of #12699). (#12717)

  • Improve descriptions of the process executions for PEX_PATH composition. (cherrypick of #12736) (#12737)

  • Absolutize all of the execute_pex_args in the venv script. (cherrypick of #12727) (#12729)

2.7.0rc0 (Aug 31, 2021)

New Features

  • Add [tool].lockfile (e.g. [black].lockfile) for Python tools and activate ./pants generate-lockfiles by default (#12684)

  • Add --generate-lockfiles-resolve to allow generating for only certain tools (#12676)

  • Add [generate-lockfiles].custom_command (#12687)

  • Add experimental Docker build rules. (#12467)

User API Changes

  • Use Pants's default tool lockfiles by default for Python tools like Black, Pytest, and Flake8 (#12689)

  • Set [python-setup].invalid_lockfile_behavior to error by default (#12686)

  • Bump default for pytest-cov ([pytest].extra_requirements) and [coverage-py].version so both use coverage 5.5 (#12690)

  • Pin GitPython==3.1.18 by default with Bandit to ensure yanked release isn't used in lockfile generation (#12691)

  • Stop pinning stevedore<3 by default for Bandit (#12681)

  • Stop installing setuptools by default with Black, Flake8, Isort, and Yapf (#12673)

  • Stop using [python-setup].requirements_constraints when installing tools like Black and MyPy (#12639)

  • Default to my-dep-stubs and stubs-my-dep being third-party type stubs (#12598)

  • Type stubs should be registered as normal requirements, not in [mypy].extra_requirements (#12597)

Plugin API Changes

  • Support indivisible Sources fields (#12685)

  • Render EngineAware parameters in cycle errors from Graph. (#12668)

  • Split PexRequirements into three unioned types (#12644)

  • Add __repr__ impl for PySnapshot (#12622)

  • Remove the rationale field from BashBinaryRequest. (#12624)

Bug fixes

  • The pex_binary "venv" mode now sees bin scripts. (#12664)

  • Fix UI rendering when multiple tasks have the same label. (#12659)

  • tailor: do not append comma to kwarg with empty tuple (#12653)

  • Fix FindBinary when which is discoverable on $PATH on macOS (#12581)

  • Fix coloring of stderr logs with pantsd (#12585)

Performance

  • Decompose requirements pexes (#12675)

Documentation

  • Switch log warning rendering to yellow. (#12596)

  • Align Enriched*Result colors, sigils, and log levels. (#12645)

  • Fix Toolchain plugin being included in generated reference docs (#12642)

2.7.0.dev4 (Aug 15, 2021)

New Features

  • Add additional Google Cloud libraries to dependency inference's default module mapping (#12553)

  • Validate that pytest-cov is installed when [test].use_coverage is set (#12534)

User API Changes

  • Deprecate --pants-supportdir, rename --engine-visualize-to, and fix help for --loop. (#12558)

  • Change the PythonProtobufMypyPlugin option scope. (#12525)

Plugin API Changes

  • Upgrade packaging from 20.9 to 21.0 (#12561)

  • Allow newer versions of setuptools and wheel. (#12555)

  • Deprecate an options scope with underscores. (#12532)

  • Remove TestResult.skip() in favor of TestFieldSet.opt_out() (#12516)

  • Finally get rid of Optionable entirely. (#12538)

Bug fixes

  • Fix shfmt and --test-open-coverage to handle CPU architecture Platform changes (#12546)

  • Fix asdf directory lookup. (#12528)

  • Fix shlexing of passthrough args. (#12547)

  • pyenv should fall back to $HOME/.pyenv (#12527)

Performance

  • Stream files into the local store while capturing them (#12563)

  • use REAPI batch API for small blob writes (#12537)

  • add capabilties cache for remote store client (#12522)

2.7.0.dev3 (Aug 06, 2021)

New Features

  • Add skip_tests field to python_tests to facilitate incremental migrations (#12510)

  • Adds support for Poetry group dependencies (#12492)

  • Tailor pex_binary targets for entry points. (#12478)

User API Changes

  • Add to default module mapping: Django extensions, Google Cloud, Pillow, and python-dotenv (#12506)

Plugin API Changes

  • Refactor Pex working directory handling. (#12479)

Bug fixes

  • Make the pantsd crash error message more precise. (#12512)

  • Resolve plugins using the PEX --python option. (#12500)

  • Shield isolated-Sessions / StreamingWorkunitHandlers from Ctrl+C. (#12483)

  • Fix default coverage collection. (#12477)

Performance

  • Don't resolve constraints file / lockfile if no 3rd-party requirements used (#12488)

2.7.0.dev2 (Jul 30, 2021)

New Features

  • Provide a peek goal to easily view BUILD metadata from command line (#11347)

  • Add entry_points field to python_distribution (#11872)

  • Add hadolint to lint Docker files (#12426)

  • Add experimental Docker target type and tailor (#12431)

  • Support pex_binary addresses in provides=setup_py(entry_points) field (#12414)

  • Add option for async completion of StreamingWorkunitHandlers, disable by default in containers (#12392)

  • Dependency inference for pex_binary and python_awslambda can disambiguate ambiguous modules based on file paths (#12326)

User API Changes

  • Deprecate [pytest].pytest_plugins in favor of [pytest].extra_requirements (#12450)

  • Deprecate setup_py().with_binaries() in favor of entry_points field (#12413)

  • Add instruction set architecture awareness to platforms and --url-platform-mapping options (#12367)

  • Add [python-setup].interpreter_versions_universe to ensure Pants works robustly with future Python interpreters (#12379)

  • Upgrade to Lambdex 0.1.5. (#12461)

  • Upgrade to Pex 2.1.44. (#12342)

Bug fixes

  • More robust support for Poetry dependency attributes (markers, andextras) (#12323)

  • Mark workunits blocked, and skip rendering completed workunits (#12369)

Performance

  • Do not upload Action inputs for remote cache writes. (#12443)

  • Skip preparation of workunit log messages which will never be rendered. (#12396)

Documentation

  • Clarify when we are subsetting the lockfile for 3rdparty dependencies (#12435)

  • Add counters for blob bytes uploaded/downloaded to/from CAS (#12471)

  • Add cache and runtime metadata to Process workunits (#12469)

  • Fix the content type for Pants' wheel long_descriptions. (#12391)

2.7.0.dev1 (Jul 16, 2021)

New Features

  • Allow restricting which versions are valid for ExternalTools. (#12332)

  • Add yapf Python formatter (#12317)

  • Add ASDF support to interpreter-search-paths (#12028)

Plugin API Changes

  • Validate option default values to be of correct type. (#12331)

Bug fixes

  • Do not leak subsystems as goals to the command line interface (#12337)

  • Fix anonymous telemetry logging. (#12340)

  • Fixup incorrect platform help message. (#12320)

Documentation

  • Improve wording for pex_binary platforms field help (#12304)

2.7.0.dev0 (Jul 09, 2021)

New Features

  • Add skimage module mapping for dependency inference (#12301)

  • Add experimental terraform plugin with fmt and lint rules (#11973)

  • Add support for MyPy report files (#12271)

  • Support running tailor on subdirs. (#12262)

  • Support building dists from preexisting setup.py. (#12250)

User API Changes

  • Don't tailor a python_library for a solitary init.py. (#12288)

  • Apply a concurrency limit to remote store/cache/execution gRPC requests (#12256)

Bug fixes

  • Fix poetry_requirements: ignore internal projects. (#12280)

  • Fix poetry_requirements handling of python. (#12278)

  • Do not use [python-setup].resolve_all_constraints when using platforms (#12268)

  • Hotfix for poetry_requirements not being recognized as a macro in build files (#12263)

  • Include experimental Go backends in pantsbuild.pants (#12290)

Documentation

  • Improve error for out-of-line Gets. (#12305)

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.7.2-cp39-cp39-macosx_11_0_arm64.whl (8.9 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

pantsbuild.pants-2.7.2-cp39-cp39-macosx_10_15_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

pantsbuild.pants-2.7.2-cp38-cp38-macosx_10_15_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

pantsbuild.pants-2.7.2-cp37-cp37m-macosx_10_15_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.7m macOS 10.15+ x86-64

File details

Details for the file pantsbuild.pants-2.7.2-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

  • Download URL: pantsbuild.pants-2.7.2-cp39-cp39-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 59.7 MB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for pantsbuild.pants-2.7.2-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 191b7f83e248393df7c46b966d2323da3b3989a4113f039fc0b5b46b73739be9
MD5 5ab3ab91cd68d3ee9de91ecbab079790
BLAKE2b-256 3f3865becc99c5b075524471f083f3767fc246bc62f734c0751383104634f8ea

See more details on using hashes here.

Provenance

File details

Details for the file pantsbuild.pants-2.7.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: pantsbuild.pants-2.7.2-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 8.9 MB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for pantsbuild.pants-2.7.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5e3a719c3a7cb2b7165c40f395417ffe38fcae5af381ed34cc7da0b723c20915
MD5 8602c2611497c1af40abf4a2db75e035
BLAKE2b-256 46476d874f5e02fc718537a8c9d50f7b0f7efd3457bc1111603212f7f01db8bc

See more details on using hashes here.

Provenance

File details

Details for the file pantsbuild.pants-2.7.2-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: pantsbuild.pants-2.7.2-cp39-cp39-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 9.3 MB
  • Tags: CPython 3.9, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for pantsbuild.pants-2.7.2-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 190fb9208bb6ee60d0318c00e6658c88036815e93e065565ab96f5fc70cc4d4a
MD5 a12264bd867724c176e71b1f0941f5fe
BLAKE2b-256 a38d205a3fbff1987484bf4cf7338fc1b83888489d3cc09a833ecaea0ab24613

See more details on using hashes here.

Provenance

File details

Details for the file pantsbuild.pants-2.7.2-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

  • Download URL: pantsbuild.pants-2.7.2-cp38-cp38-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 59.7 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for pantsbuild.pants-2.7.2-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 835f9b76a8a8b8d81a402d2bff6d8e263472efb4b89645a3e2937051c7882112
MD5 65458ca88ec07a5c715f0599f5d8da86
BLAKE2b-256 fcb769a043ea016dcba23b8a8f74221e4949baf9bc1f6a98139bfbd72fb4064f

See more details on using hashes here.

Provenance

File details

Details for the file pantsbuild.pants-2.7.2-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: pantsbuild.pants-2.7.2-cp38-cp38-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 9.3 MB
  • Tags: CPython 3.8, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for pantsbuild.pants-2.7.2-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 340e0a903eea0023a197cc4f7dd2911b4335efe09f4e0d6454187d2f3e1ae2c8
MD5 ee6bb52297a6e4137c887c8784b98015
BLAKE2b-256 60e2fd716ad724f10fcb561b1a7a49ac0bd0bd75c7fdfeb68309ff269d19e10f

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: pantsbuild.pants-2.7.2-cp37-cp37m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 59.7 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for pantsbuild.pants-2.7.2-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 87781aaad59c3aefc26d7aa72d91f9145d84ff386c68c5f91f61e834652134de
MD5 a7f3f5276203b14b31ea69379a736220
BLAKE2b-256 5704b7055d98316431635b02d974243068dce48c2f9dacb13053ae9ebbf1d97e

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: pantsbuild.pants-2.7.2-cp37-cp37m-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 9.3 MB
  • Tags: CPython 3.7m, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for pantsbuild.pants-2.7.2-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 b2343450e3ddee97e6fe79223f98ed47504d7bfad27f386268be596386c22f0e
MD5 313659ee20936beb4f2ad168e62ee8f4
BLAKE2b-256 04d8901def246e98fb144ffbcf8cfdf5ed4d25c5955863965f7fe4280ce5e6f9

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