Test support for writing Pants plugins.
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.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 Distribution
File details
Details for the file pantsbuild.pants.testutil-2.7.0rc4-py37.py38.py39-none-any.whl
.
File metadata
- Download URL: pantsbuild.pants.testutil-2.7.0rc4-py37.py38.py39-none-any.whl
- Upload date:
- Size: 22.7 kB
- Tags: Python 3.7, Python 3.8, Python 3.9
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 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 | 1748d55b8900b46b6bb1541a5ba9bcb19cb8ed8c69cd2750dc9dd125a9ff8c01 |
|
MD5 | 1046f4978b5672fce892fb6393107d57 |
|
BLAKE2b-256 | 2d1087f62d4990ad91819838910e219be4f902c4bac286fc15ab960d4fdf97bb |