Improve deprecation warning regarding the copying of source trees when installing from a local directory. ([#10128](https://github.com/pypa/pip/issues/10128) <https://github.com/pypa/pip/issues/10128>_)
Suppress location mismatch warnings when pip is invoked from a Python source
tree, so ensurepip does not emit warnings on CPython make install. ([#10270](https://github.com/pypa/pip/issues/10270) <https://github.com/pypa/pip/issues/10270>_)
On Python 3.10 or later, the installation scheme backend has been changed to use
sysconfig. This is to anticipate the deprecation of distutils in Python
3.10, and its scheduled removal in 3.12. For compatibility considerations, pip
installations running on Python 3.9 or lower will continue to use distutils. ([#10358](https://github.com/pypa/pip/issues/10358) <https://github.com/pypa/pip/issues/10358>_)
Remove the --build-dir option and aliases, one last time. ([#10485](https://github.com/pypa/pip/issues/10485) <https://github.com/pypa/pip/issues/10485>_)
In-tree builds are now the default. --use-feature=in-tree-build is now
ignored. --use-deprecated=out-of-tree-build may be used temporarily to ease
the transition. ([#10495](https://github.com/pypa/pip/issues/10495) <https://github.com/pypa/pip/issues/10495>_)
Un-deprecate source distribution re-installation behaviour. ([#8711](https://github.com/pypa/pip/issues/8711) <https://github.com/pypa/pip/issues/8711>_)
Features
Replace vendored appdirs with platformdirs. ([#10202](https://github.com/pypa/pip/issues/10202) <https://github.com/pypa/pip/issues/10202>_)
Support PEP 610 <https://www.python.org/dev/peps/pep-0610/>_ to detect
editable installs in pip freeze and pip list. The pip list column output
has a new Editable project location column, and the JSON output has a new
editable_project_location field. ([#10249](https://github.com/pypa/pip/issues/10249) <https://github.com/pypa/pip/issues/10249>_)
pip freeze will now always fallback to reporting the editable project
location when it encounters a VCS error while analyzing an editable
requirement. Before, it sometimes reported the requirement as non-editable. ([#10410](https://github.com/pypa/pip/issues/10410) <https://github.com/pypa/pip/issues/10410>_)
pip show now sorts Requires and Required-By alphabetically. ([#10422](https://github.com/pypa/pip/issues/10422) <https://github.com/pypa/pip/issues/10422>_)
Do not raise error when there are no files to remove with pip cache purge/remove.
Instead log a warning and continue (to log that we removed 0 files). ([#10459](https://github.com/pypa/pip/issues/10459) <https://github.com/pypa/pip/issues/10459>_)
When backtracking during dependency resolution, prefer the dependencies which are involved in the most recent conflict. This can significantly reduce the amount of backtracking required. ([#10479](https://github.com/pypa/pip/issues/10479) <https://github.com/pypa/pip/issues/10479>_)
Cache requirement objects, to improve performance reducing reparses of requirement strings. ([#10550](https://github.com/pypa/pip/issues/10550) <https://github.com/pypa/pip/issues/10550>_)
Support editable installs for projects that have a pyproject.toml and use a
build backend that supports :pep:660. ([#8212](https://github.com/pypa/pip/issues/8212) <https://github.com/pypa/pip/issues/8212>_)
When a revision is specified in a Git URL, use git's partial clone feature to speed up source retrieval. ([#9086](https://github.com/pypa/pip/issues/9086) <https://github.com/pypa/pip/issues/9086>_)
Add a --debug flag, to enable a mode that doesn't log errors and propagates them to the top level instead. This is primarily to aid with debugging pip's crashes. ([#9349](https://github.com/pypa/pip/issues/9349) <https://github.com/pypa/pip/issues/9349>_)
If a host is explicitly specified as trusted by the user (via the --trusted-host option), cache HTTP responses from it in addition to HTTPS ones. ([#9498](https://github.com/pypa/pip/issues/9498) <https://github.com/pypa/pip/issues/9498>_)
Bug Fixes
Present a better error message, when a file: URL is not found. ([#10263](https://github.com/pypa/pip/issues/10263) <https://github.com/pypa/pip/issues/10263>_)
Fix the auth credential cache to allow for the case in which
the index url contains the username, but the password comes
from an external source, such as keyring. ([#10269](https://github.com/pypa/pip/issues/10269) <https://github.com/pypa/pip/issues/10269>_)
Fix double unescape of HTML data-requires-python and data-yanked attributes. ([#10378](https://github.com/pypa/pip/issues/10378) <https://github.com/pypa/pip/issues/10378>_)
New resolver: Fixes depth ordering of packages during resolution, e.g. a dependency 2 levels deep will be ordered before a dependecy 3 levels deep. ([#10482](https://github.com/pypa/pip/issues/10482) <https://github.com/pypa/pip/issues/10482>_)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps pip from 21.2.4 to 21.3.
Changelog
Sourced from pip's changelog.
... (truncated)
Commits
abec8a7
Bump for release68a7048
Update AUTHORS.txt9f18a40
Merge pull request #10481 from notatallshaw/prefer_failuresdb496cb
Merge pull request #10563 from pradyunsg/shorter-timeout4fac2b9
Merge pull request #10550 from jbylund/joe/cache_requirement_creation786957c
Use a shorter timeout, to ensure that this fails more often1e3c127
Avoid passing.
to vendoring610424f
Quote "PreferenceInformation" to avoid runtime NameErrorc01b5c6
Update a test for resolvelib 0.8.0394a24e
Upgrade resolvelib to 0.8.0Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)