pex 2.64.0__py2.py3-none-any.whl → 2.65.0__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 (37) hide show
  1. pex/docs/html/_pagefind/fragment/{en_fca878d.pf_fragment → en_111cec6.pf_fragment} +0 -0
  2. pex/docs/html/_pagefind/fragment/{en_3046a3a.pf_fragment → en_57535ac.pf_fragment} +0 -0
  3. pex/docs/html/_pagefind/fragment/en_68579f8.pf_fragment +0 -0
  4. pex/docs/html/_pagefind/fragment/en_b915203.pf_fragment +0 -0
  5. pex/docs/html/_pagefind/fragment/{en_7350892.pf_fragment → en_d450b85.pf_fragment} +0 -0
  6. pex/docs/html/_pagefind/fragment/{en_ac9b982.pf_fragment → en_eb89be5.pf_fragment} +0 -0
  7. pex/docs/html/_pagefind/fragment/en_ff882aa.pf_fragment +0 -0
  8. pex/docs/html/_pagefind/fragment/en_ffc2e0e.pf_fragment +0 -0
  9. pex/docs/html/_pagefind/index/{en_23c894e.pf_index → en_71e2485.pf_index} +0 -0
  10. pex/docs/html/_pagefind/pagefind-entry.json +1 -1
  11. pex/docs/html/_pagefind/pagefind.en_f11d4148c9.pf_meta +0 -0
  12. pex/docs/html/_static/documentation_options.js +1 -1
  13. pex/docs/html/api/vars.html +5 -5
  14. pex/docs/html/buildingpex.html +5 -5
  15. pex/docs/html/genindex.html +5 -5
  16. pex/docs/html/index.html +5 -5
  17. pex/docs/html/recipes.html +5 -5
  18. pex/docs/html/scie.html +5 -5
  19. pex/docs/html/search.html +5 -5
  20. pex/docs/html/whatispex.html +5 -5
  21. pex/resolve/locker.py +9 -5
  22. pex/scie/__init__.py +40 -1
  23. pex/scie/model.py +2 -0
  24. pex/scie/science.py +25 -3
  25. pex/version.py +1 -1
  26. {pex-2.64.0.dist-info → pex-2.65.0.dist-info}/METADATA +4 -4
  27. {pex-2.64.0.dist-info → pex-2.65.0.dist-info}/RECORD +32 -32
  28. pex/docs/html/_pagefind/fragment/en_3f5cca9.pf_fragment +0 -0
  29. pex/docs/html/_pagefind/fragment/en_5f2da5c.pf_fragment +0 -0
  30. pex/docs/html/_pagefind/fragment/en_d158da6.pf_fragment +0 -0
  31. pex/docs/html/_pagefind/fragment/en_e575d34.pf_fragment +0 -0
  32. pex/docs/html/_pagefind/pagefind.en_86ab41ad5d.pf_meta +0 -0
  33. {pex-2.64.0.dist-info → pex-2.65.0.dist-info}/WHEEL +0 -0
  34. {pex-2.64.0.dist-info → pex-2.65.0.dist-info}/entry_points.txt +0 -0
  35. {pex-2.64.0.dist-info → pex-2.65.0.dist-info}/licenses/LICENSE +0 -0
  36. {pex-2.64.0.dist-info → pex-2.65.0.dist-info}/pylock/pylock.toml +0 -0
  37. {pex-2.64.0.dist-info → pex-2.65.0.dist-info}/top_level.txt +0 -0
@@ -1 +1 @@
1
- {"version":"1.3.0","languages":{"en":{"hash":"en_86ab41ad5d","wasm":"en","page_count":8}}}
1
+ {"version":"1.3.0","languages":{"en":{"hash":"en_f11d4148c9","wasm":"en","page_count":8}}}
@@ -1,5 +1,5 @@
1
1
  const DOCUMENTATION_OPTIONS = {
2
- VERSION: '2.64.0',
2
+ VERSION: '2.65.0',
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.64.0)</title>
11
+ <title>PEX runtime environment variables - Pex Docs (v2.65.0)</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.64.0)</div></a>
166
+ <a href="../index.html"><div class="brand">Pex Docs (v2.65.0)</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.64.0/" 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.65.0/" 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.64.0/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.65.0/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=07e49155"></script>
674
+ </div><script src="../_static/documentation_options.js?v=7631db0c"></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.64.0)</title>
11
+ <title>Building .pex files - Pex Docs (v2.65.0)</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.64.0)</div></a>
166
+ <a href="index.html"><div class="brand">Pex Docs (v2.65.0)</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.64.0/" 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.65.0/" 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.64.0/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.65.0/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=07e49155"></script>
712
+ </div><script src="_static/documentation_options.js?v=7631db0c"></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.64.0)</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.65.0)</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.64.0)</div></a>
164
+ <a href="index.html"><div class="brand">Pex Docs (v2.65.0)</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.64.0/" 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.65.0/" 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.64.0/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.65.0/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=07e49155"></script>
291
+ </div><script src="_static/documentation_options.js?v=7631db0c"></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.64.0)</title>
11
+ <title>Pex Docs (v2.65.0)</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.64.0)</div></a>
166
+ <a href="#"><div class="brand">Pex Docs (v2.65.0)</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.64.0/" 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.65.0/" 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.64.0/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.65.0/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=07e49155"></script>
392
+ </div><script src="_static/documentation_options.js?v=7631db0c"></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.64.0)</title>
11
+ <title>PEX Recipes and Notes - Pex Docs (v2.65.0)</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.64.0)</div></a>
166
+ <a href="index.html"><div class="brand">Pex Docs (v2.65.0)</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.64.0/" 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.65.0/" 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.64.0/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.65.0/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=07e49155"></script>
485
+ </div><script src="_static/documentation_options.js?v=7631db0c"></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.64.0)</title>
11
+ <title>PEX with included Python interpreter - Pex Docs (v2.65.0)</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.64.0)</div></a>
166
+ <a href="index.html"><div class="brand">Pex Docs (v2.65.0)</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.64.0/" 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.65.0/" 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.64.0/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.65.0/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=07e49155"></script>
675
+ </div><script src="_static/documentation_options.js?v=7631db0c"></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.64.0)</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.65.0)</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.64.0)</div></a>
179
+ <a href="index.html"><div class="brand">Pex Docs (v2.65.0)</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.64.0/" 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.65.0/" 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.64.0/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.65.0/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=07e49155"></script>
304
+ </div><script src="_static/documentation_options.js?v=7631db0c"></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.64.0)</title>
11
+ <title>What are .pex files? - Pex Docs (v2.65.0)</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.64.0)</div></a>
166
+ <a href="index.html"><div class="brand">Pex Docs (v2.65.0)</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.64.0/" 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.65.0/" 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.64.0/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.65.0/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=07e49155"></script>
374
+ </div><script src="_static/documentation_options.js?v=7631db0c"></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>
pex/resolve/locker.py CHANGED
@@ -377,13 +377,13 @@ class Locker(LogAnalyzer):
377
377
  )
378
378
  verified = True
379
379
  selected_path = os.path.basename(archive_path)
380
- artifact_url = self.parse_url_and_maybe_record_fingerprint(
380
+ artifact_url = ArtifactURL.parse(
381
381
  self._vcs_url_manager.normalize_url(artifact_url.raw_url)
382
382
  )
383
383
  self._selected_path_to_pin[selected_path] = build_result.pin
384
384
 
385
- vcs, _, vcs_url = artifact_url.raw_url.partition("+")
386
- if "@" in artifact_url.path:
385
+ vcs, _, vcs_url = build_result.url.raw_url.partition("+")
386
+ if "@" in build_result.url.path:
387
387
  vcs_url, _, _ = vcs_url.rpartition("@")
388
388
  commit_id = self._commit_ids.pop(vcs_url, None)
389
389
  elif isinstance(artifact_url.scheme, ArchiveScheme.Value):
@@ -452,8 +452,12 @@ class Locker(LogAnalyzer):
452
452
  )
453
453
  source_fingerprint = Fingerprint.from_digest(digest)
454
454
  verified = True # noqa
455
- vcs, _, vcs_url = artifact_url.raw_url.partition("+")
456
- if "@" in artifact_url.path:
455
+ artifact_url = ArtifactURL.parse(
456
+ self._vcs_url_manager.normalize_url(artifact_url.raw_url)
457
+ )
458
+
459
+ vcs, _, vcs_url = build_result.url.raw_url.partition("+")
460
+ if "@" in build_result.url.path:
457
461
  vcs_url, _, _ = vcs_url.rpartition("@")
458
462
  commit_id = self._commit_ids.pop(vcs_url, None)
459
463
  elif isinstance(artifact_url.scheme, ArchiveScheme.Value):
pex/scie/__init__.py CHANGED
@@ -222,6 +222,32 @@ def register_options(parser):
222
222
  "to the patch level."
223
223
  ),
224
224
  )
225
+ parser.add_argument(
226
+ "--scie-pbs-free-threaded",
227
+ "--no-scie-pbs-free-threaded",
228
+ dest="scie_pbs_free_threaded",
229
+ default=False,
230
+ type=bool,
231
+ action=HandleBoolAction,
232
+ help=(
233
+ "Should the Python Standalone Builds CPython distributions be free-threaded. If left "
234
+ "unspecified or otherwise turned off, creating a scie from a PEX with free-threaded "
235
+ "abi wheels will automatically turn this option on. Note that this option is not "
236
+ "compatible with `--scie-pbs-stripped`."
237
+ ),
238
+ )
239
+ parser.add_argument(
240
+ "--scie-pbs-debug",
241
+ "--no-scie-pbs-debug",
242
+ dest="scie_pbs_debug",
243
+ default=False,
244
+ type=bool,
245
+ action=HandleBoolAction,
246
+ help=(
247
+ "Should the Python Standalone Builds CPython distributions be debug builds. Note that "
248
+ "this option is not compatible with `--scie-pbs-stripped`."
249
+ ),
250
+ )
225
251
  parser.add_argument(
226
252
  "--scie-pbs-stripped",
227
253
  "--no-scie-pbs-stripped",
@@ -232,7 +258,8 @@ def register_options(parser):
232
258
  help=(
233
259
  "Should the Python Standalone Builds CPython distributions used be stripped of debug "
234
260
  "symbols or not. For Linux and Windows particularly, the stripped distributions are "
235
- "less than half the size of the distributions that ship with debug symbols."
261
+ "less than half the size of the distributions that ship with debug symbols. Note that"
262
+ "this option is not compatible with `--scie-pbs-free-threaded` or `--scie-pbs-debug`."
236
263
  ),
237
264
  )
238
265
  parser.add_argument(
@@ -318,6 +345,10 @@ def render_options(options):
318
345
  if options.python_version:
319
346
  args.append("--scie-python-version")
320
347
  args.append(".".join(map(str, options.python_version)))
348
+ if options.pbs_free_threaded:
349
+ args.append("--scie-pbs-free-threaded")
350
+ if options.pbs_debug:
351
+ args.append("--scie-pbs-debug")
321
352
  if options.pbs_stripped:
322
353
  args.append("--scie-pbs-stripped")
323
354
  for hash_algorithm in options.hash_algorithms:
@@ -398,6 +429,12 @@ def extract_options(options):
398
429
  )
399
430
  )
400
431
 
432
+ if options.scie_pbs_stripped and (options.scie_pbs_free_threaded or options.scie_pbs_debug):
433
+ raise ValueError(
434
+ "Python Standalone Builds does not release stripped distributions for debug or "
435
+ "free-threaded builds."
436
+ )
437
+
401
438
  science_binary = None # type: Optional[Union[File, Url]]
402
439
  if options.scie_science_binary:
403
440
  url_info = urlparse.urlparse(options.scie_science_binary)
@@ -420,6 +457,8 @@ def extract_options(options):
420
457
  pbs_release=options.scie_pbs_release,
421
458
  pypy_release=options.scie_pypy_release,
422
459
  python_version=python_version,
460
+ pbs_free_threaded=options.scie_pbs_free_threaded,
461
+ pbs_debug=options.scie_pbs_debug,
423
462
  pbs_stripped=options.scie_pbs_stripped,
424
463
  hash_algorithms=tuple(options.scie_hash_algorithms),
425
464
  science_binary=science_binary,
pex/scie/model.py CHANGED
@@ -303,6 +303,8 @@ class ScieOptions(object):
303
303
  python_version = attr.ib(
304
304
  default=None
305
305
  ) # type: Optional[Union[Tuple[int, int], Tuple[int, int, int]]]
306
+ pbs_free_threaded = attr.ib(default=False) # type: bool
307
+ pbs_debug = attr.ib(default=False) # type: bool
306
308
  pbs_stripped = attr.ib(default=False) # type: bool
307
309
  hash_algorithms = attr.ib(default=()) # type: Tuple[str, ...]
308
310
  science_binary = attr.ib(default=None) # type: Optional[Union[File, Url]]
pex/scie/science.py CHANGED
@@ -24,6 +24,7 @@ from pex.hashing import Sha256
24
24
  from pex.os import is_exe
25
25
  from pex.pep_440 import Version
26
26
  from pex.pex import PEX
27
+ from pex.pex_info import PexInfo
27
28
  from pex.result import Error, try_
28
29
  from pex.scie.model import (
29
30
  File,
@@ -37,6 +38,7 @@ from pex.scie.model import (
37
38
  )
38
39
  from pex.sysconfig import SysPlatform
39
40
  from pex.third_party.packaging.specifiers import SpecifierSet
41
+ from pex.third_party.packaging.utils import parse_wheel_filename
40
42
  from pex.third_party.packaging.version import InvalidVersion
41
43
  from pex.tracer import TRACER
42
44
  from pex.typing import TYPE_CHECKING
@@ -66,7 +68,7 @@ class Manifest(object):
66
68
 
67
69
 
68
70
  SCIENCE_RELEASES_URL = "https://github.com/a-scie/lift/releases"
69
- MIN_SCIENCE_VERSION = Version("0.14.0")
71
+ MIN_SCIENCE_VERSION = Version("0.15.0")
70
72
  SCIENCE_REQUIREMENT = SpecifierSet("~={min_version}".format(min_version=MIN_SCIENCE_VERSION))
71
73
 
72
74
 
@@ -104,6 +106,16 @@ class Filenames(Enum["Filenames.Value"]):
104
106
  Filenames.seal()
105
107
 
106
108
 
109
+ def _is_free_threaded_pex(pex_info):
110
+ # type: (PexInfo) -> bool
111
+ for distribution in pex_info.distributions:
112
+ _, _, _, tags = parse_wheel_filename(os.path.basename(distribution))
113
+ for tag in tags:
114
+ if tag.abi.startswith(("cp", "abi3")) and "t" in tag.abi:
115
+ return True
116
+ return False
117
+
118
+
107
119
  def create_manifests(
108
120
  configuration, # type: ScieConfiguration
109
121
  name, # type: str
@@ -270,6 +282,7 @@ def create_manifests(
270
282
  }
271
283
 
272
284
  configure_binding_args = [Filenames.PEX.placeholder, Filenames.CONFIGURE_BINDING.placeholder]
285
+ pbs_free_threaded = _is_free_threaded_pex(pex_info) or configuration.options.pbs_free_threaded
273
286
  for interpreter in configuration.interpreters:
274
287
  lift = lift_template.copy()
275
288
 
@@ -285,10 +298,17 @@ def create_manifests(
285
298
  interpreter.platform.qualified_file_name("{name}-lift.toml".format(name=name)),
286
299
  )
287
300
 
301
+ version_str = interpreter.version_str
302
+ if Provider.PythonBuildStandalone is interpreter.provider:
303
+ if configuration.options.pbs_debug:
304
+ version_str += "d"
305
+ if pbs_free_threaded:
306
+ version_str += "t"
307
+
288
308
  interpreter_config = {
289
309
  "id": "python-distribution",
290
310
  "provider": interpreter.provider.value,
291
- "version": interpreter.version_str,
311
+ "version": version_str,
292
312
  "lazy": configuration.options.style is ScieStyle.LAZY,
293
313
  }
294
314
  if interpreter.release:
@@ -297,7 +317,9 @@ def create_manifests(
297
317
  interpreter_config["base_url"] = "/".join(
298
318
  (configuration.options.assets_base_url, "providers", str(interpreter.provider))
299
319
  )
300
- if Provider.PythonBuildStandalone is interpreter.provider:
320
+ if Provider.PythonBuildStandalone is interpreter.provider and not (
321
+ configuration.options.pbs_debug or pbs_free_threaded
322
+ ):
301
323
  interpreter_config.update(
302
324
  flavor=(
303
325
  "install_only_stripped"
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.64.0"
4
+ __version__ = "2.65.0"
@@ -1,15 +1,15 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pex
3
- Version: 2.64.0
3
+ Version: 2.65.0
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.64.0/pex
6
+ Download-URL: https://github.com/pex-tool/pex/releases/download/v2.65.0/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.64.0/CHANGES.md
10
+ Project-URL: Changelog, https://github.com/pex-tool/pex/blob/v2.65.0/CHANGES.md
11
11
  Project-URL: Documentation, https://docs.pex-tool.org/
12
- Project-URL: Source, https://github.com/pex-tool/pex/tree/v2.64.0
12
+ Project-URL: Source, https://github.com/pex-tool/pex/tree/v2.65.0
13
13
  Keywords: package,executable,virtualenv,lock,freeze
14
14
  Classifier: Development Status :: 5 - Production/Stable
15
15
  Classifier: Intended Audience :: Developers
@@ -69,7 +69,7 @@ pex/tracer.py,sha256=nob_hNooCYWZev7_ABhAVyO4HBZ8Q_OajQUvNnr82Rc,4481
69
69
  pex/typing.py,sha256=J1JTB1V48zIWmhWRHEMDHWMaFPMzsEonWJ9s57Ev43Q,3050
70
70
  pex/util.py,sha256=TxTxpdDmrDTLVXt9e2XuRq9c3N6jRYNCce87QBFkCVo,5491
71
71
  pex/variables.py,sha256=h3-JeMzXfRzEsWqTYsoU-6vt5W4Kr0VvbfSDAYtuZOU,34728
72
- pex/version.py,sha256=x2RLYYRSBlkb2zIv0Y1u4G6v9RaEW813uC4onipyMiY,131
72
+ pex/version.py,sha256=FUXhBrNm1TNmqwSSRKzZ8ZZnP5Rgn6IVDy7RlykOpd4,131
73
73
  pex/wheel.py,sha256=R9jPWwzla_c3xUbeYjaQMrKC0ly8UexKMLfuRDhP054,11146
74
74
  pex/whl.py,sha256=0Nh1d6kmAaRANCygoVZZi0zii6j_elRQc7N6yDHTuMY,2513
75
75
  pex/ziputils.py,sha256=thUrto9vEdG9mFCIJ59Js3d1y6bSfFdl7pb1lSb7KAQ,9620
@@ -113,33 +113,33 @@ pex/distutils/commands/__init__.py,sha256=uASB5OU996Jax-h3kMmeZjG5Jdy9BYDR6A1swk
113
113
  pex/distutils/commands/bdist_pex.py,sha256=SLwBj0ALpArhKQT94X0niKWfyLaySjOZuZrGXG332K0,5117
114
114
  pex/docs/__init__.py,sha256=u9hPOij1fpo1yPBLTQTdSCnSIUuRCSXHomCkEAaCciA,439
115
115
  pex/docs/command.py,sha256=uQyD8bO_DBNIlkPd6F7SFZbZUVh1Xn6gT8OmVxP4qxk,3046
116
- pex/docs/html/buildingpex.html,sha256=Cxged78UiP7Ks2KnrQItfIAViO01l4SFn20g-Pq07-0,57407
117
- pex/docs/html/genindex.html,sha256=InKzRE6JoQOCZ3pbR2uWKcaaOISbRW8zMEAfGuoN0Ts,17198
118
- pex/docs/html/index.html,sha256=bC7CZ_GrPaGFBjNB560_sEQhEss6NtZ39oIitx3uXt4,25028
119
- pex/docs/html/recipes.html,sha256=-lfqlK6G5V6njtq_vI4l0ufsbuvgSm74w0nPVg36D08,35192
120
- pex/docs/html/scie.html,sha256=mVy5u2dD6OUOvltrlA2GNtQtBKwPe6iIjue9GUhPo2E,62182
121
- pex/docs/html/search.html,sha256=gvRcpQFNYmGjr224wdfQ5Rc-S-a9D7wjfc11ZXMAbwY,18169
116
+ pex/docs/html/buildingpex.html,sha256=MWHG4FwDarUd4ymrlPmYQofQKzj8VgeTFT9yimiWD5k,57407
117
+ pex/docs/html/genindex.html,sha256=ZRPQ0j43FvxwPhgKgxtkYvgCJIrI7kgkwEIyv1XZWn0,17198
118
+ pex/docs/html/index.html,sha256=wu97FkE5vP6iEkz_RVDyPM8NFzIigRFNTJHtMERRSYo,25028
119
+ pex/docs/html/recipes.html,sha256=nKdUT6iYbCIlhntE4qyZPsB74QPsWbYW0tjvfwK2txE,35192
120
+ pex/docs/html/scie.html,sha256=WUYE-ncRx-8qAXQfJ493fIphwjjG06ZuGje_HzBR3pk,62182
121
+ pex/docs/html/search.html,sha256=HtixXlAQBVL3xzSoJlP5CRmhblBWyc_la3fiCXrXZNY,18169
122
122
  pex/docs/html/searchindex.js,sha256=R_L6Oveik_wlK5CmaE7YwRvmu81r6fd7jtnZUjfk1sA,18009
123
- pex/docs/html/whatispex.html,sha256=ychscZyowQSP48HR-jYE-G9L1UhB_22HGmrke0vah1o,22754
124
- pex/docs/html/_pagefind/pagefind-entry.json,sha256=Zo1FLKXLyypBefPsL0tf1leHxk6LdqN6MCkaPw7BoJk,90
123
+ pex/docs/html/whatispex.html,sha256=ob_WWBMP_o-f7lmEavgZmJPUWl6htiETID0YmPN4qZw,22754
124
+ pex/docs/html/_pagefind/pagefind-entry.json,sha256=N-x0zIhpN2rGiqPYb_8-BSJ14qseaMVKSsShPGEeA6s,90
125
125
  pex/docs/html/_pagefind/pagefind-highlight.js,sha256=5hRyi7gOMY9tlTe-tbmDrVJpoxbnYxhbJeoGwtmCfXA,43944
126
126
  pex/docs/html/_pagefind/pagefind-modular-ui.css,sha256=ZTqynk3lYp9t319vzfXSs-tTmowH__ila4ziFWpXB4g,7336
127
127
  pex/docs/html/_pagefind/pagefind-modular-ui.js,sha256=-DCEOJ2cInrvjEGZFxCuYy81EMWbKHhMu4wivlJmUzE,14486
128
128
  pex/docs/html/_pagefind/pagefind-ui.css,sha256=GL61nVezuyVA4ynNRJejhEwUBxhBtx4rDYVlAgI_W1U,14486
129
129
  pex/docs/html/_pagefind/pagefind-ui.js,sha256=WQ3yec_CMkBKswl16Ig5N_zJzeCgL4z9y344TcJeKAQ,78367
130
- pex/docs/html/_pagefind/pagefind.en_86ab41ad5d.pf_meta,sha256=xZhQRrwMgkDpv7SPWcoLWeRwkFIQdrCSWKuLEEyqNcg,154
130
+ pex/docs/html/_pagefind/pagefind.en_f11d4148c9.pf_meta,sha256=SKqY4iuw8WsS8BaBA4uiAt73-NHN9kIbLOxDrXiKHvo,152
131
131
  pex/docs/html/_pagefind/pagefind.js,sha256=Q-4jKyPif6awDU9x8IoWXTWoJJR1JZicegUYQ-QI4MA,32912
132
132
  pex/docs/html/_pagefind/wasm.en.pagefind,sha256=mG0TKIE7WXynsyg-tpiMZiVG2Hwebbt2UqFqlqdTTsE,70873
133
133
  pex/docs/html/_pagefind/wasm.unknown.pagefind,sha256=eAREknqQnc_y96pbl8eYz9zqfUXsqe64B7HwrQE2SkY,67202
134
- pex/docs/html/_pagefind/fragment/en_3046a3a.pf_fragment,sha256=2vPjNKP-3slj7ZhkY0Z5-MYMMbbfQ9-j9thh9TrLKYE,4848
135
- pex/docs/html/_pagefind/fragment/en_3f5cca9.pf_fragment,sha256=mTWRc7SCG4eOdQFsZc8XFa0auBSE5R8zGcIPKqS1diM,1158
136
- pex/docs/html/_pagefind/fragment/en_5f2da5c.pf_fragment,sha256=FMJ4ArJSI4wNq-LJSN5qdwHDR1hoaaiFsmIAFuHH7O8,3018
137
- pex/docs/html/_pagefind/fragment/en_7350892.pf_fragment,sha256=V3M4IbpNEdFOOTqiMhE3Vv08UH5NBmspn9qsGjkZ3mI,3648
138
- pex/docs/html/_pagefind/fragment/en_ac9b982.pf_fragment,sha256=Y5WiPKS97hppWWqmP7X7kwsR2pBlXA4P1mQl6HfV0oQ,6821
139
- pex/docs/html/_pagefind/fragment/en_d158da6.pf_fragment,sha256=J9X7V0EnfdXj7LhCtdv9hXsU3B0bghHBuRIbtm4N50s,1142
140
- pex/docs/html/_pagefind/fragment/en_e575d34.pf_fragment,sha256=GfQsJB_oSHEdP0ctyyunhSjyuXF-zcdUfQM6sWw0ucw,369
141
- pex/docs/html/_pagefind/fragment/en_fca878d.pf_fragment,sha256=NJYC6CPMUWElMamRFQ7ACyYtwXTqxR6yq3o-3JBDbxY,360
142
- pex/docs/html/_pagefind/index/en_23c894e.pf_index,sha256=LvjhRHvF77NMWj4iPZrSHLTqUpOcWwnL-1W9R5vPpHY,28865
134
+ pex/docs/html/_pagefind/fragment/en_111cec6.pf_fragment,sha256=pN29pDRbB7tx6nkpWauwL7_IINEpQVmJL2yQDlQW9D4,360
135
+ pex/docs/html/_pagefind/fragment/en_57535ac.pf_fragment,sha256=wQdacrJaMrr_acZoTFFXzz1XKpvODVVM3FwK5QkHW5Y,4848
136
+ pex/docs/html/_pagefind/fragment/en_68579f8.pf_fragment,sha256=ad_a1VMQZ6hFuj7Vfk2hDlu3Ws_Q8H4x6MBVyGEqdaI,1158
137
+ pex/docs/html/_pagefind/fragment/en_b915203.pf_fragment,sha256=zVQwlshIFcQ3LC8Vsbkg14Q_MYlu_q8--wb_AUU1GJw,3019
138
+ pex/docs/html/_pagefind/fragment/en_d450b85.pf_fragment,sha256=Tq6eU4Hptf3ZFwxuzqSMXaTUSlKOnRqCAG-XQpIruFo,3648
139
+ pex/docs/html/_pagefind/fragment/en_eb89be5.pf_fragment,sha256=Y_ScjMHDmb1Zk1Y4KpCDgrdzU8mMVgfQYkyAHNTeFaQ,6821
140
+ pex/docs/html/_pagefind/fragment/en_ff882aa.pf_fragment,sha256=R5RYJips77VahtKQIvKTts609s8fz7eXNPL1jYBm_k0,370
141
+ pex/docs/html/_pagefind/fragment/en_ffc2e0e.pf_fragment,sha256=puASyKA4tw77BKZa8l5ERrNsk8tr-byicTgRbJZz9OM,1142
142
+ pex/docs/html/_pagefind/index/en_71e2485.pf_index,sha256=xvqfOmLMQ150z_YcenSyuZdJBTII8VPKvdGz257RB9g,28865
143
143
  pex/docs/html/_sources/buildingpex.rst.txt,sha256=87P3ZO871MILL9pmpDM8_M7_YV1z5HjTYa9m8yuxTa4,19138
144
144
  pex/docs/html/_sources/index.rst.txt,sha256=vWt1s6dirYeR-9mFJY1SClwWvbWqIqJSFCAF1CdZojc,1468
145
145
  pex/docs/html/_sources/recipes.rst.txt,sha256=kerzvp8_t5io6eGl3YJODtNBQy7GmY2AA6RHaij9C-g,6958
@@ -149,7 +149,7 @@ pex/docs/html/_sources/api/vars.md.txt,sha256=C9gu5czyB-g788xRfYKF8P176ew_q97X6z
149
149
  pex/docs/html/_static/basic.css,sha256=ZW_xus1vJg_H1xuX-cLx_L9pLchL9GnNlSA078ue7-0,14685
150
150
  pex/docs/html/_static/debug.css,sha256=DQXNnnnVMjQwRmfAjwKXHeYZbA_8pZPDkDs2Z7QFWtY,1266
151
151
  pex/docs/html/_static/doctools.js,sha256=KZLAnfkYJqjTPjtItkXud-RXrc98cS13aoFOHixEi0M,4322
152
- pex/docs/html/_static/documentation_options.js,sha256=wfZT6SXDv8Q8v7yrGbQiPB2Q5shfMhhH5gfcBpzSims,329
152
+ pex/docs/html/_static/documentation_options.js,sha256=HI_5GBCB6w76CHBjK_1HXIdeWHHQgeOPLi7FLkqXD_Y,329
153
153
  pex/docs/html/_static/file.png,sha256=XEvJoWrr84xLlQ9ZuOUByjZJUyjLnrYiIYvOkGSjXj4,286
154
154
  pex/docs/html/_static/language_data.js,sha256=O8MRVjt_xegPyrL4Ypd0vzy2swICAA3zbf-OaVqQI7c,4598
155
155
  pex/docs/html/_static/minus.png,sha256=R-f8UNs2mfHKQc6aL_ogLADF0dUYDFX2K6hZsb1swAg,90
@@ -169,7 +169,7 @@ pex/docs/html/_static/styles/furo-extensions.css,sha256=PSsCB3EaBzE9-2yLJyKV9fkx
169
169
  pex/docs/html/_static/styles/furo-extensions.css.map,sha256=CzW267gfKqH8ruMlwJbWg-MsGAipIgZwoaP4gwDGkVw,7762
170
170
  pex/docs/html/_static/styles/furo.css,sha256=666beINeSQtLZbSeNCMj62G7a13xiX1YwJVvij3jr-8,50749
171
171
  pex/docs/html/_static/styles/furo.css.map,sha256=0k0kb9TwrJYQRT-2cbjTcOz7PQykGWHdy2BSuVMtrnY,76038
172
- pex/docs/html/api/vars.html,sha256=ynIRKfgeNTN6lTyv1epwK45cUJX_GMtYae0VNyK13oo,34903
172
+ pex/docs/html/api/vars.html,sha256=NEiRT0wQAIS7BPug3OBQfHln3HK-bfyFvK5MEoL2Pj0,34903
173
173
  pex/fs/__init__.py,sha256=ues2bnsufy1lYRyoWsiP-G4kuPrV-tXaZ0x-HFJFpwY,3605
174
174
  pex/fs/_posix.py,sha256=p-VkjEfRNXduBmkxcuEXWM1g6y6xrkufSYzEy93tqjA,1275
175
175
  pex/fs/_windows.py,sha256=apacgHpxNutF5HkU6cYOLHq7yqaijRMsFBdsdKSviDo,3304
@@ -205,7 +205,7 @@ pex/resolve/downloads.py,sha256=8R4GI-PSSLw2qv6XKsGyDFEiugfJgw2G6F4lywtU_Xk,7074
205
205
  pex/resolve/lock_downloader.py,sha256=RbG7bdwxx-k7U1k_Kpipb4Po3bdPhk6Rv5gt7yZrAVw,15347
206
206
  pex/resolve/lock_resolver.py,sha256=b6UoqaXPNdWEt1JC8S6HSc4el5ows6kmIa5T87OsAm0,23398
207
207
  pex/resolve/locked_resolve.py,sha256=h47WC84zHgE1H3kf9OahfSa_df0fEfxtIWeLX7stK50,40672
208
- pex/resolve/locker.py,sha256=DkosoUlPG-fPYYuYcHtG1H-6EyM1jfXvaiRA7JlDyPg,29667
208
+ pex/resolve/locker.py,sha256=f0T9R97w8F0-GPSoXAG6YmgKs_wTjue4iPRk8WAjTcw,29816
209
209
  pex/resolve/locker_patches.py,sha256=KttN07cCok3ajNm5TLzsZhBTPmPDyO33WkDbE4G9TB4,8043
210
210
  pex/resolve/package_repository.py,sha256=xMU9aTxojS2sNmWp03jfMBTIGhq3eqNuNOacl8BiiGY,15123
211
211
  pex/resolve/path_mappings.py,sha256=d6JVzD0K342ELz3O8AcsaXoikLDF3xYrgbXkixMmf3Q,2073
@@ -238,10 +238,10 @@ pex/resolve/pep_691/__init__.py,sha256=hbVu8HKJGOAmXQlIyMjcEt0EsBK311HumeAwENvHH
238
238
  pex/resolve/pep_691/api.py,sha256=Qjvl6ESniISty6nGiqtXsEX8kR-WGDU2FZzrnsfNq0w,8934
239
239
  pex/resolve/pep_691/fingerprint_service.py,sha256=Z7m2efzkETbHxXpn6IjDHjRBr_p2r48txeM1wVwStB8,10387
240
240
  pex/resolve/pep_691/model.py,sha256=lpuDh3ACKHVeKih1lqvn2Ka27VDq27UjfSA0WUU-_oE,2786
241
- pex/scie/__init__.py,sha256=_Dq9T5bgajm_fpS8Q-E0lUOC8M6sIDKOjixQ-pGfJ5w,19710
241
+ pex/scie/__init__.py,sha256=FdKXjeDNSBtXihM96r4hj_pY3_p1ML8rbGg1WiLbGrc,21315
242
242
  pex/scie/configure-binding.py,sha256=BksrnIFh_7ahhnxa1W7_ADAPKysAjRzQN3fb7FXbNVU,2343
243
- pex/scie/model.py,sha256=tJUSnhGXY4ZJ4by69H4y8iA7iaoSVZl5Zdfc-i2zC2c,18301
244
- pex/scie/science.py,sha256=dSo8unqyF-C5RJx3bWQIiXpJwiIhSQ9Be-2JS35-lIk,22661
243
+ pex/scie/model.py,sha256=1hcnGjTj55ag8dhVm4PWA1YviK4fWwsV66jnJj2MDys,18415
244
+ pex/scie/science.py,sha256=vk7ODau6q_rpdMDjqbEM3DdK0KPzbV7S3yffnnFR1tA,23531
245
245
  pex/third_party/__init__.py,sha256=TRc8RDAuGkCMpLnXpOni3Eyh4B3jRiVCc-3QI71nok4,27035
246
246
  pex/tools/__init__.py,sha256=wR8_WpMqU00v6LNoLw_WGvCftUnnQ7QdENFpOFjRoio,107
247
247
  pex/tools/__main__.py,sha256=vBHTFs1w9ZIShIL9j85q-CQz6G0NYSHRgui7bA0PeAk,220
@@ -985,10 +985,10 @@ pex/windows/stubs/uv-trampoline-aarch64-console.exe,sha256=1S2aM-6CV7rKz-3ncM5X7
985
985
  pex/windows/stubs/uv-trampoline-aarch64-gui.exe,sha256=mb8x1FpyH-wy11X5YgWfqh_VUwBb62M4Zf9aFr5V4EE,40448
986
986
  pex/windows/stubs/uv-trampoline-x86_64-console.exe,sha256=nLopBrlCMMFjkKVRlY7Ke2zFGpQOyF5mSlLs0d7-HRQ,40960
987
987
  pex/windows/stubs/uv-trampoline-x86_64-gui.exe,sha256=icnp1oXrOZpc-dHTGvDbTHjr-D8M0eamvRrC9bPI_KI,41984
988
- pex-2.64.0.dist-info/METADATA,sha256=ehVFU-F5jx33SUS3JTXSszTqEALQa3C8JxM4mA9YrxU,7476
989
- pex-2.64.0.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
990
- pex-2.64.0.dist-info/entry_points.txt,sha256=LD9tcxNxdsVLeIF6zR7dyH1vgo2eD9a-05TC1UraGMQ,174
991
- pex-2.64.0.dist-info/top_level.txt,sha256=HlafJUPu7mfjxv3SDH-RbkxsHOWSVbPXTEBC1hzonpM,4
992
- pex-2.64.0.dist-info/licenses/LICENSE,sha256=bcDgaNzzpbyOBUIFuFt3IOHUkmW7xkv1FdLPeRl99po,11323
993
- pex-2.64.0.dist-info/pylock/pylock.toml,sha256=9TIk5X6BqnJ6lKu8eb0EnzwbBcOjs3QJWzcLMYx8M5k,7151
994
- pex-2.64.0.dist-info/RECORD,,
988
+ pex-2.65.0.dist-info/METADATA,sha256=12uYLeVXM-y1zPeSIMHj83BVgP2W9O-qBZ20kZxDOAQ,7476
989
+ pex-2.65.0.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
990
+ pex-2.65.0.dist-info/entry_points.txt,sha256=LD9tcxNxdsVLeIF6zR7dyH1vgo2eD9a-05TC1UraGMQ,174
991
+ pex-2.65.0.dist-info/top_level.txt,sha256=HlafJUPu7mfjxv3SDH-RbkxsHOWSVbPXTEBC1hzonpM,4
992
+ pex-2.65.0.dist-info/licenses/LICENSE,sha256=bcDgaNzzpbyOBUIFuFt3IOHUkmW7xkv1FdLPeRl99po,11323
993
+ pex-2.65.0.dist-info/pylock/pylock.toml,sha256=9TIk5X6BqnJ6lKu8eb0EnzwbBcOjs3QJWzcLMYx8M5k,7151
994
+ pex-2.65.0.dist-info/RECORD,,
File without changes