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
forpython_requirements
andpoetry_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
toerror
by default (#12686) -
Bump default for
pytest-cov
([pytest].extra_requirements
) and[coverage-py].version
so both usecoverage 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
andstubs-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
whenwhich
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 ofTestFieldSet.opt_out()
(#12516) -
Finally get rid of Optionable entirely. (#12538)
Bug fixes
-
Fix
shfmt
and--test-open-coverage
to handle CPU architecturePlatform
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 topython_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 inprovides=setup_py(entry_points)
field (#12414) -
Add option for async completion of StreamingWorkunitHandlers, disable by default in containers (#12392)
-
Dependency inference for
pex_binary
andpython_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 ofentry_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 usingplatforms
(#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
Built Distributions
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 191b7f83e248393df7c46b966d2323da3b3989a4113f039fc0b5b46b73739be9 |
|
MD5 | 5ab3ab91cd68d3ee9de91ecbab079790 |
|
BLAKE2b-256 | 3f3865becc99c5b075524471f083f3767fc246bc62f734c0751383104634f8ea |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e3a719c3a7cb2b7165c40f395417ffe38fcae5af381ed34cc7da0b723c20915 |
|
MD5 | 8602c2611497c1af40abf4a2db75e035 |
|
BLAKE2b-256 | 46476d874f5e02fc718537a8c9d50f7b0f7efd3457bc1111603212f7f01db8bc |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 190fb9208bb6ee60d0318c00e6658c88036815e93e065565ab96f5fc70cc4d4a |
|
MD5 | a12264bd867724c176e71b1f0941f5fe |
|
BLAKE2b-256 | a38d205a3fbff1987484bf4cf7338fc1b83888489d3cc09a833ecaea0ab24613 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 835f9b76a8a8b8d81a402d2bff6d8e263472efb4b89645a3e2937051c7882112 |
|
MD5 | 65458ca88ec07a5c715f0599f5d8da86 |
|
BLAKE2b-256 | fcb769a043ea016dcba23b8a8f74221e4949baf9bc1f6a98139bfbd72fb4064f |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 340e0a903eea0023a197cc4f7dd2911b4335efe09f4e0d6454187d2f3e1ae2c8 |
|
MD5 | ee6bb52297a6e4137c887c8784b98015 |
|
BLAKE2b-256 | 60e2fd716ad724f10fcb561b1a7a49ac0bd0bd75c7fdfeb68309ff269d19e10f |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87781aaad59c3aefc26d7aa72d91f9145d84ff386c68c5f91f61e834652134de |
|
MD5 | a7f3f5276203b14b31ea69379a736220 |
|
BLAKE2b-256 | 5704b7055d98316431635b02d974243068dce48c2f9dacb13053ae9ebbf1d97e |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2343450e3ddee97e6fe79223f98ed47504d7bfad27f386268be596386c22f0e |
|
MD5 | 313659ee20936beb4f2ad168e62ee8f4 |
|
BLAKE2b-256 | 04d8901def246e98fb144ffbcf8cfdf5ed4d25c5955863965f7fe4280ce5e6f9 |