pex 2.59.3__py2.py3-none-any.whl → 2.59.5__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pex might be problematic. Click here for more details.

Files changed (44) hide show
  1. pex/build_backend/wrap.py +25 -4
  2. pex/compatibility.py +1 -1
  3. pex/docs/html/_pagefind/fragment/en_34b3bf8.pf_fragment +0 -0
  4. pex/docs/html/_pagefind/fragment/en_3cefc8e.pf_fragment +0 -0
  5. pex/docs/html/_pagefind/fragment/en_44ba8a7.pf_fragment +0 -0
  6. pex/docs/html/_pagefind/fragment/en_8eb9a56.pf_fragment +0 -0
  7. pex/docs/html/_pagefind/fragment/en_db171fd.pf_fragment +0 -0
  8. pex/docs/html/_pagefind/fragment/{en_632829c.pf_fragment → en_ecf679c.pf_fragment} +0 -0
  9. pex/docs/html/_pagefind/fragment/{en_f3c1826.pf_fragment → en_fb971c7.pf_fragment} +0 -0
  10. pex/docs/html/_pagefind/fragment/en_fd8f242.pf_fragment +0 -0
  11. pex/docs/html/_pagefind/index/{en_401edef.pf_index → en_974dc5a.pf_index} +0 -0
  12. pex/docs/html/_pagefind/pagefind-entry.json +1 -1
  13. pex/docs/html/_pagefind/pagefind.en_3549188bce.pf_meta +0 -0
  14. pex/docs/html/_static/documentation_options.js +1 -1
  15. pex/docs/html/api/vars.html +5 -5
  16. pex/docs/html/buildingpex.html +5 -5
  17. pex/docs/html/genindex.html +5 -5
  18. pex/docs/html/index.html +5 -5
  19. pex/docs/html/recipes.html +5 -5
  20. pex/docs/html/scie.html +5 -5
  21. pex/docs/html/search.html +5 -5
  22. pex/docs/html/whatispex.html +5 -5
  23. pex/interpreter_constraints.py +3 -2
  24. pex/pep_376.py +21 -9
  25. pex/resolve/venv_resolver.py +57 -3
  26. pex/sh_boot.py +1 -1
  27. pex/vendor/__init__.py +3 -1
  28. pex/vendor/_vendored/pip/.layout.json +1 -1
  29. pex/vendor/_vendored/pip/pip/_vendor/certifi/cacert.pem +63 -1
  30. pex/version.py +1 -1
  31. {pex-2.59.3.dist-info → pex-2.59.5.dist-info}/METADATA +4 -4
  32. {pex-2.59.3.dist-info → pex-2.59.5.dist-info}/RECORD +37 -37
  33. pex/docs/html/_pagefind/fragment/en_1ba1105.pf_fragment +0 -0
  34. pex/docs/html/_pagefind/fragment/en_44f43ef.pf_fragment +0 -0
  35. pex/docs/html/_pagefind/fragment/en_69aa49c.pf_fragment +0 -0
  36. pex/docs/html/_pagefind/fragment/en_8dd77f4.pf_fragment +0 -0
  37. pex/docs/html/_pagefind/fragment/en_b4ba902.pf_fragment +0 -0
  38. pex/docs/html/_pagefind/fragment/en_cdf12df.pf_fragment +0 -0
  39. pex/docs/html/_pagefind/pagefind.en_1fbf4014cc.pf_meta +0 -0
  40. {pex-2.59.3.dist-info → pex-2.59.5.dist-info}/WHEEL +0 -0
  41. {pex-2.59.3.dist-info → pex-2.59.5.dist-info}/entry_points.txt +0 -0
  42. {pex-2.59.3.dist-info → pex-2.59.5.dist-info}/licenses/LICENSE +0 -0
  43. {pex-2.59.3.dist-info → pex-2.59.5.dist-info}/pylock/pylock.toml +0 -0
  44. {pex-2.59.3.dist-info → pex-2.59.5.dist-info}/top_level.txt +0 -0
pex/build_backend/wrap.py CHANGED
@@ -22,10 +22,11 @@ from pex.common import (
22
22
  open_zip,
23
23
  safe_mkdtemp,
24
24
  )
25
+ from pex.compatibility import PY2
25
26
  from pex.typing import TYPE_CHECKING, cast
26
27
 
27
28
  if TYPE_CHECKING:
28
- from typing import Any, Dict, Iterator, Optional
29
+ from typing import Any, Callable, Dict, Iterator, Optional, Sequence, Tuple
29
30
 
30
31
 
31
32
  _CONFIG = load_config(internal_plugins=[(ScriptLocks.CONFIG_KEY, ScriptLocks)])
@@ -96,6 +97,27 @@ def build_sdist(
96
97
  return sdist_name
97
98
 
98
99
 
100
+ if TYPE_CHECKING:
101
+ from typing import Protocol
102
+
103
+ class CSVWriter(Protocol):
104
+ def writerow(self, row):
105
+ # type: (Sequence[Any]) -> None
106
+ pass
107
+
108
+
109
+ def csv_output():
110
+ # type: () -> Tuple[CSVWriter, Callable[[], bytes]]
111
+ if PY2:
112
+ record = io.BytesIO()
113
+ csv_writer = csv.writer(record, delimiter=",", quotechar='"', lineterminator="\n")
114
+ return csv_writer, record.getvalue
115
+ else:
116
+ record = io.StringIO()
117
+ csv_writer = csv.writer(record, delimiter=",", quotechar='"', lineterminator="\n")
118
+ return csv_writer, lambda: record.getvalue().encode("utf-8")
119
+
120
+
99
121
  def build_wheel(
100
122
  wheel_directory, # type: str
101
123
  config_settings=None, # type: Optional[Dict[str, Any]]
@@ -142,8 +164,7 @@ def build_wheel(
142
164
  record_zinfo, _ = ZipFileEx.zip_info_from_file(
143
165
  os.path.join(build_dir, record_relpath), arcname=record_relpath, date_time=date_time
144
166
  )
145
- record = io.StringIO()
146
- csv_writer = csv.writer(record, delimiter=",", quotechar='"', lineterminator="\n")
167
+ csv_writer, get_csv_bytes = csv_output()
147
168
  with open_zip(wheel_path, "w") as zf:
148
169
  for path in _iter_files_deterministic(build_dir):
149
170
  if path == record_relpath:
@@ -162,6 +183,6 @@ def build_wheel(
162
183
  )
163
184
 
164
185
  csv_writer.writerow((record_relpath, None, None))
165
- zf.writestr(record_zinfo, record.getvalue().encode("utf-8"))
186
+ zf.writestr(record_zinfo, get_csv_bytes())
166
187
 
167
188
  return wheel_name
pex/compatibility.py CHANGED
@@ -62,7 +62,7 @@ if PY2:
62
62
  # type: (AnyStr, Text) -> bytes
63
63
  if isinstance(st, unicode):
64
64
  return st.encode(encoding)
65
- elif isinstance(st, bytes):
65
+ elif isinstance(st, (str, bytes)):
66
66
  return st
67
67
  else:
68
68
  raise ValueError("Cannot convert %s to bytes" % type(st))
@@ -1 +1 @@
1
- {"version":"1.3.0","languages":{"en":{"hash":"en_1fbf4014cc","wasm":"en","page_count":8}}}
1
+ {"version":"1.3.0","languages":{"en":{"hash":"en_3549188bce","wasm":"en","page_count":8}}}
@@ -1,5 +1,5 @@
1
1
  const DOCUMENTATION_OPTIONS = {
2
- VERSION: '2.59.3',
2
+ VERSION: '2.59.5',
3
3
  LANGUAGE: 'en',
4
4
  COLLAPSE_INDEX: false,
5
5
  BUILDER: 'html',
@@ -8,7 +8,7 @@
8
8
  <link rel="prefetch" href="../_static/pex-logo-dark.png" as="image">
9
9
 
10
10
  <link rel="shortcut icon" href="../_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 -->
11
- <title>PEX runtime environment variables - Pex Docs (v2.59.3)</title>
11
+ <title>PEX runtime environment variables - Pex Docs (v2.59.5)</title>
12
12
  <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=d111a655" />
13
13
  <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=580074bf" />
14
14
  <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=8dab3a3b" />
@@ -163,7 +163,7 @@
163
163
  </label>
164
164
  </div>
165
165
  <div class="header-center">
166
- <a href="../index.html"><div class="brand">Pex Docs (v2.59.3)</div></a>
166
+ <a href="../index.html"><div class="brand">Pex Docs (v2.59.5)</div></a>
167
167
  </div>
168
168
  <div class="header-right">
169
169
  <div class="theme-toggle-container theme-toggle-header">
@@ -643,12 +643,12 @@
643
643
  </div>
644
644
  <div class="right-details">
645
645
  <div class="icons">
646
- <a class="muted-link " href="https://pypi.org/project/pex/2.59.3/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
646
+ <a class="muted-link " href="https://pypi.org/project/pex/2.59.5/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
647
647
  <path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z">
648
648
  </path>
649
649
  </svg>
650
650
  </a>
651
- <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.59.3/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
651
+ <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.59.5/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
652
652
  <path d="M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z">
653
653
  </path>
654
654
  </svg>
@@ -671,7 +671,7 @@
671
671
 
672
672
  </aside>
673
673
  </div>
674
- </div><script src="../_static/documentation_options.js?v=52ef6427"></script>
674
+ </div><script src="../_static/documentation_options.js?v=3d1e70f3"></script>
675
675
  <script src="../_static/doctools.js?v=9bcbadda"></script>
676
676
  <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
677
677
  <script src="../_static/scripts/furo.js?v=46bd48cc"></script>
@@ -8,7 +8,7 @@
8
8
  <link rel="prefetch" href="_static/pex-logo-dark.png" as="image">
9
9
 
10
10
  <link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 -->
11
- <title>Building .pex files - Pex Docs (v2.59.3)</title>
11
+ <title>Building .pex files - Pex Docs (v2.59.5)</title>
12
12
  <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
13
13
  <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=580074bf" />
14
14
  <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
@@ -163,7 +163,7 @@
163
163
  </label>
164
164
  </div>
165
165
  <div class="header-center">
166
- <a href="index.html"><div class="brand">Pex Docs (v2.59.3)</div></a>
166
+ <a href="index.html"><div class="brand">Pex Docs (v2.59.5)</div></a>
167
167
  </div>
168
168
  <div class="header-right">
169
169
  <div class="theme-toggle-container theme-toggle-header">
@@ -681,12 +681,12 @@ scary like <code class="docutils literal notranslate"><span class="pre">sudo</sp
681
681
  </div>
682
682
  <div class="right-details">
683
683
  <div class="icons">
684
- <a class="muted-link " href="https://pypi.org/project/pex/2.59.3/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
684
+ <a class="muted-link " href="https://pypi.org/project/pex/2.59.5/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
685
685
  <path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z">
686
686
  </path>
687
687
  </svg>
688
688
  </a>
689
- <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.59.3/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
689
+ <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.59.5/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
690
690
  <path d="M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z">
691
691
  </path>
692
692
  </svg>
@@ -709,7 +709,7 @@ scary like <code class="docutils literal notranslate"><span class="pre">sudo</sp
709
709
 
710
710
  </aside>
711
711
  </div>
712
- </div><script src="_static/documentation_options.js?v=52ef6427"></script>
712
+ </div><script src="_static/documentation_options.js?v=3d1e70f3"></script>
713
713
  <script src="_static/doctools.js?v=9bcbadda"></script>
714
714
  <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
715
715
  <script src="_static/scripts/furo.js?v=46bd48cc"></script>
@@ -6,7 +6,7 @@
6
6
  <link rel="prefetch" href="_static/pex-logo-light.png" as="image">
7
7
  <link rel="prefetch" href="_static/pex-logo-dark.png" as="image">
8
8
 
9
- <link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 --><title>Index - Pex Docs (v2.59.3)</title>
9
+ <link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 --><title>Index - Pex Docs (v2.59.5)</title>
10
10
  <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
11
11
  <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=580074bf" />
12
12
  <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
@@ -161,7 +161,7 @@
161
161
  </label>
162
162
  </div>
163
163
  <div class="header-center">
164
- <a href="index.html"><div class="brand">Pex Docs (v2.59.3)</div></a>
164
+ <a href="index.html"><div class="brand">Pex Docs (v2.59.5)</div></a>
165
165
  </div>
166
166
  <div class="header-right">
167
167
  <div class="theme-toggle-container theme-toggle-header">
@@ -260,12 +260,12 @@
260
260
  </div>
261
261
  <div class="right-details">
262
262
  <div class="icons">
263
- <a class="muted-link " href="https://pypi.org/project/pex/2.59.3/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
263
+ <a class="muted-link " href="https://pypi.org/project/pex/2.59.5/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
264
264
  <path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z">
265
265
  </path>
266
266
  </svg>
267
267
  </a>
268
- <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.59.3/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
268
+ <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.59.5/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
269
269
  <path d="M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z">
270
270
  </path>
271
271
  </svg>
@@ -288,7 +288,7 @@
288
288
 
289
289
  </aside>
290
290
  </div>
291
- </div><script src="_static/documentation_options.js?v=52ef6427"></script>
291
+ </div><script src="_static/documentation_options.js?v=3d1e70f3"></script>
292
292
  <script src="_static/doctools.js?v=9bcbadda"></script>
293
293
  <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
294
294
  <script src="_static/scripts/furo.js?v=46bd48cc"></script>
pex/docs/html/index.html CHANGED
@@ -8,7 +8,7 @@
8
8
  <link rel="prefetch" href="_static/pex-logo-dark.png" as="image">
9
9
 
10
10
  <link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 -->
11
- <title>Pex Docs (v2.59.3)</title>
11
+ <title>Pex Docs (v2.59.5)</title>
12
12
  <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
13
13
  <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=580074bf" />
14
14
  <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
@@ -163,7 +163,7 @@
163
163
  </label>
164
164
  </div>
165
165
  <div class="header-center">
166
- <a href="#"><div class="brand">Pex Docs (v2.59.3)</div></a>
166
+ <a href="#"><div class="brand">Pex Docs (v2.59.5)</div></a>
167
167
  </div>
168
168
  <div class="header-right">
169
169
  <div class="theme-toggle-container theme-toggle-header">
@@ -341,12 +341,12 @@ To go straight to building pex files, see <a class="reference internal" href="bu
341
341
  </div>
342
342
  <div class="right-details">
343
343
  <div class="icons">
344
- <a class="muted-link " href="https://pypi.org/project/pex/2.59.3/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
344
+ <a class="muted-link " href="https://pypi.org/project/pex/2.59.5/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
345
345
  <path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z">
346
346
  </path>
347
347
  </svg>
348
348
  </a>
349
- <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.59.3/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
349
+ <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.59.5/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
350
350
  <path d="M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z">
351
351
  </path>
352
352
  </svg>
@@ -389,7 +389,7 @@ To go straight to building pex files, see <a class="reference internal" href="bu
389
389
 
390
390
  </aside>
391
391
  </div>
392
- </div><script src="_static/documentation_options.js?v=52ef6427"></script>
392
+ </div><script src="_static/documentation_options.js?v=3d1e70f3"></script>
393
393
  <script src="_static/doctools.js?v=9bcbadda"></script>
394
394
  <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
395
395
  <script src="_static/scripts/furo.js?v=46bd48cc"></script>
@@ -8,7 +8,7 @@
8
8
  <link rel="prefetch" href="_static/pex-logo-dark.png" as="image">
9
9
 
10
10
  <link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 -->
11
- <title>PEX Recipes and Notes - Pex Docs (v2.59.3)</title>
11
+ <title>PEX Recipes and Notes - Pex Docs (v2.59.5)</title>
12
12
  <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
13
13
  <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=580074bf" />
14
14
  <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
@@ -163,7 +163,7 @@
163
163
  </label>
164
164
  </div>
165
165
  <div class="header-center">
166
- <a href="index.html"><div class="brand">Pex Docs (v2.59.3)</div></a>
166
+ <a href="index.html"><div class="brand">Pex Docs (v2.59.5)</div></a>
167
167
  </div>
168
168
  <div class="header-right">
169
169
  <div class="theme-toggle-container theme-toggle-header">
@@ -430,12 +430,12 @@ $<span class="w"> </span><span class="nb">export</span><span class="w"> </span><
430
430
  </div>
431
431
  <div class="right-details">
432
432
  <div class="icons">
433
- <a class="muted-link " href="https://pypi.org/project/pex/2.59.3/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
433
+ <a class="muted-link " href="https://pypi.org/project/pex/2.59.5/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
434
434
  <path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z">
435
435
  </path>
436
436
  </svg>
437
437
  </a>
438
- <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.59.3/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
438
+ <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.59.5/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
439
439
  <path d="M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z">
440
440
  </path>
441
441
  </svg>
@@ -482,7 +482,7 @@ $<span class="w"> </span><span class="nb">export</span><span class="w"> </span><
482
482
 
483
483
  </aside>
484
484
  </div>
485
- </div><script src="_static/documentation_options.js?v=52ef6427"></script>
485
+ </div><script src="_static/documentation_options.js?v=3d1e70f3"></script>
486
486
  <script src="_static/doctools.js?v=9bcbadda"></script>
487
487
  <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
488
488
  <script src="_static/scripts/furo.js?v=46bd48cc"></script>
pex/docs/html/scie.html CHANGED
@@ -8,7 +8,7 @@
8
8
  <link rel="prefetch" href="_static/pex-logo-dark.png" as="image">
9
9
 
10
10
  <link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 -->
11
- <title>PEX with included Python interpreter - Pex Docs (v2.59.3)</title>
11
+ <title>PEX with included Python interpreter - Pex Docs (v2.59.5)</title>
12
12
  <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
13
13
  <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=580074bf" />
14
14
  <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
@@ -163,7 +163,7 @@
163
163
  </label>
164
164
  </div>
165
165
  <div class="header-center">
166
- <a href="index.html"><div class="brand">Pex Docs (v2.59.3)</div></a>
166
+ <a href="index.html"><div class="brand">Pex Docs (v2.59.5)</div></a>
167
167
  </div>
168
168
  <div class="header-right">
169
169
  <div class="theme-toggle-container theme-toggle-header">
@@ -623,12 +623,12 @@ uuid
623
623
  </div>
624
624
  <div class="right-details">
625
625
  <div class="icons">
626
- <a class="muted-link " href="https://pypi.org/project/pex/2.59.3/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
626
+ <a class="muted-link " href="https://pypi.org/project/pex/2.59.5/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
627
627
  <path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z">
628
628
  </path>
629
629
  </svg>
630
630
  </a>
631
- <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.59.3/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
631
+ <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.59.5/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
632
632
  <path d="M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z">
633
633
  </path>
634
634
  </svg>
@@ -672,7 +672,7 @@ uuid
672
672
 
673
673
  </aside>
674
674
  </div>
675
- </div><script src="_static/documentation_options.js?v=52ef6427"></script>
675
+ </div><script src="_static/documentation_options.js?v=3d1e70f3"></script>
676
676
  <script src="_static/doctools.js?v=9bcbadda"></script>
677
677
  <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
678
678
  <script src="_static/scripts/furo.js?v=46bd48cc"></script>
pex/docs/html/search.html CHANGED
@@ -6,7 +6,7 @@
6
6
  <link rel="prefetch" href="_static/pex-logo-light.png" as="image">
7
7
  <link rel="prefetch" href="_static/pex-logo-dark.png" as="image">
8
8
 
9
- <link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 --><title>Search - Pex Docs (v2.59.3)</title><link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
9
+ <link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 --><title>Search - Pex Docs (v2.59.5)</title><link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
10
10
  <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=580074bf" />
11
11
  <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
12
12
 
@@ -176,7 +176,7 @@
176
176
  </label>
177
177
  </div>
178
178
  <div class="header-center">
179
- <a href="index.html"><div class="brand">Pex Docs (v2.59.3)</div></a>
179
+ <a href="index.html"><div class="brand">Pex Docs (v2.59.5)</div></a>
180
180
  </div>
181
181
  <div class="header-right">
182
182
  <div class="theme-toggle-container theme-toggle-header">
@@ -273,12 +273,12 @@
273
273
  </div>
274
274
  <div class="right-details">
275
275
  <div class="icons">
276
- <a class="muted-link " href="https://pypi.org/project/pex/2.59.3/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
276
+ <a class="muted-link " href="https://pypi.org/project/pex/2.59.5/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
277
277
  <path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z">
278
278
  </path>
279
279
  </svg>
280
280
  </a>
281
- <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.59.3/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
281
+ <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.59.5/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
282
282
  <path d="M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z">
283
283
  </path>
284
284
  </svg>
@@ -301,7 +301,7 @@
301
301
 
302
302
  </aside>
303
303
  </div>
304
- </div><script src="_static/documentation_options.js?v=52ef6427"></script>
304
+ </div><script src="_static/documentation_options.js?v=3d1e70f3"></script>
305
305
  <script src="_static/doctools.js?v=9bcbadda"></script>
306
306
  <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
307
307
  <script src="_static/scripts/furo.js?v=46bd48cc"></script>
@@ -8,7 +8,7 @@
8
8
  <link rel="prefetch" href="_static/pex-logo-dark.png" as="image">
9
9
 
10
10
  <link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 -->
11
- <title>What are .pex files? - Pex Docs (v2.59.3)</title>
11
+ <title>What are .pex files? - Pex Docs (v2.59.5)</title>
12
12
  <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
13
13
  <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=580074bf" />
14
14
  <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
@@ -163,7 +163,7 @@
163
163
  </label>
164
164
  </div>
165
165
  <div class="header-center">
166
- <a href="index.html"><div class="brand">Pex Docs (v2.59.3)</div></a>
166
+ <a href="index.html"><div class="brand">Pex Docs (v2.59.5)</div></a>
167
167
  </div>
168
168
  <div class="header-right">
169
169
  <div class="theme-toggle-container theme-toggle-header">
@@ -322,12 +322,12 @@ build executable .pex files. This is described more thoroughly in
322
322
  </div>
323
323
  <div class="right-details">
324
324
  <div class="icons">
325
- <a class="muted-link " href="https://pypi.org/project/pex/2.59.3/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
325
+ <a class="muted-link " href="https://pypi.org/project/pex/2.59.5/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
326
326
  <path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z">
327
327
  </path>
328
328
  </svg>
329
329
  </a>
330
- <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.59.3/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
330
+ <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.59.5/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
331
331
  <path d="M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z">
332
332
  </path>
333
333
  </svg>
@@ -371,7 +371,7 @@ build executable .pex files. This is described more thoroughly in
371
371
 
372
372
  </aside>
373
373
  </div>
374
- </div><script src="_static/documentation_options.js?v=52ef6427"></script>
374
+ </div><script src="_static/documentation_options.js?v=3d1e70f3"></script>
375
375
  <script src="_static/doctools.js?v=9bcbadda"></script>
376
376
  <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
377
377
  <script src="_static/scripts/furo.js?v=46bd48cc"></script>
@@ -379,8 +379,9 @@ COMPATIBLE_PYTHON_VERSIONS = (
379
379
  PythonVersion(Lifecycle.STABLE, 3, 10, 18),
380
380
  PythonVersion(Lifecycle.STABLE, 3, 11, 13),
381
381
  PythonVersion(Lifecycle.STABLE, 3, 12, 11),
382
- PythonVersion(Lifecycle.STABLE, 3, 13, 7),
383
- PythonVersion(Lifecycle.DEV, 3, 14, 0),
382
+ PythonVersion(Lifecycle.STABLE, 3, 13, 8),
383
+ PythonVersion(Lifecycle.STABLE, 3, 14, 0),
384
+ PythonVersion(Lifecycle.DEV, 3, 15, 0),
384
385
  )
385
386
 
386
387
 
pex/pep_376.py CHANGED
@@ -22,6 +22,7 @@ from pex.common import (
22
22
  safe_open,
23
23
  safe_relative_symlink,
24
24
  )
25
+ from pex.compatibility import PY2
25
26
  from pex.fs import safe_link
26
27
  from pex.interpreter import PythonInterpreter
27
28
  from pex.typing import TYPE_CHECKING, cast
@@ -30,7 +31,7 @@ from pex.venv.virtualenv import Virtualenv
30
31
  from pex.wheel import WHEEL, Wheel, WheelMetadataLoadError
31
32
 
32
33
  if TYPE_CHECKING:
33
- from typing import Callable, Iterable, Iterator, Optional, Protocol, Text, Tuple, Union
34
+ from typing import IO, Callable, Iterable, Iterator, Optional, Protocol, Text, Tuple, Union
34
35
 
35
36
  import attr # vendor:skip
36
37
 
@@ -66,7 +67,12 @@ class Hash(object):
66
67
  # + https://peps.python.org/pep-0376/#record
67
68
  # + https://peps.python.org/pep-0427/#appendix
68
69
  fingerprint = base64.urlsafe_b64encode(hasher.digest()).rstrip(b"=")
69
- return cls(value="{alg}={hash}".format(alg=hasher.name, hash=fingerprint.decode("ascii")))
70
+
71
+ # N.B.: The algorithm is all caps under Python 2.7, but lower case under Python 3; so we
72
+ # normalize.
73
+ alg = hasher.name.lower()
74
+
75
+ return cls(value="{alg}={hash}".format(alg=alg, hash=fingerprint.decode("ascii")))
70
76
 
71
77
  value = attr.ib() # type: str
72
78
 
@@ -472,6 +478,17 @@ class Record(object):
472
478
  See: https://peps.python.org/pep-0376/#record
473
479
  """
474
480
 
481
+ @classmethod
482
+ def write_fp(
483
+ cls,
484
+ fp, # type: IO
485
+ installed_files, # type: Iterable[InstalledFile]
486
+ ):
487
+ # type: (...) -> None
488
+ csv_writer = csv.writer(fp, delimiter=",", quotechar='"', lineterminator="\n")
489
+ for installed_file in sorted(installed_files, key=lambda installed: installed.path):
490
+ csv_writer.writerow(attr.astuple(installed_file, recurse=False))
491
+
475
492
  @classmethod
476
493
  def write(
477
494
  cls,
@@ -482,13 +499,8 @@ class Record(object):
482
499
 
483
500
  # The RECORD is a csv file with the path to each installed file in the 1st column.
484
501
  # See: https://peps.python.org/pep-0376/#record
485
- with safe_open(dst, "w") as fp:
486
- csv_writer = cast(
487
- "CSVWriter",
488
- csv.writer(fp, delimiter=",", quotechar='"', lineterminator="\n"),
489
- )
490
- for installed_file in sorted(installed_files, key=lambda installed: installed.path):
491
- csv_writer.writerow(attr.astuple(installed_file, recurse=False))
502
+ with safe_open(dst, "wb" if PY2 else "w") as fp:
503
+ cls.write_fp(fp, installed_files)
492
504
 
493
505
  @classmethod
494
506
  def read(
@@ -5,6 +5,7 @@ from __future__ import absolute_import
5
5
 
6
6
  import functools
7
7
  import hashlib
8
+ import io
8
9
  import itertools
9
10
  import os
10
11
  from collections import defaultdict, deque
@@ -13,6 +14,7 @@ from pex import pex_warnings
13
14
  from pex.atomic_directory import atomic_directory
14
15
  from pex.cache.dirs import CacheDir, InstalledWheelDir
15
16
  from pex.common import safe_relative_symlink
17
+ from pex.compatibility import PY2, commonpath
16
18
  from pex.dependency_configuration import DependencyConfiguration
17
19
  from pex.dist_metadata import (
18
20
  Constraint,
@@ -26,7 +28,7 @@ from pex.exceptions import production_assert, reportable_unexpected_error_msg
26
28
  from pex.fingerprinted_distribution import FingerprintedDistribution
27
29
  from pex.jobs import DEFAULT_MAX_JOBS, iter_map_parallel
28
30
  from pex.orderedset import OrderedSet
29
- from pex.pep_376 import InstalledWheel
31
+ from pex.pep_376 import InstalledWheel, Record
30
32
  from pex.pep_427 import InstallableType, InstallableWheel, InstallPaths, install_wheel_chroot
31
33
  from pex.pep_503 import ProjectName
32
34
  from pex.pip.version import PipVersion
@@ -36,6 +38,7 @@ from pex.resolve.requirement_configuration import RequirementConfiguration
36
38
  from pex.resolve.resolver_configuration import PipConfiguration
37
39
  from pex.resolve.resolvers import ResolvedDistribution, Resolver, ResolveResult
38
40
  from pex.result import Error
41
+ from pex.sysconfig import script_name
39
42
  from pex.targets import LocalInterpreter, Target, Targets
40
43
  from pex.typing import TYPE_CHECKING
41
44
  from pex.venv.virtualenv import Virtualenv
@@ -49,6 +52,50 @@ else:
49
52
  import pex.third_party.attr as attr
50
53
 
51
54
 
55
+ def _normalize_record(
56
+ distribution, # type: Distribution
57
+ install_paths, # type: InstallPaths
58
+ record_data, # type: bytes
59
+ ):
60
+ # type: (...) -> bytes
61
+
62
+ entry_map = distribution.get_entry_map()
63
+ entry_point_scripts = {
64
+ script_name(entry_point)
65
+ for key in ("console_scripts", "gui_scripts")
66
+ for entry_point in entry_map.get(key, {})
67
+ }
68
+ if not entry_point_scripts:
69
+ return record_data
70
+
71
+ scripts_dir = os.path.realpath(install_paths.scripts)
72
+ installed_files = [
73
+ installed_file
74
+ for installed_file in Record.read(lines=iter(record_data.decode("utf-8").splitlines()))
75
+ if (
76
+ (os.path.basename(installed_file.path) not in entry_point_scripts)
77
+ or (
78
+ scripts_dir
79
+ != commonpath(
80
+ (
81
+ scripts_dir,
82
+ os.path.realpath(os.path.join(distribution.location, installed_file.path)),
83
+ )
84
+ )
85
+ )
86
+ )
87
+ ]
88
+
89
+ if PY2:
90
+ record_fp = io.BytesIO()
91
+ Record.write_fp(fp=record_fp, installed_files=installed_files)
92
+ return record_fp.getvalue()
93
+ else:
94
+ record_fp = io.StringIO()
95
+ Record.write_fp(fp=record_fp, installed_files=installed_files)
96
+ return record_fp.getvalue().encode("utf-8")
97
+
98
+
52
99
  def _install_distribution(
53
100
  venv_install_paths, # type: InstallPaths
54
101
  distribution, # type: Distribution
@@ -74,7 +121,14 @@ def _install_distribution(
74
121
  )
75
122
 
76
123
  installed_wheel_dir = InstalledWheelDir.create(
77
- wheel_name=wheel.wheel_file_name, install_hash=hashlib.sha256(record_data).hexdigest()
124
+ wheel_name=wheel.wheel_file_name,
125
+ install_hash=hashlib.sha256(
126
+ _normalize_record(
127
+ distribution=Distribution(location=wheel.location, metadata=wheel.dist_metadata()),
128
+ install_paths=venv_install_paths,
129
+ record_data=record_data,
130
+ )
131
+ ).hexdigest(),
78
132
  )
79
133
  with atomic_directory(target_dir=installed_wheel_dir) as atomic_dir:
80
134
  if not atomic_dir.is_finalized():
@@ -86,7 +140,7 @@ def _install_distribution(
86
140
  raise AssertionError(reportable_unexpected_error_msg())
87
141
  runtime_key_dir = CacheDir.INSTALLED_WHEELS.path(installed_wheel.fingerprint)
88
142
  with atomic_directory(runtime_key_dir) as symlink_atomic_dir:
89
- if not atomic_dir.is_finalized():
143
+ if not symlink_atomic_dir.is_finalized():
90
144
  # Note: Create a relative path symlink between the two directories so that the
91
145
  # PEX_ROOT can be used within a chroot environment where the prefix of the path
92
146
  # may change between programs running inside and outside the chroot.
pex/sh_boot.py CHANGED
@@ -87,7 +87,7 @@ def _calculate_applicable_binary_names(
87
87
  # more sophisticated detection and re-direction from these during its own bootstrap. When doing
88
88
  # so, select these interpreters from newest to oldest since it more likely any given machine
89
89
  # will have Python 3 at this point than it will Python 2.
90
- pex_requires_python = SpecifierSet(">=2.7")
90
+ pex_requires_python = SpecifierSet(os.environ.get("_PEX_REQUIRES_PYTHON", ">=2.7"))
91
91
  dist = dist_metadata.find_distribution("pex") # type: Optional[Distribution]
92
92
  if dist and dist.metadata.version == Version(__version__):
93
93
  pex_requires_python = dist.metadata.requires_python
pex/vendor/__init__.py CHANGED
@@ -201,9 +201,11 @@ class VendorSpec(
201
201
  # Automated update of Pip's vendored certifi's cacert.pem to that from certifi 2025.7.14.
202
202
  # 12.) https://github.com/pex-tool/pip/commit/21a4058f77f9864151510b725419206a2e5645ae
203
203
  # Automated update of Pip's vendored certifi's cacert.pem to that from certifi 2025.8.3.
204
+ # 13.) https://github.com/pex-tool/pip/commit/cef23bb7153ec49037d963e84fcad0f08880fbc5
205
+ # Automated update of Pip's vendored certifi's cacert.pem to that from certifi 2025.10.5.
204
206
  PIP_SPEC = VendorSpec.git(
205
207
  repo="https://github.com/pex-tool/pip",
206
- commit="21a4058f77f9864151510b725419206a2e5645ae",
208
+ commit="cef23bb7153ec49037d963e84fcad0f08880fbc5",
207
209
  project_name="pip",
208
210
  rewrite=False,
209
211
  )
@@ -1 +1 @@
1
- {"fingerprint": "41d61b8d13d898e82f6a921c03b5f6aa90a2e835922ed84a9d811cf61e1d364d", "record_relpath": "pip-20.3.4.dist-info/RECORD", "root_is_purelib": true, "stash_dir": ".prefix"}
1
+ {"fingerprint": "de23a2c694fa2713ad15b0c336b22208fbd1524e975d96886eeb842f2adb1d4e", "record_relpath": "pip-20.3.4.dist-info/RECORD", "root_is_purelib": true, "stash_dir": ".prefix"}
@@ -1,4 +1,4 @@
1
- # Updated via `nox -e update-certifi-cacert-pem` using certifi 2025.8.3
1
+ # Updated via `nox -e update-certifi-cacert-pem` using certifi 2025.10.5
2
2
 
3
3
 
4
4
  # Issuer: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc.
@@ -4739,3 +4739,65 @@ rk4N3hY9A4GzJl5LuEsAz/+MF7psYC0nhzck5npgL7XTgwSqT0N1osGDsieYK7EO
4739
4739
  gLrAhV5Cud+xYJHT6xh+cHiudoO+cVrQkOPKwRYlZ0rwtnu64ZzZ
4740
4740
  -----END CERTIFICATE-----
4741
4741
 
4742
+ # Issuer: CN=OISTE Server Root ECC G1 O=OISTE Foundation
4743
+ # Subject: CN=OISTE Server Root ECC G1 O=OISTE Foundation
4744
+ # Label: "OISTE Server Root ECC G1"
4745
+ # Serial: 47819833811561661340092227008453318557
4746
+ # MD5 Fingerprint: 42:a7:d2:35:ae:02:92:db:19:76:08:de:2f:05:b4:d4
4747
+ # SHA1 Fingerprint: 3b:f6:8b:09:ae:2a:92:7b:ba:e3:8d:3f:11:95:d9:e6:44:0c:45:e2
4748
+ # SHA256 Fingerprint: ee:c9:97:c0:c3:0f:21:6f:7e:3b:8b:30:7d:2b:ae:42:41:2d:75:3f:c8:21:9d:af:d1:52:0b:25:72:85:0f:49
4749
+ -----BEGIN CERTIFICATE-----
4750
+ MIICNTCCAbqgAwIBAgIQI/nD1jWvjyhLH/BU6n6XnTAKBggqhkjOPQQDAzBLMQsw
4751
+ CQYDVQQGEwJDSDEZMBcGA1UECgwQT0lTVEUgRm91bmRhdGlvbjEhMB8GA1UEAwwY
4752
+ T0lTVEUgU2VydmVyIFJvb3QgRUNDIEcxMB4XDTIzMDUzMTE0NDIyOFoXDTQ4MDUy
4753
+ NDE0NDIyN1owSzELMAkGA1UEBhMCQ0gxGTAXBgNVBAoMEE9JU1RFIEZvdW5kYXRp
4754
+ b24xITAfBgNVBAMMGE9JU1RFIFNlcnZlciBSb290IEVDQyBHMTB2MBAGByqGSM49
4755
+ AgEGBSuBBAAiA2IABBcv+hK8rBjzCvRE1nZCnrPoH7d5qVi2+GXROiFPqOujvqQy
4756
+ cvO2Ackr/XeFblPdreqqLiWStukhEaivtUwL85Zgmjvn6hp4LrQ95SjeHIC6XG4N
4757
+ 2xml4z+cKrhAS93mT6NjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBQ3
4758
+ TYhlz/w9itWj8UnATgwQb0K0nDAdBgNVHQ4EFgQUN02IZc/8PYrVo/FJwE4MEG9C
4759
+ tJwwDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2kAMGYCMQCpKjAd0MKfkFFR
4760
+ QD6VVCHNFmb3U2wIFjnQEnx/Yxvf4zgAOdktUyBFCxxgZzFDJe0CMQCSia7pXGKD
4761
+ YmH5LVerVrkR3SW+ak5KGoJr3M/TvEqzPNcum9v4KGm8ay3sMaE641c=
4762
+ -----END CERTIFICATE-----
4763
+
4764
+ # Issuer: CN=OISTE Server Root RSA G1 O=OISTE Foundation
4765
+ # Subject: CN=OISTE Server Root RSA G1 O=OISTE Foundation
4766
+ # Label: " OISTE Server Root RSA G1"
4767
+ # Serial: 113845518112613905024960613408179309848
4768
+ # MD5 Fingerprint: 23:a7:9e:d4:70:b8:b9:14:57:41:8a:7e:44:59:e2:68
4769
+ # SHA1 Fingerprint: f7:00:34:25:94:88:68:31:e4:34:87:3f:70:fe:86:b3:86:9f:f0:6e
4770
+ # SHA256 Fingerprint: 9a:e3:62:32:a5:18:9f:fd:db:35:3d:fd:26:52:0c:01:53:95:d2:27:77:da:c5:9d:b5:7b:98:c0:89:a6:51:e6
4771
+ -----BEGIN CERTIFICATE-----
4772
+ MIIFgzCCA2ugAwIBAgIQVaXZZ5Qoxu0M+ifdWwFNGDANBgkqhkiG9w0BAQwFADBL
4773
+ MQswCQYDVQQGEwJDSDEZMBcGA1UECgwQT0lTVEUgRm91bmRhdGlvbjEhMB8GA1UE
4774
+ AwwYT0lTVEUgU2VydmVyIFJvb3QgUlNBIEcxMB4XDTIzMDUzMTE0MzcxNloXDTQ4
4775
+ MDUyNDE0MzcxNVowSzELMAkGA1UEBhMCQ0gxGTAXBgNVBAoMEE9JU1RFIEZvdW5k
4776
+ YXRpb24xITAfBgNVBAMMGE9JU1RFIFNlcnZlciBSb290IFJTQSBHMTCCAiIwDQYJ
4777
+ KoZIhvcNAQEBBQADggIPADCCAgoCggIBAKqu9KuCz/vlNwvn1ZatkOhLKdxVYOPM
4778
+ vLO8LZK55KN68YG0nnJyQ98/qwsmtO57Gmn7KNByXEptaZnwYx4M0rH/1ow00O7b
4779
+ rEi56rAUjtgHqSSY3ekJvqgiG1k50SeH3BzN+Puz6+mTeO0Pzjd8JnduodgsIUzk
4780
+ ik/HEzxux9UTl7Ko2yRpg1bTacuCErudG/L4NPKYKyqOBGf244ehHa1uzjZ0Dl4z
4781
+ O8vbUZeUapU8zhhabkvG/AePLhq5SvdkNCncpo1Q4Y2LS+VIG24ugBA/5J8bZT8R
4782
+ tOpXaZ+0AOuFJJkk9SGdl6r7NH8CaxWQrbueWhl/pIzY+m0o/DjH40ytas7ZTpOS
4783
+ jswMZ78LS5bOZmdTaMsXEY5Z96ycG7mOaES3GK/m5Q9l3JUJsJMStR8+lKXHiHUh
4784
+ sd4JJCpM4rzsTGdHwimIuQq6+cF0zowYJmXa92/GjHtoXAvuY8BeS/FOzJ8vD+Ho
4785
+ mnqT8eDI278n5mUpezbgMxVz8p1rhAhoKzYHKyfMeNhqhw5HdPSqoBNdZH702xSu
4786
+ +zrkL8Fl47l6QGzwBrd7KJvX4V84c5Ss2XCTLdyEr0YconosP4EmQufU2MVshGYR
4787
+ i3drVByjtdgQ8K4p92cIiBdcuJd5z+orKu5YM+Vt6SmqZQENghPsJQtdLEByFSnT
4788
+ kCz3GkPVavBpAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU
4789
+ 8snBDw1jALvsRQ5KH7WxszbNDo0wHQYDVR0OBBYEFPLJwQ8NYwC77EUOSh+1sbM2
4790
+ zQ6NMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQwFAAOCAgEANGd5sjrG5T33
4791
+ I3K5Ce+SrScfoE4KsvXaFwyihdJ+klH9FWXXXGtkFu6KRcoMQzZENdl//nk6HOjG
4792
+ 5D1rd9QhEOP28yBOqb6J8xycqd+8MDoX0TJD0KqKchxRKEzdNsjkLWd9kYccnbz8
4793
+ qyiWXmFcuCIzGEgWUOrKL+mlSdx/PKQZvDatkuK59EvV6wit53j+F8Bdh3foZ3dP
4794
+ AGav9LEDOr4SfEE15fSmG0eLy3n31r8Xbk5l8PjaV8GUgeV6Vg27Rn9vkf195hfk
4795
+ gSe7BYhW3SCl95gtkRlpMV+bMPKZrXJAlszYd2abtNUOshD+FKrDgHGdPY3ofRRs
4796
+ YWSGRqbXVMW215AWRqWFyp464+YTFrYVI8ypKVL9AMb2kI5Wj4kI3Zaq5tNqqYY1
4797
+ 9tVFeEJKRvwDyF7YZvZFZSS0vod7VSCd9521Kvy5YhnLbDuv0204bKt7ph6N/Ome
4798
+ /msVuduCmsuY33OhkKCgxeDoAaijFJzIwZqsFVAzje18KotzlUBDJvyBpCpfOZC3
4799
+ J8tRd/iWkx7P8nd9H0aTolkelUTFLXVksNb54Dxp6gS1HAviRkRNQzuXSXERvSS2
4800
+ wq1yVAb+axj5d9spLFKebXd7Yv0PTY6YMjAwcRLWJTXjn/hvnLXrahut6hDTlhZy
4801
+ BiElxky8j3C7DOReIoMt0r7+hVu05L0=
4802
+ -----END CERTIFICATE-----
4803
+
pex/version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  # Copyright 2015 Pex project contributors.
2
2
  # Licensed under the Apache License, Version 2.0 (see LICENSE).
3
3
 
4
- __version__ = "2.59.3"
4
+ __version__ = "2.59.5"
@@ -1,15 +1,15 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pex
3
- Version: 2.59.3
3
+ Version: 2.59.5
4
4
  Summary: The PEX packaging toolchain.
5
5
  Home-page: https://github.com/pex-tool/pex
6
- Download-URL: https://github.com/pex-tool/pex/releases/download/v2.59.3/pex
6
+ Download-URL: https://github.com/pex-tool/pex/releases/download/v2.59.5/pex
7
7
  Author: The PEX developers
8
8
  Author-email: developers@pex-tool.org
9
9
  License-Expression: Apache-2.0
10
- Project-URL: Changelog, https://github.com/pex-tool/pex/blob/v2.59.3/CHANGES.md
10
+ Project-URL: Changelog, https://github.com/pex-tool/pex/blob/v2.59.5/CHANGES.md
11
11
  Project-URL: Documentation, https://docs.pex-tool.org/
12
- Project-URL: Source, https://github.com/pex-tool/pex/tree/v2.59.3
12
+ Project-URL: Source, https://github.com/pex-tool/pex/tree/v2.59.5
13
13
  Keywords: package,executable,virtualenv,lock,freeze
14
14
  Classifier: Development Status :: 5 - Production/Stable
15
15
  Classifier: Intended Audience :: Developers
@@ -9,7 +9,7 @@ pex/auth.py,sha256=USbYTSbEuq4jpH3v9BZ7XypW11ASiwXDWn7UzDVoMoo,5875
9
9
  pex/bootstrap.py,sha256=XCmK2X5vdjJye4s6OUbE4nxWgZSM5_xT-Se1bMHKwoE,5462
10
10
  pex/cli_util.py,sha256=F67UHGT5xBGFQBy2D-mxxMBCJ2V_gDtekjWni9u_J84,1192
11
11
  pex/common.py,sha256=TukYFf-td_Gi0CRzWwiV8KICEDa1LybN03bi8aESBXw,32159
12
- pex/compatibility.py,sha256=ixbXjBrYniL95m8oUi50ss4IDEXPM70J2AlnpJNlUeI,10110
12
+ pex/compatibility.py,sha256=v3y2THaiaYofZV0Bru6FwoM2OxDl03POkai1tQ245vY,10117
13
13
  pex/compiler.py,sha256=oDQ8env2V2Vo8KCXxQ6U7J9wxXB7y8vLazvDl_oJ8vo,3568
14
14
  pex/dependency_configuration.py,sha256=F-aFtAoODe69lmI8wE2KN1T_RYvEdOUxktg_mjp78Ko,9197
15
15
  pex/dependency_manager.py,sha256=DsqhgTGozNVUwStqcZR9WgJgjhZCzPp4wUa7PtbL8-M,4379
@@ -27,7 +27,7 @@ pex/hashing.py,sha256=ZFKHJva_XPYz3nYQkjKLob5-WprAHeA6WtAGwfwXkQk,8585
27
27
  pex/hashing.py.lck,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
28
  pex/inherit_path.py,sha256=NyEC7OxIQp3lwtZJAU3DxEGtJHM9GcKDkaaUmqZrJTU,1004
29
29
  pex/interpreter.py,sha256=KiWvv0BN2DfdhgEFoGr3PQq9DCec6PR8_k3dap91eKk,62953
30
- pex/interpreter_constraints.py,sha256=VBA-OF3lFe2anuIDE5YG01X1pTFzjcYWNB616WpGsPg,14663
30
+ pex/interpreter_constraints.py,sha256=U3QZ2kJx91ARI3RTssPkf1Vd7RgnPCeobaVDcLetjH0,14710
31
31
  pex/interpreter_implementation.py,sha256=OfatzBe4P-CqF4y9Jlwt-x41q7THspGexKyYPkma4w0,1137
32
32
  pex/jobs.py,sha256=1Ete5N2ezLNSpZjfx5pIRExYYgeIeMMKfSph977QkKs,28657
33
33
  pex/lang.py,sha256=Rhqq2EyYjCy1Ejg5wX0N5gZI0F0tIrxAgnlWSvf3dI4,1031
@@ -35,7 +35,7 @@ pex/layout.py,sha256=_I2RjSF5wNQGmnUCwakPzUK-U140LtlP40EtQS6VyyQ,23961
35
35
  pex/network_configuration.py,sha256=Nim3wdAwpF4KmUgDcC-LEUPtJVurvm0bX0yTwnN8vVA,1900
36
36
  pex/orderedset.py,sha256=jZ06iLmsplRngd4mfCeS-swRYlVqs6NBop5tFxSEwtY,3723
37
37
  pex/os.py,sha256=QfEFtrXjLcz_yRW3ng3k1YCC1DzbhwpjByOF8ARYc4g,7576
38
- pex/pep_376.py,sha256=13xJz-i7lEnPzQ8eOqzK4laOeCRs-GlUOzAGyu5VBpM,18611
38
+ pex/pep_376.py,sha256=inIox4M1-uhxOOodsIRfCKhi83BalDCFCsB3nTu14Pc,18948
39
39
  pex/pep_425.py,sha256=vuU80pL49jGVqOpACkFipsJqTYneXXAx-o6vBLxkeKE,6698
40
40
  pex/pep_427.py,sha256=xU6ZMpb5U6B4SMzpv86URPmh4MrH3OcY88JgHz4-q8M,18902
41
41
  pex/pep_440.py,sha256=HLyVaZgO3_FZx1eoZyNYyHGB0w3I3q2oBBe3PZabt4c,3053
@@ -56,7 +56,7 @@ pex/rank.py,sha256=dNFi6Y7bBe8gwcKSon81EOs9Jw4uhUzoHgRnIDYV8lU,3901
56
56
  pex/requirements.py,sha256=NpseoFVrUfTDSd0JAoOnVstbvYC140ecDgiHeb39b3s,29007
57
57
  pex/resolver.py,sha256=-TXyEUU9qhhES0C2d-i4D8hi4SEisAv-SwkhcPwMhaQ,68778
58
58
  pex/result.py,sha256=VTE_n-IffLf-FD4ENNbRvq_ebahh-IDYAna1y5Iw1WI,3090
59
- pex/sh_boot.py,sha256=IBpqPHnfYlImx8SMMYeeXD7BEmqnlFVAxmArieNMtU0,11217
59
+ pex/sh_boot.py,sha256=1DgwHUB5oLSOEs2Fvf-HSGv8-VwYNHx8kpvlTj3R0yE,11257
60
60
  pex/sorted_tuple.py,sha256=L_49iVoVZ57J-q44nVRO-boT0bc8ynhJlhS_yUp2xeo,2371
61
61
  pex/specifier_sets.py,sha256=iT2h4lSB09Rdk4t64iP5abI39s0TpTDDwFVLDHiPj2Q,11559
62
62
  pex/subprocess.py,sha256=yexT74-Ji4X6y8Z2MQopV8q6DfX7KTM8ozaelwwuWmg,1492
@@ -67,7 +67,7 @@ pex/tracer.py,sha256=nob_hNooCYWZev7_ABhAVyO4HBZ8Q_OajQUvNnr82Rc,4481
67
67
  pex/typing.py,sha256=J1JTB1V48zIWmhWRHEMDHWMaFPMzsEonWJ9s57Ev43Q,3050
68
68
  pex/util.py,sha256=TxTxpdDmrDTLVXt9e2XuRq9c3N6jRYNCce87QBFkCVo,5491
69
69
  pex/variables.py,sha256=h3-JeMzXfRzEsWqTYsoU-6vt5W4Kr0VvbfSDAYtuZOU,34728
70
- pex/version.py,sha256=oTaMtrnzeFCMM0ljfFh9e9m2oEOTXIYZd-ocGOD_6-4,131
70
+ pex/version.py,sha256=8TYQxLd_jcXUwGb-tObq2SIKh5v3_Z68YsLGxteopC0,131
71
71
  pex/wheel.py,sha256=1o1yUfbgCEPLyfFiCUpR245myC_p3rEhkgqdW9AfBMw,8349
72
72
  pex/ziputils.py,sha256=thUrto9vEdG9mFCIJ59Js3d1y6bSfFdl7pb1lSb7KAQ,9620
73
73
  pex/bin/__init__.py,sha256=Kb2dGrZYVtb0cd9ngKHuLShndNU1GSWdeDzN-u_L6Io,107
@@ -75,7 +75,7 @@ pex/bin/pex.py,sha256=K8rx3V05GpDej5dHggTBH-3IYjm1XSSZW7ueSqBUTfg,56056
75
75
  pex/build_backend/__init__.py,sha256=tmA8i5f0-IGhFekR1VJF9kn3LXbhs3nToTuvh4S3hEQ,188
76
76
  pex/build_backend/configuration.py,sha256=s95XQMc2P23GWrS8z8O6pyfUDYNlFlBkuegqTEpJYOA,9353
77
77
  pex/build_backend/pylock.py,sha256=xY9OO6pNPneqEQAxDTwHH5XNbU_aoM6MACuPOiT7jo0,8318
78
- pex/build_backend/wrap.py,sha256=DH1jJWQ9g2FGdLEvLLMny9koYEP0_9O_138SMVTB6YM,5504
78
+ pex/build_backend/wrap.py,sha256=IkYStMypNdqsLDPNoCB4-6yPRLobABIhx9jRVMHusGI,6109
79
79
  pex/build_system/__init__.py,sha256=JYbpW71Z5Jkft7b5VSMg2VQJUNWzRDXji-2DFyXUvmQ,564
80
80
  pex/build_system/pep_517.py,sha256=ZGeDso2Pmv2JjB0dMBUcXHlCMhram7QhJneYskXtH4U,10458
81
81
  pex/build_system/pep_518.py,sha256=LMgvpHqcifQAHe6jgGBEGgPolMIk7BBcKBunN5u7jr4,8355
@@ -110,33 +110,33 @@ pex/distutils/commands/__init__.py,sha256=uASB5OU996Jax-h3kMmeZjG5Jdy9BYDR6A1swk
110
110
  pex/distutils/commands/bdist_pex.py,sha256=SLwBj0ALpArhKQT94X0niKWfyLaySjOZuZrGXG332K0,5117
111
111
  pex/docs/__init__.py,sha256=u9hPOij1fpo1yPBLTQTdSCnSIUuRCSXHomCkEAaCciA,439
112
112
  pex/docs/command.py,sha256=uQyD8bO_DBNIlkPd6F7SFZbZUVh1Xn6gT8OmVxP4qxk,3046
113
- pex/docs/html/buildingpex.html,sha256=l4goj7uKuspYFN2zhWhyWEiQiZTAk5X68RckREczad0,57407
114
- pex/docs/html/genindex.html,sha256=WpHK3JZ3mexbBDgqrxUhHX76CoQCM5_0fLqYumEcZac,17198
115
- pex/docs/html/index.html,sha256=TK8NpZS_bToGpDUIgW2uk-LLciegm6Cq7eo30I07mJg,25028
116
- pex/docs/html/recipes.html,sha256=BjxE8-J5Lzc384IG-IAgak03hzrRL7NlrgLIDJaEeFc,35192
117
- pex/docs/html/scie.html,sha256=E7IuEX8PfMryrs8D1Z8_dDhmX-kPRaZuPeDR7m6HMAg,62182
118
- pex/docs/html/search.html,sha256=CP5MsIGiUmpbNZs7ieh4JZi1Oj8FguH7ke5DkxHQQSE,18169
113
+ pex/docs/html/buildingpex.html,sha256=c8P0DqJXSZD2HfvqXqPKXkN6ygQHecqmTVZ8IGywbIk,57407
114
+ pex/docs/html/genindex.html,sha256=tfN_27VTuCnOlW-ihM4AB_OF9mHMGb9rMgSpxc6IXMA,17198
115
+ pex/docs/html/index.html,sha256=egJesknjJNGZznCnpJPBwa8BE4b0oO9TVeK_6FW-q5Q,25028
116
+ pex/docs/html/recipes.html,sha256=ifjVZt2OozcxTQuSks3vjo8lEoiHqKswoVd793R3HYg,35192
117
+ pex/docs/html/scie.html,sha256=CjJKHgMTtEVrCJO8DZvQXIjCuxTXmMwNrH-RElwXMXI,62182
118
+ pex/docs/html/search.html,sha256=0CF6SvNZyWSrqMFAZG0GFuoO9Tvb1S5n5pTIBFmR1vU,18169
119
119
  pex/docs/html/searchindex.js,sha256=R_L6Oveik_wlK5CmaE7YwRvmu81r6fd7jtnZUjfk1sA,18009
120
- pex/docs/html/whatispex.html,sha256=A_zDiGo3lW_8W1PbAN8rsSe2u5oh81wYBqm1ORZ67nU,22754
121
- pex/docs/html/_pagefind/pagefind-entry.json,sha256=m8ByXDHc6X3FCLWVI4YTy048XktKzndLJmyIqUCCf3w,90
120
+ pex/docs/html/whatispex.html,sha256=jH7iypQwoLGoAgO17KrJKoPhZKL75TImMZI4vyfbvok,22754
121
+ pex/docs/html/_pagefind/pagefind-entry.json,sha256=qTQEr1IyN-r9rlPU78YXUNObZKjVTaNjQ8Q9D7ELXzg,90
122
122
  pex/docs/html/_pagefind/pagefind-highlight.js,sha256=5hRyi7gOMY9tlTe-tbmDrVJpoxbnYxhbJeoGwtmCfXA,43944
123
123
  pex/docs/html/_pagefind/pagefind-modular-ui.css,sha256=ZTqynk3lYp9t319vzfXSs-tTmowH__ila4ziFWpXB4g,7336
124
124
  pex/docs/html/_pagefind/pagefind-modular-ui.js,sha256=-DCEOJ2cInrvjEGZFxCuYy81EMWbKHhMu4wivlJmUzE,14486
125
125
  pex/docs/html/_pagefind/pagefind-ui.css,sha256=GL61nVezuyVA4ynNRJejhEwUBxhBtx4rDYVlAgI_W1U,14486
126
126
  pex/docs/html/_pagefind/pagefind-ui.js,sha256=WQ3yec_CMkBKswl16Ig5N_zJzeCgL4z9y344TcJeKAQ,78367
127
- pex/docs/html/_pagefind/pagefind.en_1fbf4014cc.pf_meta,sha256=ASJqfE7NT3xv-MVxdBATAXtTxCpEore5KCmKQdXiTrw,155
127
+ pex/docs/html/_pagefind/pagefind.en_3549188bce.pf_meta,sha256=enQWQ31ukW_xCvtiNhrk74vLr51ejiQ97qPH2nUy2vc,154
128
128
  pex/docs/html/_pagefind/pagefind.js,sha256=Q-4jKyPif6awDU9x8IoWXTWoJJR1JZicegUYQ-QI4MA,32912
129
129
  pex/docs/html/_pagefind/wasm.en.pagefind,sha256=mG0TKIE7WXynsyg-tpiMZiVG2Hwebbt2UqFqlqdTTsE,70873
130
130
  pex/docs/html/_pagefind/wasm.unknown.pagefind,sha256=eAREknqQnc_y96pbl8eYz9zqfUXsqe64B7HwrQE2SkY,67202
131
- pex/docs/html/_pagefind/fragment/en_1ba1105.pf_fragment,sha256=M8kHMsgSdDKZKTvMyElCpIMt3TcW71zGcZOSyYv4hZ4,3018
132
- pex/docs/html/_pagefind/fragment/en_44f43ef.pf_fragment,sha256=ILyLBn7uNrMet11TNWxaCxIj3uQwjoYq6WoUOcPDDF4,1143
133
- pex/docs/html/_pagefind/fragment/en_632829c.pf_fragment,sha256=k-AAKrnvj9qduL-jHjHSVR_AfSNOy7esUggsF5Zp_7U,4848
134
- pex/docs/html/_pagefind/fragment/en_69aa49c.pf_fragment,sha256=-NFSIoDKUr2t5Ibt1z1pbr2oIZWTcH8GZmRaN8HK8Bg,3648
135
- pex/docs/html/_pagefind/fragment/en_8dd77f4.pf_fragment,sha256=uG4mVgVD7Ahkdw97462dOpq-wb_8IyVwKtLDyfxnTHY,360
136
- pex/docs/html/_pagefind/fragment/en_b4ba902.pf_fragment,sha256=-efTUDdhr3LS7t-wi63KPO6QqBKPgbSsyhKlm40e1Ew,372
137
- pex/docs/html/_pagefind/fragment/en_cdf12df.pf_fragment,sha256=OGAJKu-phm7vlU2Xvy-sBAHRNwolclVby-NTwAauQcI,1158
138
- pex/docs/html/_pagefind/fragment/en_f3c1826.pf_fragment,sha256=TAw7QStDX5EhTvP7kePaFHfdeunvKBwVZ61KkRmG_qI,6821
139
- pex/docs/html/_pagefind/index/en_401edef.pf_index,sha256=plZYZPNiYRva6qLkS1G3tfxoTKgJjRbFGd1EBIVhyWk,28864
131
+ pex/docs/html/_pagefind/fragment/en_34b3bf8.pf_fragment,sha256=ZSteSEg7xrUw66R7OpzBJnkvwjI7PVBryoc92_AoPmE,1158
132
+ pex/docs/html/_pagefind/fragment/en_3cefc8e.pf_fragment,sha256=n_ofdxdTB2yQpa78wp2BWBxHiR3NRRsSg19J6xKFSic,3648
133
+ pex/docs/html/_pagefind/fragment/en_44ba8a7.pf_fragment,sha256=Yr0q9J-Vp-cIEmIHffLJLGvkAV0tnHj4JAFSVOKRcqg,3019
134
+ pex/docs/html/_pagefind/fragment/en_8eb9a56.pf_fragment,sha256=McwuuMrGfYShEGr-QsXlDRcrMyeEQhdPg-y75-gNsH8,371
135
+ pex/docs/html/_pagefind/fragment/en_db171fd.pf_fragment,sha256=k7FHW2OES10NKBA2B0hKNZVfwVcHgbGpiNS3dE1W0L0,1143
136
+ pex/docs/html/_pagefind/fragment/en_ecf679c.pf_fragment,sha256=3bWhbIKHmWz-E0QkadN15R14kkNbX9XHh9n2kIWuCMg,4848
137
+ pex/docs/html/_pagefind/fragment/en_fb971c7.pf_fragment,sha256=_8utVDMfEa9p4jOBtPLBRVGsUC_7LwbeIOimBfSNu5A,6821
138
+ pex/docs/html/_pagefind/fragment/en_fd8f242.pf_fragment,sha256=fknjwHxancy5mVvpnin3q0Mg7vH2a20P2ffxbi4MwYw,360
139
+ pex/docs/html/_pagefind/index/en_974dc5a.pf_index,sha256=X9Lq-7twR8ehx-Lqj99ngDPbIrngyU75gnfUWXY5TVU,28864
140
140
  pex/docs/html/_sources/buildingpex.rst.txt,sha256=87P3ZO871MILL9pmpDM8_M7_YV1z5HjTYa9m8yuxTa4,19138
141
141
  pex/docs/html/_sources/index.rst.txt,sha256=vWt1s6dirYeR-9mFJY1SClwWvbWqIqJSFCAF1CdZojc,1468
142
142
  pex/docs/html/_sources/recipes.rst.txt,sha256=kerzvp8_t5io6eGl3YJODtNBQy7GmY2AA6RHaij9C-g,6958
@@ -146,7 +146,7 @@ pex/docs/html/_sources/api/vars.md.txt,sha256=C9gu5czyB-g788xRfYKF8P176ew_q97X6z
146
146
  pex/docs/html/_static/basic.css,sha256=ZW_xus1vJg_H1xuX-cLx_L9pLchL9GnNlSA078ue7-0,14685
147
147
  pex/docs/html/_static/debug.css,sha256=DQXNnnnVMjQwRmfAjwKXHeYZbA_8pZPDkDs2Z7QFWtY,1266
148
148
  pex/docs/html/_static/doctools.js,sha256=KZLAnfkYJqjTPjtItkXud-RXrc98cS13aoFOHixEi0M,4322
149
- pex/docs/html/_static/documentation_options.js,sha256=yXpsOe-c9FAZ_FE9Offd_gh15-XgDvhoa5tVl7LFcvU,329
149
+ pex/docs/html/_static/documentation_options.js,sha256=FzFNkE6N5ndrd4mLtTqtXfptHwW0oIKZeYMrrcSfD0k,329
150
150
  pex/docs/html/_static/file.png,sha256=XEvJoWrr84xLlQ9ZuOUByjZJUyjLnrYiIYvOkGSjXj4,286
151
151
  pex/docs/html/_static/language_data.js,sha256=O8MRVjt_xegPyrL4Ypd0vzy2swICAA3zbf-OaVqQI7c,4598
152
152
  pex/docs/html/_static/minus.png,sha256=R-f8UNs2mfHKQc6aL_ogLADF0dUYDFX2K6hZsb1swAg,90
@@ -166,7 +166,7 @@ pex/docs/html/_static/styles/furo-extensions.css,sha256=PSsCB3EaBzE9-2yLJyKV9fkx
166
166
  pex/docs/html/_static/styles/furo-extensions.css.map,sha256=CzW267gfKqH8ruMlwJbWg-MsGAipIgZwoaP4gwDGkVw,7762
167
167
  pex/docs/html/_static/styles/furo.css,sha256=666beINeSQtLZbSeNCMj62G7a13xiX1YwJVvij3jr-8,50749
168
168
  pex/docs/html/_static/styles/furo.css.map,sha256=0k0kb9TwrJYQRT-2cbjTcOz7PQykGWHdy2BSuVMtrnY,76038
169
- pex/docs/html/api/vars.html,sha256=_QwCzZQYK4ttvk45pR6d8wgJsFVxOCbNJW1YCA3TDfQ,34903
169
+ pex/docs/html/api/vars.html,sha256=ne5l5-6kRls8OBKWoWE_pehdJ0l1FXo3hP4qc7PtNtA,34903
170
170
  pex/fs/__init__.py,sha256=ues2bnsufy1lYRyoWsiP-G4kuPrV-tXaZ0x-HFJFpwY,3605
171
171
  pex/fs/_posix.py,sha256=p-VkjEfRNXduBmkxcuEXWM1g6y6xrkufSYzEy93tqjA,1275
172
172
  pex/fs/_windows.py,sha256=apacgHpxNutF5HkU6cYOLHq7yqaijRMsFBdsdKSviDo,3304
@@ -219,7 +219,7 @@ pex/resolve/script_metadata.py,sha256=6PdrBvUmKQGdTIPHfE-F07460drqjQB_HuBgz_35ql
219
219
  pex/resolve/target_configuration.py,sha256=FFrVHKgceCMlse2xOgxTtdnQ7ENw3A59t4IId0F1GDw,10349
220
220
  pex/resolve/target_options.py,sha256=6YoXvIWSyTKfkJ3fcEhqu7eDzF-TlUKhSoNlGoLApQI,12550
221
221
  pex/resolve/target_system.py,sha256=R256UFgP7vZ9iBI5Zo45Bh224nkBom6Y8Z6UnJqloKk,17256
222
- pex/resolve/venv_resolver.py,sha256=TrxbnC85S-gTm3xGgH-H3RX9Xjz6B87WMTJPEWa_8qg,18294
222
+ pex/resolve/venv_resolver.py,sha256=mwNRxRaqpsDhqx4MmDxmg4zR1IsyrTFWu773c2czvb4,20010
223
223
  pex/resolve/lockfile/__init__.py,sha256=uASB5OU996Jax-h3kMmeZjG5Jdy9BYDR6A1swkBoFDg,107
224
224
  pex/resolve/lockfile/create.py,sha256=MnMb4e1opHvim_-gdXqb6xiNJAfXCVi7M0HnfMNExJg,27979
225
225
  pex/resolve/lockfile/download_manager.py,sha256=7mI_vUIIn4VxG3RDNxyT5yTpFLG9LH_IlGDKRMB_OJ0,9176
@@ -252,7 +252,7 @@ pex/tools/commands/interpreter.py,sha256=_9V_vuIC6VEg6baBlD7Lqz2W-FZ1OmLhCHZaSaa
252
252
  pex/tools/commands/repository.py,sha256=kyUX-ygK2KgbLgQi9t19mnq-7XMCA21M4pTI-7tURuQ,16693
253
253
  pex/tools/commands/venv.py,sha256=MriujQyIYFjZBnH6uZ9_OKCvxn6rsi4lti1zn7iMctE,5908
254
254
  pex/vendor/README.md,sha256=ALpofIYGpo6-TheVfYJpm3M9t6iKygQ0WETWxKojcuo,2370
255
- pex/vendor/__init__.py,sha256=nS5Ui5VPBHCL6TlWYtP-P_xIHZZnKMi8wxmiYB8I844,18058
255
+ pex/vendor/__init__.py,sha256=x5Q7G1SBGjAAPEmdmAcT1hnLRKoamtTQuBXOS31i20I,18239
256
256
  pex/vendor/__main__.py,sha256=DfNj51SnodS2bOhG8bEPDlhNVc_PH724fpieyuBnoR8,22524
257
257
  pex/vendor/_vendored/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
258
258
  pex/vendor/_vendored/ansicolors/.layout.json,sha256=4UpbHC81cBmfEikOdC9Ypmim01_aIanC0_EbaOIaaIY,187
@@ -432,7 +432,7 @@ pex/vendor/_vendored/packaging_25_0/packaging-25.0.dist-info/WHEEL,sha256=G2gURz
432
432
  pex/vendor/_vendored/packaging_25_0/packaging-25.0.dist-info/licenses/LICENSE,sha256=ytHvW9NA1z4HS6YU0m996spceUDD2MNIUuZcSQlobEg,197
433
433
  pex/vendor/_vendored/packaging_25_0/packaging-25.0.dist-info/licenses/LICENSE.APACHE,sha256=DVQuDIgE45qn836wDaWnYhSdxoLXgpRRKH4RuTjpRZQ,10174
434
434
  pex/vendor/_vendored/packaging_25_0/packaging-25.0.dist-info/licenses/LICENSE.BSD,sha256=tw5-m3QvHMb5SLNMFqo5_-zpQZY2S8iP8NIYDwAo-sU,1344
435
- pex/vendor/_vendored/pip/.layout.json,sha256=3uo2-0D1iGP6j1wMlffuIWI5x-Zu-oNUnr4OxZeVI4Q,181
435
+ pex/vendor/_vendored/pip/.layout.json,sha256=Dmu14oYzZ515oMC-bGv8iVM-K_6ZV_kT3lAKMWAnzPs,181
436
436
  pex/vendor/_vendored/pip/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
437
437
  pex/vendor/_vendored/pip/.prefix/bin/pip,sha256=G__oOMTP3RfTD6ZtyIJzTg11nrOD0O6Dc6X7O_kt3_0,461
438
438
  pex/vendor/_vendored/pip/.prefix/bin/pip3,sha256=G__oOMTP3RfTD6ZtyIJzTg11nrOD0O6Dc6X7O_kt3_0,461
@@ -596,7 +596,7 @@ pex/vendor/_vendored/pip/pip/_vendor/cachecontrol/caches/file_cache.py,sha256=nY
596
596
  pex/vendor/_vendored/pip/pip/_vendor/cachecontrol/caches/redis_cache.py,sha256=HxelMpNCo-dYr2fiJDwM3hhhRmxUYtB5tXm1GpAAT4Y,856
597
597
  pex/vendor/_vendored/pip/pip/_vendor/certifi/__init__.py,sha256=TocBfHrqAkQK91W5jNYhRH8KKizxkkXZBk68DTHj0xo,62
598
598
  pex/vendor/_vendored/pip/pip/_vendor/certifi/__main__.py,sha256=1k3Cr95vCxxGRGDljrW3wMdpZdL3Nhf0u1n-k2qdsCY,255
599
- pex/vendor/_vendored/pip/pip/_vendor/certifi/cacert.pem,sha256=BgxYy_kfqicK8eSSP26E4p1IoM_izEK7khQ9FwiO9LE,287708
599
+ pex/vendor/_vendored/pip/pip/_vendor/certifi/cacert.pem,sha256=asi_tClfZHWvT_2hCZtmKRuKHYIp3fLaUMeXJGuqLOw,291441
600
600
  pex/vendor/_vendored/pip/pip/_vendor/certifi/core.py,sha256=jBrwKEWpG0IKcuozK0BQ2HHGp8adXAOyBPC7ddgR6vM,2315
601
601
  pex/vendor/_vendored/pip/pip/_vendor/chardet/__init__.py,sha256=YsP5wQlsHJ2auF1RZJfypiSrCA7_bQiRm3ES_NI76-Y,1559
602
602
  pex/vendor/_vendored/pip/pip/_vendor/chardet/big5freq.py,sha256=D_zK5GyzoVsRes0HkLJziltFQX0bKCLOrFe9_xDvO_8,31254
@@ -969,10 +969,10 @@ pex/windows/stubs/uv-trampoline-aarch64-console.exe,sha256=1S2aM-6CV7rKz-3ncM5X7
969
969
  pex/windows/stubs/uv-trampoline-aarch64-gui.exe,sha256=mb8x1FpyH-wy11X5YgWfqh_VUwBb62M4Zf9aFr5V4EE,40448
970
970
  pex/windows/stubs/uv-trampoline-x86_64-console.exe,sha256=nLopBrlCMMFjkKVRlY7Ke2zFGpQOyF5mSlLs0d7-HRQ,40960
971
971
  pex/windows/stubs/uv-trampoline-x86_64-gui.exe,sha256=icnp1oXrOZpc-dHTGvDbTHjr-D8M0eamvRrC9bPI_KI,41984
972
- pex-2.59.3.dist-info/METADATA,sha256=LWQmmbZ0IYFUwPYCJ69puca5Zq4NKZVMXpx0sx3mUrM,7425
973
- pex-2.59.3.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
974
- pex-2.59.3.dist-info/entry_points.txt,sha256=LD9tcxNxdsVLeIF6zR7dyH1vgo2eD9a-05TC1UraGMQ,174
975
- pex-2.59.3.dist-info/top_level.txt,sha256=HlafJUPu7mfjxv3SDH-RbkxsHOWSVbPXTEBC1hzonpM,4
976
- pex-2.59.3.dist-info/licenses/LICENSE,sha256=bcDgaNzzpbyOBUIFuFt3IOHUkmW7xkv1FdLPeRl99po,11323
977
- pex-2.59.3.dist-info/pylock/pylock.toml,sha256=ar9a6_myHcpeU4Ttsts2XQ15x6vs5aqDzjlRUATZHoI,7151
978
- pex-2.59.3.dist-info/RECORD,,
972
+ pex-2.59.5.dist-info/METADATA,sha256=ynPUrgzDD8YSJ_THfWgqpiGC_oerd0KddeqRtU-AOQg,7425
973
+ pex-2.59.5.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
974
+ pex-2.59.5.dist-info/entry_points.txt,sha256=LD9tcxNxdsVLeIF6zR7dyH1vgo2eD9a-05TC1UraGMQ,174
975
+ pex-2.59.5.dist-info/top_level.txt,sha256=HlafJUPu7mfjxv3SDH-RbkxsHOWSVbPXTEBC1hzonpM,4
976
+ pex-2.59.5.dist-info/licenses/LICENSE,sha256=bcDgaNzzpbyOBUIFuFt3IOHUkmW7xkv1FdLPeRl99po,11323
977
+ pex-2.59.5.dist-info/pylock/pylock.toml,sha256=ar9a6_myHcpeU4Ttsts2XQ15x6vs5aqDzjlRUATZHoI,7151
978
+ pex-2.59.5.dist-info/RECORD,,
File without changes