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.2rc0 (Oct 28, 2021)
Performance
- Use
--layout=packedfor 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
-
pantsdfalls 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
Treecontents 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_mappingforpython_requirementsandpoetry_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 packagewhen using a constraints file or lockfile (#12807) (#12836)
2.7.0rc3 (Sep 10, 2021)
User API Changes
- Add
versionto lockfile metadata headers (cherry-pick of #12788) (#12816)
Bug fixes
-
Fix backports of std lib modules like
dataclassesnot 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-resolveis 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-lockfilesby default (#12684) -
Add
--generate-lockfiles-resolveto 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_behaviortoerrorby default (#12686) -
Bump default for
pytest-cov([pytest].extra_requirements) and[coverage-py].versionso both usecoverage 5.5(#12690) -
Pin
GitPython==3.1.18by default with Bandit to ensure yanked release isn't used in lockfile generation (#12691) -
Stop pinning
stevedore<3by default for Bandit (#12681) -
Stop installing
setuptoolsby default with Black, Flake8, Isort, and Yapf (#12673) -
Stop using
[python-setup].requirements_constraintswhen installing tools like Black and MyPy (#12639) -
Default to
my-dep-stubsandstubs-my-depbeing 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
rationalefield 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
FindBinarywhenwhichis discoverable on$PATHon 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*Resultcolors, 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-covis installed when[test].use_coverageis 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
shfmtand--test-open-coverageto handle CPU architecturePlatformchanges (#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_testsfield topython_teststo 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_pointsfield to python_distribution (#11872) -
Add hadolint to lint Docker files (#12426)
-
Add experimental Docker target type and tailor (#12431)
-
Support
pex_binaryaddresses inprovides=setup_py(entry_points)field (#12414) -
Add option for async completion of StreamingWorkunitHandlers, disable by default in containers (#12392)
-
Dependency inference for
pex_binaryandpython_awslambdacan disambiguate ambiguous modules based on file paths (#12326)
User API Changes
-
Deprecate
[pytest].pytest_pluginsin favor of[pytest].extra_requirements(#12450) -
Deprecate
setup_py().with_binaries()in favor ofentry_pointsfield (#12413) -
Add instruction set architecture awareness to platforms and
--url-platform-mappingoptions (#12367) -
Add
[python-setup].interpreter_versions_universeto 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_binaryplatformsfield 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_constraintswhen usingplatforms(#12268) -
Hotfix for
poetry_requirementsnot 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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pantsbuild.pants.testutil-2.7.2rc0-py37.py38.py39-none-any.whl.
File metadata
- Download URL: pantsbuild.pants.testutil-2.7.2rc0-py37.py38.py39-none-any.whl
- Upload date:
- Size: 23.2 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 |
baddae1794d5521c90c2ed4008002194d2b585f2e30539950198120f14d3ea32
|
|
| MD5 |
d64f99b2185f66d1f0aa819eccaeea19
|
|
| BLAKE2b-256 |
62a3a127d9ba70c29b7baa8f6fa2ac5549f3da12e80d837fd51153075d3ac580
|