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.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
Hashes for pantsbuild.pants.testutil-2.7.0rc3-py37.py38.py39-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b536e28a443366dfbf57ca98adef60a6a8cbb603cbfc1434056d94f85defa5ca |
|
MD5 | ddc034227b1c4db70bec1d1f08dc8396 |
|
BLAKE2b-256 | ad913064d6d5922cc649360980206a66cc471cbeb070597ec746a3103bb0f7ef |