Skip to content

Commit 205edfe

Browse files
authored
Merge pull request #13500 from ichard26/vendoring-bumps-25.2-c
Bump vendored packages one last time for 25.2.
2 parents b772bfa + c831300 commit 205edfe

File tree

9 files changed

+202
-52
lines changed

9 files changed

+202
-52
lines changed

news/certifi.vendor.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Upgrade certifi to 2025.6.15
1+
Upgrade certifi to 2025.7.14

news/distlib.vendor.rst

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

news/typing_extensions.vendor.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Upgrade typing_extensions to 4.14.0
1+
Upgrade typing_extensions to 4.14.1

src/pip/_vendor/certifi/__init__.py

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.06.15"
4+
__version__ = "2025.07.14"

src/pip/_vendor/certifi/cacert.pem

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,47 @@ t0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw
400400
WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==
401401
-----END CERTIFICATE-----
402402

403+
# Issuer: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority
404+
# Subject: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority
405+
# Label: "ePKI Root Certification Authority"
406+
# Serial: 28956088682735189655030529057352760477
407+
# MD5 Fingerprint: 1b:2e:00:ca:26:06:90:3d:ad:fe:6f:15:68:d3:6b:b3
408+
# SHA1 Fingerprint: 67:65:0d:f1:7e:8e:7e:5b:82:40:a4:f4:56:4b:cf:e2:3d:69:c6:f0
409+
# SHA256 Fingerprint: c0:a6:f4:dc:63:a2:4b:fd:cf:54:ef:2a:6a:08:2a:0a:72:de:35:80:3e:2f:f5:ff:52:7a:e5:d8:72:06:df:d5
410+
-----BEGIN CERTIFICATE-----
411+
MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBe
412+
MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0
413+
ZC4xKjAoBgNVBAsMIWVQS0kgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe
414+
Fw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMxMjdaMF4xCzAJBgNVBAYTAlRXMSMw
415+
IQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEqMCgGA1UECwwhZVBL
416+
SSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEF
417+
AAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAH
418+
SyZbCUNsIZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAh
419+
ijHyl3SJCRImHJ7K2RKilTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3X
420+
DZoTM1PRYfl61dd4s5oz9wCGzh1NlDivqOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1
421+
TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX12ruOzjjK9SXDrkb5wdJ
422+
fzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0OWQqraffA
423+
sgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uU
424+
WH1+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLS
425+
nT0IFaUQAS2zMnaolQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pH
426+
dmX2Os+PYhcZewoozRrSgx4hxyy/vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJip
427+
NiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXiZo1jDiVN1Rmy5nk3pyKdVDEC
428+
AwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/QkqiMAwGA1UdEwQF
429+
MAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH
430+
ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGB
431+
uvl2ICO1J2B01GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6Yl
432+
PwZpVnPDimZI+ymBV3QGypzqKOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkP
433+
JXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdVxrsStZf0X4OFunHB2WyBEXYKCrC/
434+
gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEPNXubrjlpC2JgQCA2
435+
j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+rGNm6
436+
5ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUB
437+
o2M3IUxExJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS
438+
/jQ6fbjpKdx2qcgw+BRxgMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2z
439+
Gp1iro2C6pSe3VkQw63d4k3jMdXH7OjysP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTE
440+
W9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmODBCEIZ43ygknQW/2xzQ+D
441+
hNQ+IIX3Sj0rnP0qCglN6oH4EZw=
442+
-----END CERTIFICATE-----
443+
403444
# Issuer: O=certSIGN OU=certSIGN ROOT CA
404445
# Subject: O=certSIGN OU=certSIGN ROOT CA
405446
# Label: "certSIGN ROOT CA"
@@ -4593,6 +4634,68 @@ knCDgKs4qllo3UCkGJCy89UDyibK79XH4I9TjvAA46jtn/mtd+ArY0+ew+43u3gJ
45934634
hJ65bvspmZDogNOfJA==
45944635
-----END CERTIFICATE-----
45954636

4637+
# Issuer: CN=TrustAsia TLS ECC Root CA O=TrustAsia Technologies, Inc.
4638+
# Subject: CN=TrustAsia TLS ECC Root CA O=TrustAsia Technologies, Inc.
4639+
# Label: "TrustAsia TLS ECC Root CA"
4640+
# Serial: 310892014698942880364840003424242768478804666567
4641+
# MD5 Fingerprint: 09:48:04:77:d2:fc:65:93:71:66:b1:11:95:4f:06:8c
4642+
# SHA1 Fingerprint: b5:ec:39:f3:a1:66:37:ae:c3:05:94:57:e2:be:11:be:b7:a1:7f:36
4643+
# SHA256 Fingerprint: c0:07:6b:9e:f0:53:1f:b1:a6:56:d6:7c:4e:be:97:cd:5d:ba:a4:1e:f4:45:98:ac:c2:48:98:78:c9:2d:87:11
4644+
-----BEGIN CERTIFICATE-----
4645+
MIICMTCCAbegAwIBAgIUNnThTXxlE8msg1UloD5Sfi9QaMcwCgYIKoZIzj0EAwMw
4646+
WDELMAkGA1UEBhMCQ04xJTAjBgNVBAoTHFRydXN0QXNpYSBUZWNobm9sb2dpZXMs
4647+
IEluYy4xIjAgBgNVBAMTGVRydXN0QXNpYSBUTFMgRUNDIFJvb3QgQ0EwHhcNMjQw
4648+
NTE1MDU0MTU2WhcNNDQwNTE1MDU0MTU1WjBYMQswCQYDVQQGEwJDTjElMCMGA1UE
4649+
ChMcVHJ1c3RBc2lhIFRlY2hub2xvZ2llcywgSW5jLjEiMCAGA1UEAxMZVHJ1c3RB
4650+
c2lhIFRMUyBFQ0MgUm9vdCBDQTB2MBAGByqGSM49AgEGBSuBBAAiA2IABLh/pVs/
4651+
AT598IhtrimY4ZtcU5nb9wj/1WrgjstEpvDBjL1P1M7UiFPoXlfXTr4sP/MSpwDp
4652+
guMqWzJ8S5sUKZ74LYO1644xST0mYekdcouJtgq7nDM1D9rs3qlKH8kzsaNCMEAw
4653+
DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQULIVTu7FDzTLqnqOH/qKYqKaT6RAw
4654+
DgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2gAMGUCMFRH18MtYYZI9HlaVQ01
4655+
L18N9mdsd0AaRuf4aFtOJx24mH1/k78ITcTaRTChD15KeAIxAKORh/IRM4PDwYqR
4656+
OkwrULG9IpRdNYlzg8WbGf60oenUoWa2AaU2+dhoYSi3dOGiMQ==
4657+
-----END CERTIFICATE-----
4658+
4659+
# Issuer: CN=TrustAsia TLS RSA Root CA O=TrustAsia Technologies, Inc.
4660+
# Subject: CN=TrustAsia TLS RSA Root CA O=TrustAsia Technologies, Inc.
4661+
# Label: "TrustAsia TLS RSA Root CA"
4662+
# Serial: 160405846464868906657516898462547310235378010780
4663+
# MD5 Fingerprint: 3b:9e:c3:86:0f:34:3c:6b:c5:46:c4:8e:1d:e7:19:12
4664+
# SHA1 Fingerprint: a5:46:50:c5:62:ea:95:9a:1a:a7:04:6f:17:58:c7:29:53:3d:03:fa
4665+
# SHA256 Fingerprint: 06:c0:8d:7d:af:d8:76:97:1e:b1:12:4f:e6:7f:84:7e:c0:c7:a1:58:d3:ea:53:cb:e9:40:e2:ea:97:91:f4:c3
4666+
-----BEGIN CERTIFICATE-----
4667+
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
4696+
323imttUQ/hHWKNddBWcwauwxzQ=
4697+
-----END CERTIFICATE-----
4698+
45964699
# Issuer: CN=D-TRUST EV Root CA 2 2023 O=D-Trust GmbH
45974700
# Subject: CN=D-TRUST EV Root CA 2 2023 O=D-Trust GmbH
45984701
# Label: "D-TRUST EV Root CA 2 2023"
@@ -4633,3 +4736,43 @@ gofXNJhuS5N5YHVpD/Aa1VP6IQzCP+k/HxiMkl14p3ZnGbuy6n/pcAlWVqOwDAst
46334736
Nl7F6cTVg8uGF5csbBNvh1qvSaYd2804BC5f4ko1Di1L+KIkBI3Y4WNeApI02phh
46344737
XBxvWHZks/wCuPWdCg==
46354738
-----END CERTIFICATE-----
4739+
4740+
# Issuer: CN=SwissSign RSA TLS Root CA 2022 - 1 O=SwissSign AG
4741+
# Subject: CN=SwissSign RSA TLS Root CA 2022 - 1 O=SwissSign AG
4742+
# Label: "SwissSign RSA TLS Root CA 2022 - 1"
4743+
# Serial: 388078645722908516278762308316089881486363258315
4744+
# MD5 Fingerprint: 16:2e:e4:19:76:81:85:ba:8e:91:58:f1:15:ef:72:39
4745+
# SHA1 Fingerprint: 81:34:0a:be:4c:cd:ce:cc:e7:7d:cc:8a:d4:57:e2:45:a0:77:5d:ce
4746+
# SHA256 Fingerprint: 19:31:44:f4:31:e0:fd:db:74:07:17:d4:de:92:6a:57:11:33:88:4b:43:60:d3:0e:27:29:13:cb:e6:60:ce:41
4747+
-----BEGIN CERTIFICATE-----
4748+
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
4778+
-----END CERTIFICATE-----

src/pip/_vendor/distlib/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# -*- coding: utf-8 -*-
22
#
3-
# Copyright (C) 2012-2023 Vinay Sajip.
3+
# Copyright (C) 2012-2024 Vinay Sajip.
44
# Licensed to the Python Software Foundation under a contributor agreement.
55
# See LICENSE.txt and CONTRIBUTORS.txt.
66
#
77
import logging
88

9-
__version__ = '0.3.9'
9+
__version__ = '0.4.0'
1010

1111

1212
class DistlibException(Exception):

src/pip/_vendor/distlib/scripts.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@
4242
SCRIPT_TEMPLATE = r'''# -*- coding: utf-8 -*-
4343
import re
4444
import sys
45-
from %(module)s import %(import_name)s
4645
if __name__ == '__main__':
46+
from %(module)s import %(import_name)s
4747
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
4848
sys.exit(%(func)s())
4949
'''

src/pip/_vendor/typing_extensions.py

Lines changed: 49 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,55 @@ def __new__(cls, *args, **kwargs):
221221

222222
ClassVar = typing.ClassVar
223223

224+
# Vendored from cpython typing._SpecialFrom
225+
# Having a separate class means that instances will not be rejected by
226+
# typing._type_check.
227+
class _SpecialForm(typing._Final, _root=True):
228+
__slots__ = ('_name', '__doc__', '_getitem')
229+
230+
def __init__(self, getitem):
231+
self._getitem = getitem
232+
self._name = getitem.__name__
233+
self.__doc__ = getitem.__doc__
234+
235+
def __getattr__(self, item):
236+
if item in {'__name__', '__qualname__'}:
237+
return self._name
238+
239+
raise AttributeError(item)
240+
241+
def __mro_entries__(self, bases):
242+
raise TypeError(f"Cannot subclass {self!r}")
243+
244+
def __repr__(self):
245+
return f'typing_extensions.{self._name}'
246+
247+
def __reduce__(self):
248+
return self._name
249+
250+
def __call__(self, *args, **kwds):
251+
raise TypeError(f"Cannot instantiate {self!r}")
252+
253+
def __or__(self, other):
254+
return typing.Union[self, other]
255+
256+
def __ror__(self, other):
257+
return typing.Union[other, self]
258+
259+
def __instancecheck__(self, obj):
260+
raise TypeError(f"{self} cannot be used with isinstance()")
261+
262+
def __subclasscheck__(self, cls):
263+
raise TypeError(f"{self} cannot be used with issubclass()")
264+
265+
@typing._tp_cache
266+
def __getitem__(self, parameters):
267+
return self._getitem(self, parameters)
268+
224269

270+
# Note that inheriting from this class means that the object will be
271+
# rejected by typing._type_check, so do not use it if the special form
272+
# is arguably valid as a type by itself.
225273
class _ExtensionsSpecialForm(typing._SpecialForm, _root=True):
226274
def __repr__(self):
227275
return 'typing_extensions.' + self._name
@@ -1223,7 +1271,7 @@ def _create_typeddict(
12231271
td.__orig_bases__ = (TypedDict,)
12241272
return td
12251273

1226-
class _TypedDictSpecialForm(_ExtensionsSpecialForm, _root=True):
1274+
class _TypedDictSpecialForm(_SpecialForm, _root=True):
12271275
def __call__(
12281276
self,
12291277
typename,
@@ -2201,48 +2249,6 @@ def cast[T](typ: TypeForm[T], value: Any) -> T: ...
22012249
return typing._GenericAlias(self, (item,))
22022250

22032251

2204-
# Vendored from cpython typing._SpecialFrom
2205-
class _SpecialForm(typing._Final, _root=True):
2206-
__slots__ = ('_name', '__doc__', '_getitem')
2207-
2208-
def __init__(self, getitem):
2209-
self._getitem = getitem
2210-
self._name = getitem.__name__
2211-
self.__doc__ = getitem.__doc__
2212-
2213-
def __getattr__(self, item):
2214-
if item in {'__name__', '__qualname__'}:
2215-
return self._name
2216-
2217-
raise AttributeError(item)
2218-
2219-
def __mro_entries__(self, bases):
2220-
raise TypeError(f"Cannot subclass {self!r}")
2221-
2222-
def __repr__(self):
2223-
return f'typing_extensions.{self._name}'
2224-
2225-
def __reduce__(self):
2226-
return self._name
2227-
2228-
def __call__(self, *args, **kwds):
2229-
raise TypeError(f"Cannot instantiate {self!r}")
2230-
2231-
def __or__(self, other):
2232-
return typing.Union[self, other]
2233-
2234-
def __ror__(self, other):
2235-
return typing.Union[other, self]
2236-
2237-
def __instancecheck__(self, obj):
2238-
raise TypeError(f"{self} cannot be used with isinstance()")
2239-
2240-
def __subclasscheck__(self, cls):
2241-
raise TypeError(f"{self} cannot be used with issubclass()")
2242-
2243-
@typing._tp_cache
2244-
def __getitem__(self, parameters):
2245-
return self._getitem(self, parameters)
22462252

22472253

22482254
if hasattr(typing, "LiteralString"): # 3.11+

src/pip/_vendor/vendor.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
CacheControl==0.14.3
2-
distlib==0.3.9
2+
distlib==0.4.0
33
distro==1.9.0
44
msgpack==1.1.1
55
packaging==25.0
66
platformdirs==4.3.8
77
pyproject-hooks==1.2.0
88
requests==2.32.4
9-
certifi==2025.6.15
9+
certifi==2025.7.14
1010
idna==3.10
1111
urllib3==1.26.20
1212
rich==14.0.0
1313
pygments==2.19.2
14-
typing_extensions==4.14.0
14+
typing_extensions==4.14.1
1515
resolvelib==1.2.0
1616
setuptools==70.3.0
1717
tomli==2.2.1

0 commit comments

Comments
 (0)