Metadata-Version: 2.1
Name: pantsbuild.pants
Version: 2.5.0
Summary: A scalable build tool for large, complex, heterogeneous repos.
Home-page: https://github.com/pantsbuild/pants
License: Apache License, Version 2.0
Project-URL: Documentation, https://www.pantsbuild.org/
Project-URL: Source, https://github.com/pantsbuild/pants
Project-URL: Tracker, https://github.com/pantsbuild/pants/issues
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Build Tools
Description-Content-Type: text/x-rst
Requires-Dist: PyYAML (<5.5,>=5.4)
Requires-Dist: ansicolors (==1.1.8)
Requires-Dist: fasteners (==0.16)
Requires-Dist: humbug (==0.1.9)
Requires-Dist: packaging (==20.9)
Requires-Dist: pex (==2.1.42)
Requires-Dist: psutil (==5.8.0)
Requires-Dist: setproctitle (==1.2.2)
Requires-Dist: setuptools (<57.0,>=56.0.0)
Requires-Dist: toml (==0.10.2)
Requires-Dist: typing-extensions (==3.7.4.3)

Pants is an Apache2 licensed build tool written in Python.

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


# 2.5.x Stable Releases

See https://www.pantsbuild.org/v2.5/docs/release-notes-2-5 for an overview of the changes in this release series.

## 2.5.0 (May 15, 2021)

The first stable release of the `2.5.x` series, with no changes since the previous `rc`.

## 2.5.0rc3 (May 14, 2021)

### Bug fixes

* Fix constraints resolves to pass additional args. (Cherry-pick of #12076) ([#12077](https://github.com/pantsbuild/pants/pull/12077))

* Fix `skip_tool` fields not working with `./pants fmt` (Cherry-pick of #12073) ([#12074](https://github.com/pantsbuild/pants/pull/12074))

## 2.5.0rc2 (May 12, 2021)

### Bug fixes

* Fix module_mapping to work regardless of capitalization and `-` vs `_` (Cherry-pick of #12068)  ([#12070](https://github.com/pantsbuild/pants/pull/12070))

* Fix PEX_ROOT leak for run and repl goals. (Cherry-pick of #12066) ([#12067](https://github.com/pantsbuild/pants/pull/12067))

* Fix Python run for apps that re-exec themselves (Cherry-pick of #12060) ([#12063](https://github.com/pantsbuild/pants/pull/12063))

* Fix Shell dependency inference not caching (Cherry-pick of #12052) ([#12056](https://github.com/pantsbuild/pants/pull/12056))

## 2.5.0rc1 (May 10, 2021)

### New Features

* Add `extra_env_vars` field to `python_tests` target (Cherry-pick of #12022) ([#12023](https://github.com/pantsbuild/pants/pull/12023))

### Plugin API Changes

* Auth plugins can inspect the prior result, set an expiration, and override `--remote-{store,execution}-address` (Cherry-pick of #12029) ([#12046](https://github.com/pantsbuild/pants/pull/12046))

### Bug fixes

* Fix `--remote-auth-plugin` and `--remote-oauth-bearer-token-path` to execute every run with Pantsd (#12020) ([#12031](https://github.com/pantsbuild/pants/pull/12031))

## 2.5.0rc0 (May 04, 2021)

### New Features

* Allow skipping linters/formatters/typecheckers by target ([#12008](https://github.com/pantsbuild/pants/pull/12008))

* Add `runtime_package_dependencies` field to `shunit2_tests` ([#11997](https://github.com/pantsbuild/pants/pull/11997))

* Tell isort to use the config file at `[isort].config` when safe to do so ([#11994](https://github.com/pantsbuild/pants/pull/11994))

* Support `[coverage.py]` config files using `pyproject.toml`, `setup.cfg`, and `tox.ini` ([#11993](https://github.com/pantsbuild/pants/pull/11993))

* Check parent directories too for config files for tools Pants runs ([#11992](https://github.com/pantsbuild/pants/pull/11992))

### User API Changes

* Make python-setup resolve_all_constraints a bool. ([#11985](https://github.com/pantsbuild/pants/pull/11985))

* Add back `interpreter_constraints` field to `python_awslambda` ([#11982](https://github.com/pantsbuild/pants/pull/11982))

* Add back `interpreter_constraints` field to `pex_binary` ([#11977](https://github.com/pantsbuild/pants/pull/11977))

### Plugin API Changes

* Add mechanism for targets to opt out of field sets ([#12002](https://github.com/pantsbuild/pants/pull/12002))

* Add `TriBoolField` field template ([#12004](https://github.com/pantsbuild/pants/pull/12004))

* Discover config files automatically for tools Pants runs ([#11995](https://github.com/pantsbuild/pants/pull/11995))

* Don't require a kwarg for `Target` and `Field` constructors ([#11984](https://github.com/pantsbuild/pants/pull/11984))

### Performance

* Don't parse string imports if not enabled ([#11975](https://github.com/pantsbuild/pants/pull/11975))

### Documentation

* Don't include file name in deprecation warnings ([#12007](https://github.com/pantsbuild/pants/pull/12007))

* Stop falling back to docstring for help messages for `Target` and `Field` ([#12003](https://github.com/pantsbuild/pants/pull/12003))

* Suggest using `./pants tailor` when target doesn't exist for a file argument ([#11996](https://github.com/pantsbuild/pants/pull/11996))

* Make remote cache warning less chatty for missing files ([#11976](https://github.com/pantsbuild/pants/pull/11976))

## 2.5.0.dev3 (Apr 23, 2021)

### User API Changes

* Upgrade the default mypy to a version that works with namespace packages ([#11945](https://github.com/pantsbuild/pants/pull/11945))

* Run MyPy only on specified files, not transitive closure ([#11936](https://github.com/pantsbuild/pants/pull/11936))

### Plugin API Changes

* Upgrade Pants to Pex 2.1.40. ([#11964](https://github.com/pantsbuild/pants/pull/11964))

### Bug fixes

* Release pants.pex in `--unzip` mode to workaround not loading properly ([#11955](https://github.com/pantsbuild/pants/pull/11955))

* Fix remote cache writes to not block the Pants run ([#11947](https://github.com/pantsbuild/pants/pull/11947))

* Fix python process name extraction. ([#11966](https://github.com/pantsbuild/pants/pull/11966))

## 2.5.0.dev2 (Apr 16, 2021)

### New Features

* Handle URL requirements with constraints files. ([#11907](https://github.com/pantsbuild/pants/pull/11907))

* Release Pants with Python 3.9 ([#11858](https://github.com/pantsbuild/pants/pull/11858))

* Allow Python files without a file ending ([#11905](https://github.com/pantsbuild/pants/pull/11905))

### Bug fixes

* Wait for all Sessions during pantsd shutdown ([#11929](https://github.com/pantsbuild/pants/pull/11929))

* Fix bug in Python 2.7 string dep inference. ([#11900](https://github.com/pantsbuild/pants/pull/11900))

* Fix remote cache storing of `output_directories` ([#11895](https://github.com/pantsbuild/pants/pull/11895))

### Documentation

* Finesse some docgen markdown<->html issues. ([#11927](https://github.com/pantsbuild/pants/pull/11927))

## 2.5.0.dev1 (Apr 10, 2021)

### New Features

* Add dependency inference for Shell ([#11857](https://github.com/pantsbuild/pants/pull/11857))

* Add Shell support with Shellcheck, shmft, and shunit2 test runner ([#11844](https://github.com/pantsbuild/pants/pull/11844))

* Warn if config files detected but not wired up to Pants ([#11852](https://github.com/pantsbuild/pants/pull/11852))

* Warn when dependency inference fails for `protobuf_library` targets due to ambiguity ([#11849](https://github.com/pantsbuild/pants/pull/11849))

### User API Changes

* Remove deprecated `unzip` field for `pex_binary` ([#11868](https://github.com/pantsbuild/pants/pull/11868))

* Deprecate `--ignore-pants-warnings` in favor of `--ignore-warnings` ([#11851](https://github.com/pantsbuild/pants/pull/11851))

### Plugin API changes

* Require `WorkunitsCallback` to set `can_finish_async` ([#11687](https://github.com/pantsbuild/pants/pull/11687))

### Documentation

* Fix type in tags help message ([#11836](https://github.com/pantsbuild/pants/pull/11836))

## 2.5.0.dev0 (Apr 02, 2021)

### New Features

* Subset lockfile resolves. ([#11773](https://github.com/pantsbuild/pants/pull/11773))

### User API Changes

* Remove deprecated `--process-execution-cleanup-local-dirs`, `--process-execution-use-local-cache`, and `--process-execution-local-enable-nailgun` ([#11821](https://github.com/pantsbuild/pants/pull/11821))

* Always use new pip resolver and remove deprecated `[python-setup].resolver_version` ([#11819](https://github.com/pantsbuild/pants/pull/11819))

* Remove deprecated `[setuptools].entry_point` and `[setuptools].interpreter_constraints` ([#11822](https://github.com/pantsbuild/pants/pull/11822))

* Remove deprecated `--mypy-plugin-version`, `pantsd.log` file, `--plugin-cache-dir`

### Plugin API Changes

* Remove deprecated `InteractiveProcess.hermetic_env`.

* Add `RuleRunner.write_files()` for more declarative tests ([#11817](https://github.com/pantsbuild/pants/pull/11817))

* Upgrade Pex to 2.1.38. ([#11829](https://github.com/pantsbuild/pants/pull/11829))

### Bug fixes

* Fix transitive excludes for generating setup.py ([#11811](https://github.com/pantsbuild/pants/pull/11811))

* Fix workunit visibility calculation. ([#11816](https://github.com/pantsbuild/pants/pull/11816))

* Fix `__run.sh` to respect working_directory. ([#11814](https://github.com/pantsbuild/pants/pull/11814))

### Documentation

* Fix misleading docs for `[mypy].skip` ([#11810](https://github.com/pantsbuild/pants/pull/11810))


