-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix locate_file() type hints for older Pythons #13181
Conversation
@@ -0,0 +1,2 @@ | |||
Restore opt-in ``importlib.metadata`` backend support on Python 3.10 and lower |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not a huge fan of this wording as it seems to be actually still broken on the older Pythons, but that is the risk when you try to use a private envvar...
Obtaining file:///home/ichard26/dev/oss/pip
Installing build dependencies ... error
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 2
╰─> [53 lines of output]
Collecting setuptools>=67.6.1
Using cached setuptools-75.8.0-py3-none-any.whl.metadata (6.7 kB)
ERROR: Exception:
Traceback (most recent call last):
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper
status = _inner_run()
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run
return self.run(options, args)
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 67, in wrapper
return func(self, options, args)
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_internal/commands/install.py", line 379, in run
requirement_set = resolver.resolve(
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 95, in resolve
result = self._result = resolver.resolve(
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py", line 397, in resolve
self._add_to_criteria(self.state.criteria, r, parent=None)
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py", line 173, in _add_to_criteria
if not criterion.candidates:
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_vendor/resolvelib/structs.py", line 156, in __bool__
return bool(self._sequence)
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 174, in __bool__
return any(self)
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 162, in <genexpr>
return (c for c in iterator if id(c) not in self._incompatible_ids)
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 53, in _iter_built
candidate = func()
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link
base: Optional[BaseCandidate] = self._make_base_candidate_from_link(
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link
self._link_candidate_cache[link] = LinkCandidate(
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 304, in __init__
super().__init__(
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__
self.dist = self._prepare()
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare
dist = self._prepare_distribution()
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 315, in _prepare_distribution
return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_internal/operations/prepare.py", line 521, in prepare_linked_requirement
metadata_dist = self._fetch_metadata_only(req)
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_internal/operations/prepare.py", line 373, in _fetch_metadata_only
return self._fetch_metadata_using_link_data_attr(
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_internal/operations/prepare.py", line 412, in _fetch_metadata_using_link_data_attr
if canonicalize_name(metadata_dist.raw_name) != canonicalize_name(req.req.name):
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_internal/metadata/base.py", line 419, in raw_name
return self.metadata.get("Name", self.canonical_name)
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_internal/metadata/importlib/_dists.py", line 162, in canonical_name
return get_dist_canonical_name(self._dist)
File "/home/ichard26/.local/share/vem/envs/pip-20250126-105715/lib/python3.9/site-packages/pip/_internal/metadata/importlib/_compat.py", line 82, in get_dist_canonical_name
name = cast(Any, dist).name
AttributeError: 'PathDistribution' object has no attribute 'name'
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
[notice] A new release of pip is available: 24.3.1 -> 25.0
[notice] To update, run: pip install --upgrade pip
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 2
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This linting rule would have picked this up: https://docs.astral.sh/ruff/rules/future-required-type-annotation/ Worth enabling? I can create a seperate PR. It also picks up 3 issues in |
Please :) |
IMO this is safe to land onto main (and the follow up #13182), all the methods are internal and so not exposed to outside consumers with any guarantees, and even then it shouldn't affect any consumers as it doesn't change the semantics of the type hints, it just uses more compatible syntax. But I ofcourse leave that to @sbidoul to judge. |
#176) Bumps the ci group in /.github/workflows with 1 update: [pip](https://github.com/pypa/pip). Updates `pip` from 25.0 to 25.0.1 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's changelog</a>.</em></p> <blockquote> <h1>25.0.1 (2025-02-09)</h1> <h2>Bug Fixes</h2> <ul> <li>Fix an unsupported type annotation on Python 3.10 and earlier. (<code>[#13181](pypa/pip#13181) <https://github.com/pypa/pip/issues/13181></code>_)</li> <li>Fix a regression where truststore would never be used while installing build dependencies. (<code>[#13186](pypa/pip#13186) <https://github.com/pypa/pip/issues/13186></code>_)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/pip/commit/bc7c88cb3de9c9af769c51517833ea48bbe70d9a"><code>bc7c88c</code></a> Bump for release</li> <li><a href="https://github.com/pypa/pip/commit/ebd0a52e123af8f89b0f3e8e18627653f4c83bfe"><code>ebd0a52</code></a> Don't pass --cert to build subprocesses unless also given on CLI</li> <li><a href="https://github.com/pypa/pip/commit/aea86290d9b12ddbd2cb63f16c35d3e22f822bce"><code>aea8629</code></a> Fix locate_file() type hints for older Pythons</li> <li><a href="https://github.com/pypa/pip/commit/e612988a6155466a8da620b237639bc2682ecb68"><code>e612988</code></a> Add build-project.py compatibility note</li> <li><a href="https://github.com/pypa/pip/commit/202344eed3009a2546052b1885bdbcaee8295620"><code>202344e</code></a> Update the release process docs</li> <li><a href="https://github.com/pypa/pip/commit/dc696c28332ade10cfe7ce95bda7d6c2868f2083"><code>dc696c2</code></a> Patch out EXTERNALLY-MANAGED for self-check tests (<a href="https://redirect.github.com/pypa/pip/issues/13179">#13179</a>)</li> <li>See full diff in <a href="https://github.com/pypa/pip/compare/25.0...25.0.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pip](https://github.com/pypa/pip) from 25.0 to 25.0.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's changelog</a>.</em></p> <blockquote> <h1>25.0.1 (2025-02-09)</h1> <h2>Bug Fixes</h2> <ul> <li>Fix an unsupported type annotation on Python 3.10 and earlier. (<code>[#13181](pypa/pip#13181) <https://github.com/pypa/pip/issues/13181></code>_)</li> <li>Fix a regression where truststore would never be used while installing build dependencies. (<code>[#13186](pypa/pip#13186) <https://github.com/pypa/pip/issues/13186></code>_)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/pip/commit/bc7c88cb3de9c9af769c51517833ea48bbe70d9a"><code>bc7c88c</code></a> Bump for release</li> <li><a href="https://github.com/pypa/pip/commit/ebd0a52e123af8f89b0f3e8e18627653f4c83bfe"><code>ebd0a52</code></a> Don't pass --cert to build subprocesses unless also given on CLI</li> <li><a href="https://github.com/pypa/pip/commit/aea86290d9b12ddbd2cb63f16c35d3e22f822bce"><code>aea8629</code></a> Fix locate_file() type hints for older Pythons</li> <li><a href="https://github.com/pypa/pip/commit/e612988a6155466a8da620b237639bc2682ecb68"><code>e612988</code></a> Add build-project.py compatibility note</li> <li><a href="https://github.com/pypa/pip/commit/202344eed3009a2546052b1885bdbcaee8295620"><code>202344e</code></a> Update the release process docs</li> <li><a href="https://github.com/pypa/pip/commit/dc696c28332ade10cfe7ce95bda7d6c2868f2083"><code>dc696c2</code></a> Patch out EXTERNALLY-MANAGED for self-check tests (<a href="https://redirect.github.com/pypa/pip/issues/13179">#13179</a>)</li> <li>See full diff in <a href="https://github.com/pypa/pip/compare/25.0...25.0.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@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) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…k/test/generated-code (#4767) Bumps [pip](https://github.com/pypa/pip) from 25.0 to 25.0.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's changelog</a>.</em></p> <blockquote> <h1>25.0.1 (2025-02-09)</h1> <h2>Bug Fixes</h2> <ul> <li>Fix an unsupported type annotation on Python 3.10 and earlier. (<code>[#13181](pypa/pip#13181) <https://github.com/pypa/pip/issues/13181></code>_)</li> <li>Fix a regression where truststore would never be used while installing build dependencies. (<code>[#13186](pypa/pip#13186) <https://github.com/pypa/pip/issues/13186></code>_)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/pip/commit/bc7c88cb3de9c9af769c51517833ea48bbe70d9a"><code>bc7c88c</code></a> Bump for release</li> <li><a href="https://github.com/pypa/pip/commit/ebd0a52e123af8f89b0f3e8e18627653f4c83bfe"><code>ebd0a52</code></a> Don't pass --cert to build subprocesses unless also given on CLI</li> <li><a href="https://github.com/pypa/pip/commit/aea86290d9b12ddbd2cb63f16c35d3e22f822bce"><code>aea8629</code></a> Fix locate_file() type hints for older Pythons</li> <li><a href="https://github.com/pypa/pip/commit/e612988a6155466a8da620b237639bc2682ecb68"><code>e612988</code></a> Add build-project.py compatibility note</li> <li><a href="https://github.com/pypa/pip/commit/202344eed3009a2546052b1885bdbcaee8295620"><code>202344e</code></a> Update the release process docs</li> <li><a href="https://github.com/pypa/pip/commit/dc696c28332ade10cfe7ce95bda7d6c2868f2083"><code>dc696c2</code></a> Patch out EXTERNALLY-MANAGED for self-check tests (<a href="https://redirect.github.com/pypa/pip/issues/13179">#13179</a>)</li> <li>See full diff in <a href="https://github.com/pypa/pip/compare/25.0...25.0.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@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) </details>
… group (#9082) Bumps the default group in /.github/workflows with 1 update: [pip](https://github.com/pypa/pip). Updates `pip` from 25.0 to 25.0.1 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's changelog</a>.</em></p> <blockquote> <h1>25.0.1 (2025-02-09)</h1> <h2>Bug Fixes</h2> <ul> <li>Fix an unsupported type annotation on Python 3.10 and earlier. (<code>[#13181](pypa/pip#13181) <https://github.com/pypa/pip/issues/13181></code>_)</li> <li>Fix a regression where truststore would never be used while installing build dependencies. (<code>[#13186](pypa/pip#13186) <https://github.com/pypa/pip/issues/13186></code>_)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/pip/commit/bc7c88cb3de9c9af769c51517833ea48bbe70d9a"><code>bc7c88c</code></a> Bump for release</li> <li><a href="https://github.com/pypa/pip/commit/ebd0a52e123af8f89b0f3e8e18627653f4c83bfe"><code>ebd0a52</code></a> Don't pass --cert to build subprocesses unless also given on CLI</li> <li><a href="https://github.com/pypa/pip/commit/aea86290d9b12ddbd2cb63f16c35d3e22f822bce"><code>aea8629</code></a> Fix locate_file() type hints for older Pythons</li> <li><a href="https://github.com/pypa/pip/commit/e612988a6155466a8da620b237639bc2682ecb68"><code>e612988</code></a> Add build-project.py compatibility note</li> <li><a href="https://github.com/pypa/pip/commit/202344eed3009a2546052b1885bdbcaee8295620"><code>202344e</code></a> Update the release process docs</li> <li><a href="https://github.com/pypa/pip/commit/dc696c28332ade10cfe7ce95bda7d6c2868f2083"><code>dc696c2</code></a> Patch out EXTERNALLY-MANAGED for self-check tests (<a href="https://redirect.github.com/pypa/pip/issues/13179">#13179</a>)</li> <li>See full diff in <a href="https://github.com/pypa/pip/compare/25.0...25.0.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…e ci group (#580) Bumps the ci group in /.github/workflows with 1 update: [pip](https://github.com/pypa/pip). Updates `pip` from 25.0 to 25.0.1 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's changelog</a>.</em></p> <blockquote> <h1>25.0.1 (2025-02-09)</h1> <h2>Bug Fixes</h2> <ul> <li>Fix an unsupported type annotation on Python 3.10 and earlier. (<code>[#13181](pypa/pip#13181) <https://github.com/pypa/pip/issues/13181></code>_)</li> <li>Fix a regression where truststore would never be used while installing build dependencies. (<code>[#13186](pypa/pip#13186) <https://github.com/pypa/pip/issues/13186></code>_)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/pip/commit/bc7c88cb3de9c9af769c51517833ea48bbe70d9a"><code>bc7c88c</code></a> Bump for release</li> <li><a href="https://github.com/pypa/pip/commit/ebd0a52e123af8f89b0f3e8e18627653f4c83bfe"><code>ebd0a52</code></a> Don't pass --cert to build subprocesses unless also given on CLI</li> <li><a href="https://github.com/pypa/pip/commit/aea86290d9b12ddbd2cb63f16c35d3e22f822bce"><code>aea8629</code></a> Fix locate_file() type hints for older Pythons</li> <li><a href="https://github.com/pypa/pip/commit/e612988a6155466a8da620b237639bc2682ecb68"><code>e612988</code></a> Add build-project.py compatibility note</li> <li><a href="https://github.com/pypa/pip/commit/202344eed3009a2546052b1885bdbcaee8295620"><code>202344e</code></a> Update the release process docs</li> <li><a href="https://github.com/pypa/pip/commit/dc696c28332ade10cfe7ce95bda7d6c2868f2083"><code>dc696c2</code></a> Patch out EXTERNALLY-MANAGED for self-check tests (<a href="https://redirect.github.com/pypa/pip/issues/13179">#13179</a>)</li> <li>See full diff in <a href="https://github.com/pypa/pip/compare/25.0...25.0.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
#231) Bumps the ci group in /.github/workflows with 1 update: [pip](https://github.com/pypa/pip). Updates `pip` from 25.0 to 25.0.1 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's changelog</a>.</em></p> <blockquote> <h1>25.0.1 (2025-02-09)</h1> <h2>Bug Fixes</h2> <ul> <li>Fix an unsupported type annotation on Python 3.10 and earlier. (<code>[#13181](pypa/pip#13181) <https://github.com/pypa/pip/issues/13181></code>_)</li> <li>Fix a regression where truststore would never be used while installing build dependencies. (<code>[#13186](pypa/pip#13186) <https://github.com/pypa/pip/issues/13186></code>_)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/pip/commit/bc7c88cb3de9c9af769c51517833ea48bbe70d9a"><code>bc7c88c</code></a> Bump for release</li> <li><a href="https://github.com/pypa/pip/commit/ebd0a52e123af8f89b0f3e8e18627653f4c83bfe"><code>ebd0a52</code></a> Don't pass --cert to build subprocesses unless also given on CLI</li> <li><a href="https://github.com/pypa/pip/commit/aea86290d9b12ddbd2cb63f16c35d3e22f822bce"><code>aea8629</code></a> Fix locate_file() type hints for older Pythons</li> <li><a href="https://github.com/pypa/pip/commit/e612988a6155466a8da620b237639bc2682ecb68"><code>e612988</code></a> Add build-project.py compatibility note</li> <li><a href="https://github.com/pypa/pip/commit/202344eed3009a2546052b1885bdbcaee8295620"><code>202344e</code></a> Update the release process docs</li> <li><a href="https://github.com/pypa/pip/commit/dc696c28332ade10cfe7ce95bda7d6c2868f2083"><code>dc696c2</code></a> Patch out EXTERNALLY-MANAGED for self-check tests (<a href="https://redirect.github.com/pypa/pip/issues/13179">#13179</a>)</li> <li>See full diff in <a href="https://github.com/pypa/pip/compare/25.0...25.0.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pip](https://github.com/pypa/pip) from 25.0 to 25.0.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's changelog</a>.</em></p> <blockquote> <h1>25.0.1 (2025-02-09)</h1> <h2>Bug Fixes</h2> <ul> <li>Fix an unsupported type annotation on Python 3.10 and earlier. (<code>[#13181](pypa/pip#13181) <https://github.com/pypa/pip/issues/13181></code>_)</li> <li>Fix a regression where truststore would never be used while installing build dependencies. (<code>[#13186](pypa/pip#13186) <https://github.com/pypa/pip/issues/13186></code>_)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/pip/commit/bc7c88cb3de9c9af769c51517833ea48bbe70d9a"><code>bc7c88c</code></a> Bump for release</li> <li><a href="https://github.com/pypa/pip/commit/ebd0a52e123af8f89b0f3e8e18627653f4c83bfe"><code>ebd0a52</code></a> Don't pass --cert to build subprocesses unless also given on CLI</li> <li><a href="https://github.com/pypa/pip/commit/aea86290d9b12ddbd2cb63f16c35d3e22f822bce"><code>aea8629</code></a> Fix locate_file() type hints for older Pythons</li> <li><a href="https://github.com/pypa/pip/commit/e612988a6155466a8da620b237639bc2682ecb68"><code>e612988</code></a> Add build-project.py compatibility note</li> <li><a href="https://github.com/pypa/pip/commit/202344eed3009a2546052b1885bdbcaee8295620"><code>202344e</code></a> Update the release process docs</li> <li><a href="https://github.com/pypa/pip/commit/dc696c28332ade10cfe7ce95bda7d6c2868f2083"><code>dc696c2</code></a> Patch out EXTERNALLY-MANAGED for self-check tests (<a href="https://redirect.github.com/pypa/pip/issues/13179">#13179</a>)</li> <li>See full diff in <a href="https://github.com/pypa/pip/compare/25.0...25.0.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@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) </details>
🤦
See #11685 (comment).
Admittedly,
_PIP_USE_IMPORTLIB_METADATA
is probably pretty rare and the backend seems to be broken on the older Pythons already, but it can work in some limited situations. Unless people complain on mass, this doesn't warrant a bugfix release.