Skip to content

Commit cc1e71c

Browse files
authored
Merge pull request #13596 from notatallshaw/vendoring-updates
Vendoring updates
2 parents 5f8a352 + db1b8f9 commit cc1e71c

File tree

13 files changed

+60
-100
lines changed

13 files changed

+60
-100
lines changed

news/certifi.vendor.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Upgrade certifi to 2025.8.3

news/platformdirs.vendor.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Upgrade platformdirs to 4.4.0

news/requests.vendor.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Upgrade requests to 2.32.5
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
from .core import contents, where
22

33
__all__ = ["contents", "where"]
4-
__version__ = "2025.07.14"
4+
__version__ = "2025.08.03"

src/pip/_vendor/certifi/cacert.pem

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -3150,46 +3150,6 @@ DgQWBBQxCpCPtsad0kRLgLWi5h+xEk8blTAKBggqhkjOPQQDAwNoADBlAjEA31SQ
31503150
+RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+CAezNIm8BZ/3Hobui3A=
31513151
-----END CERTIFICATE-----
31523152

3153-
# Issuer: CN=GLOBALTRUST 2020 O=e-commerce monitoring GmbH
3154-
# Subject: CN=GLOBALTRUST 2020 O=e-commerce monitoring GmbH
3155-
# Label: "GLOBALTRUST 2020"
3156-
# Serial: 109160994242082918454945253
3157-
# MD5 Fingerprint: 8a:c7:6f:cb:6d:e3:cc:a2:f1:7c:83:fa:0e:78:d7:e8
3158-
# SHA1 Fingerprint: d0:67:c1:13:51:01:0c:aa:d0:c7:6a:65:37:31:16:26:4f:53:71:a2
3159-
# SHA256 Fingerprint: 9a:29:6a:51:82:d1:d4:51:a2:e3:7f:43:9b:74:da:af:a2:67:52:33:29:f9:0f:9a:0d:20:07:c3:34:e2:3c:9a
3160-
-----BEGIN CERTIFICATE-----
3161-
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
3190-
qfrQA71yN2BWHzZ8vTmR9W0Nv3vXkg==
3191-
-----END CERTIFICATE-----
3192-
31933153
# Issuer: CN=ANF Secure Server Root CA O=ANF Autoridad de Certificacion OU=ANF CA Raiz
31943154
# Subject: CN=ANF Secure Server Root CA O=ANF Autoridad de Certificacion OU=ANF CA Raiz
31953155
# Label: "ANF Secure Server Root CA"

src/pip/_vendor/platformdirs/api.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ def _optionally_create_directory(self, path: str) -> None:
9595
def _first_item_as_path_if_multipath(self, directory: str) -> Path:
9696
if self.multipath:
9797
# If multipath is True, the first path is returned.
98-
directory = directory.split(os.pathsep)[0]
98+
directory = directory.partition(os.pathsep)[0]
9999
return Path(directory)
100100

101101
@property

src/pip/_vendor/platformdirs/macos.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,14 @@ def site_data_dir(self) -> str:
3434
"""
3535
:return: data directory shared by users, e.g. ``/Library/Application Support/$appname/$version``.
3636
If we're using a Python binary managed by `Homebrew <https://brew.sh>`_, the directory
37-
will be under the Homebrew prefix, e.g. ``/opt/homebrew/share/$appname/$version``.
37+
will be under the Homebrew prefix, e.g. ``$homebrew_prefix/share/$appname/$version``.
3838
If `multipath <platformdirs.api.PlatformDirsABC.multipath>` is enabled, and we're in Homebrew,
3939
the response is a multi-path string separated by ":", e.g.
40-
``/opt/homebrew/share/$appname/$version:/Library/Application Support/$appname/$version``
40+
``$homebrew_prefix/share/$appname/$version:/Library/Application Support/$appname/$version``
4141
"""
42-
is_homebrew = sys.prefix.startswith("/opt/homebrew")
43-
path_list = [self._append_app_name_and_version("/opt/homebrew/share")] if is_homebrew else []
42+
is_homebrew = "/opt/python" in sys.prefix
43+
homebrew_prefix = sys.prefix.split("/opt/python")[0] if is_homebrew else ""
44+
path_list = [self._append_app_name_and_version(f"{homebrew_prefix}/share")] if is_homebrew else []
4445
path_list.append(self._append_app_name_and_version("/Library/Application Support"))
4546
if self.multipath:
4647
return os.pathsep.join(path_list)
@@ -71,13 +72,14 @@ def site_cache_dir(self) -> str:
7172
"""
7273
:return: cache directory shared by users, e.g. ``/Library/Caches/$appname/$version``.
7374
If we're using a Python binary managed by `Homebrew <https://brew.sh>`_, the directory
74-
will be under the Homebrew prefix, e.g. ``/opt/homebrew/var/cache/$appname/$version``.
75+
will be under the Homebrew prefix, e.g. ``$homebrew_prefix/var/cache/$appname/$version``.
7576
If `multipath <platformdirs.api.PlatformDirsABC.multipath>` is enabled, and we're in Homebrew,
7677
the response is a multi-path string separated by ":", e.g.
77-
``/opt/homebrew/var/cache/$appname/$version:/Library/Caches/$appname/$version``
78+
``$homebrew_prefix/var/cache/$appname/$version:/Library/Caches/$appname/$version``
7879
"""
79-
is_homebrew = sys.prefix.startswith("/opt/homebrew")
80-
path_list = [self._append_app_name_and_version("/opt/homebrew/var/cache")] if is_homebrew else []
80+
is_homebrew = "/opt/python" in sys.prefix
81+
homebrew_prefix = sys.prefix.split("/opt/python")[0] if is_homebrew else ""
82+
path_list = [self._append_app_name_and_version(f"{homebrew_prefix}/var/cache")] if is_homebrew else []
8183
path_list.append(self._append_app_name_and_version("/Library/Caches"))
8284
if self.multipath:
8385
return os.pathsep.join(path_list)
Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,34 @@
11
# file generated by setuptools-scm
22
# don't change, don't track in version control
33

4-
__all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
4+
__all__ = [
5+
"__version__",
6+
"__version_tuple__",
7+
"version",
8+
"version_tuple",
9+
"__commit_id__",
10+
"commit_id",
11+
]
512

613
TYPE_CHECKING = False
714
if TYPE_CHECKING:
815
from typing import Tuple
916
from typing import Union
1017

1118
VERSION_TUPLE = Tuple[Union[int, str], ...]
19+
COMMIT_ID = Union[str, None]
1220
else:
1321
VERSION_TUPLE = object
22+
COMMIT_ID = object
1423

1524
version: str
1625
__version__: str
1726
__version_tuple__: VERSION_TUPLE
1827
version_tuple: VERSION_TUPLE
28+
commit_id: COMMIT_ID
29+
__commit_id__: COMMIT_ID
1930

20-
__version__ = version = '4.3.8'
21-
__version_tuple__ = version_tuple = (4, 3, 8)
31+
__version__ = version = '4.4.0'
32+
__version_tuple__ = version_tuple = (4, 4, 0)
33+
34+
__commit_id__ = commit_id = None

src/pip/_vendor/requests/__version__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
__title__ = "requests"
66
__description__ = "Python HTTP for Humans."
77
__url__ = "https://requests.readthedocs.io"
8-
__version__ = "2.32.4"
9-
__build__ = 0x023204
8+
__version__ = "2.32.5"
9+
__build__ = 0x023205
1010
__author__ = "Kenneth Reitz"
1111
__author_email__ = "me@kennethreitz.org"
1212
__license__ = "Apache-2.0"

src/pip/_vendor/requests/adapters.py

Lines changed: 17 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
from pip._vendor.urllib3.util import Timeout as TimeoutSauce
2828
from pip._vendor.urllib3.util import parse_url
2929
from pip._vendor.urllib3.util.retry import Retry
30-
from pip._vendor.urllib3.util.ssl_ import create_urllib3_context
3130

3231
from .auth import _basic_auth_str
3332
from .compat import basestring, urlparse
@@ -74,19 +73,6 @@ def SOCKSProxyManager(*args, **kwargs):
7473
DEFAULT_POOL_TIMEOUT = None
7574

7675

77-
try:
78-
import ssl # noqa: F401
79-
80-
_preloaded_ssl_context = create_urllib3_context()
81-
_preloaded_ssl_context.load_verify_locations(
82-
extract_zipped_paths(DEFAULT_CA_BUNDLE_PATH)
83-
)
84-
except ImportError:
85-
# Bypass default SSLContext creation when Python
86-
# interpreter isn't built with the ssl module.
87-
_preloaded_ssl_context = None
88-
89-
9076
def _urllib3_request_context(
9177
request: "PreparedRequest",
9278
verify: "bool | str | None",
@@ -99,19 +85,9 @@ def _urllib3_request_context(
9985
scheme = parsed_request_url.scheme.lower()
10086
port = parsed_request_url.port
10187

102-
# Determine if we have and should use our default SSLContext
103-
# to optimize performance on standard requests.
104-
poolmanager_kwargs = getattr(poolmanager, "connection_pool_kw", {})
105-
has_poolmanager_ssl_context = poolmanager_kwargs.get("ssl_context")
106-
should_use_default_ssl_context = (
107-
_preloaded_ssl_context is not None and not has_poolmanager_ssl_context
108-
)
109-
11088
cert_reqs = "CERT_REQUIRED"
11189
if verify is False:
11290
cert_reqs = "CERT_NONE"
113-
elif verify is True and should_use_default_ssl_context:
114-
pool_kwargs["ssl_context"] = _preloaded_ssl_context
11591
elif isinstance(verify, str):
11692
if not os.path.isdir(verify):
11793
pool_kwargs["ca_certs"] = verify
@@ -314,26 +290,27 @@ def cert_verify(self, conn, url, verify, cert):
314290
:param cert: The SSL certificate to verify.
315291
"""
316292
if url.lower().startswith("https") and verify:
317-
conn.cert_reqs = "CERT_REQUIRED"
293+
cert_loc = None
318294

319-
# Only load the CA certificates if 'verify' is a string indicating the CA bundle to use.
320-
# Otherwise, if verify is a boolean, we don't load anything since
321-
# the connection will be using a context with the default certificates already loaded,
322-
# and this avoids a call to the slow load_verify_locations()
295+
# Allow self-specified cert location.
323296
if verify is not True:
324-
# `verify` must be a str with a path then
325297
cert_loc = verify
326298

327-
if not os.path.exists(cert_loc):
328-
raise OSError(
329-
f"Could not find a suitable TLS CA certificate bundle, "
330-
f"invalid path: {cert_loc}"
331-
)
299+
if not cert_loc:
300+
cert_loc = extract_zipped_paths(DEFAULT_CA_BUNDLE_PATH)
332301

333-
if not os.path.isdir(cert_loc):
334-
conn.ca_certs = cert_loc
335-
else:
336-
conn.ca_cert_dir = cert_loc
302+
if not cert_loc or not os.path.exists(cert_loc):
303+
raise OSError(
304+
f"Could not find a suitable TLS CA certificate bundle, "
305+
f"invalid path: {cert_loc}"
306+
)
307+
308+
conn.cert_reqs = "CERT_REQUIRED"
309+
310+
if not os.path.isdir(cert_loc):
311+
conn.ca_certs = cert_loc
312+
else:
313+
conn.ca_cert_dir = cert_loc
337314
else:
338315
conn.cert_reqs = "CERT_NONE"
339316
conn.ca_certs = None
@@ -410,7 +387,7 @@ def build_connection_pool_key_attributes(self, request, verify, cert=None):
410387
``"cert_reqs"`` will be set
411388
* If ``verify`` is a string, (i.e., it is a user-specified trust bundle)
412389
``"ca_certs"`` will be set if the string is not a directory recognized
413-
by :py:func:`os.path.isdir`, otherwise ``"ca_certs_dir"`` will be
390+
by :py:func:`os.path.isdir`, otherwise ``"ca_cert_dir"`` will be
414391
set.
415392
* If ``"cert"`` is specified, ``"cert_file"`` will always be set. If
416393
``"cert"`` is a tuple with a second item, ``"key_file"`` will also

0 commit comments

Comments
 (0)