Deprecate support for eggs for Python 3.11 or later, when the new importlib.metadata backend is used to load distribution metadata. This only affects the egg distribution format (with the .egg extension); distributions using the .egg-infometadata format (but are not actually eggs) are not affected. For more information about eggs, see relevant section in the setuptools documentation <https://setuptools.pypa.io/en/stable/deprecated/python_eggs.html>__.
Deprecations and Removals
Deprecate legacy version and version specifiers that don't conform to PEP 440 <https://peps.python.org/pep-0440/>_ ([#12063](https://github.com/pypa/pip/issues/12063) <https://github.com/pypa/pip/issues/12063>_)
freeze no longer excludes the setuptools, distribute, and wheel
from the output when running on Python 3.12 or later, where they are not
included in a virtual environment by default. Use --exclude if you wish to
exclude any of these packages. ([#4256](https://github.com/pypa/pip/issues/4256) <https://github.com/pypa/pip/issues/4256>_)
Features
make rejection messages slightly different between 1 and 8, so the user can make the difference. ([#12040](https://github.com/pypa/pip/issues/12040) <https://github.com/pypa/pip/issues/12040>_)
Prevent downloading files twice when PEP 658 metadata is present ([#11847](https://github.com/pypa/pip/issues/11847) <https://github.com/pypa/pip/issues/11847>_)
Add permission check before configuration ([#11920](https://github.com/pypa/pip/issues/11920) <https://github.com/pypa/pip/issues/11920>_)
Fix deprecation warnings in Python 3.12 for usage of shutil.rmtree ([#11957](https://github.com/pypa/pip/issues/11957) <https://github.com/pypa/pip/issues/11957>_)
Ignore invalid or unreadable origin.json files in the cache of locally built wheels. ([#11985](https://github.com/pypa/pip/issues/11985) <https://github.com/pypa/pip/issues/11985>_)
Fix installation of packages with PEP658 metadata using non-canonicalized names ([#12038](https://github.com/pypa/pip/issues/12038) <https://github.com/pypa/pip/issues/12038>_)
Correctly parse dist-info-metadata values from JSON-format index data. ([#12042](https://github.com/pypa/pip/issues/12042) <https://github.com/pypa/pip/issues/12042>_)
Fail with an error if the --python option is specified after the subcommand name. ([#12067](https://github.com/pypa/pip/issues/12067) <https://github.com/pypa/pip/issues/12067>_)
Fix slowness when using importlib.metadata (the default way for pip to read metadata in Python 3.11+) and there is a large overlap between already installed and to-be-installed packages. ([#12079](https://github.com/pypa/pip/issues/12079) <https://github.com/pypa/pip/issues/12079>_)
Pass the -r flag to mercurial to be explicit that a revision is passed and protect
against hg options injection as part of VCS URLs. Users that do not have control on
VCS URLs passed to pip are advised to upgrade. ([#12119](https://github.com/pypa/pip/issues/12119) <https://github.com/pypa/pip/issues/12119>_)
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.3.1 to 23.2.
Changelog
Sourced from pip's changelog.
... (truncated)
Commits
a3c2c43
Bump for releaseae23f96
Update AUTHORS.txt324dd44
Merge pull request #11417 from Freed-Wu/fix-zshe53cf3d
Merge pull request #12137 from groodt/groodt-fix-deprecation-warning38a8fb1
Merge pull request #12140 from uranusjr/ensure-preparation-for-dist0cabefb
Ensure requirements are prepared before get_dist()2c4947d
Add news entry41506d7
Add news entry9b47bc0
Make black formatter happy25f4e6e
Fix deprecation warnings in Python 3.12 for usage of shutil.rmtreeDependabot 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)