pex 2.59.0__py2.py3-none-any.whl → 2.59.2__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 (45) hide show
  1. pex/cli/commands/lock.py +126 -101
  2. pex/docs/html/_pagefind/fragment/en_2872b88.pf_fragment +0 -0
  3. pex/docs/html/_pagefind/fragment/en_403e4e7.pf_fragment +0 -0
  4. pex/docs/html/_pagefind/fragment/en_57d6ca5.pf_fragment +0 -0
  5. pex/docs/html/_pagefind/fragment/en_644781c.pf_fragment +0 -0
  6. pex/docs/html/_pagefind/fragment/en_934de2b.pf_fragment +0 -0
  7. pex/docs/html/_pagefind/fragment/en_9be98db.pf_fragment +0 -0
  8. pex/docs/html/_pagefind/fragment/en_c13692d.pf_fragment +0 -0
  9. pex/docs/html/_pagefind/fragment/en_cd57e69.pf_fragment +0 -0
  10. pex/docs/html/_pagefind/index/en_8d50649.pf_index +0 -0
  11. pex/docs/html/_pagefind/pagefind-entry.json +1 -1
  12. pex/docs/html/_pagefind/pagefind.en_45165febeb.pf_meta +0 -0
  13. pex/docs/html/_static/documentation_options.js +1 -1
  14. pex/docs/html/_static/pygments.css +164 -146
  15. pex/docs/html/_static/styles/furo.css +1 -1
  16. pex/docs/html/_static/styles/furo.css.map +1 -1
  17. pex/docs/html/api/vars.html +25 -34
  18. pex/docs/html/buildingpex.html +25 -34
  19. pex/docs/html/genindex.html +24 -33
  20. pex/docs/html/index.html +25 -34
  21. pex/docs/html/recipes.html +25 -34
  22. pex/docs/html/scie.html +25 -34
  23. pex/docs/html/search.html +24 -33
  24. pex/docs/html/whatispex.html +25 -34
  25. pex/resolve/locked_resolve.py +5 -1
  26. pex/resolve/locker.py +3 -2
  27. pex/resolve/target_system.py +11 -18
  28. pex/version.py +1 -1
  29. {pex-2.59.0.dist-info → pex-2.59.2.dist-info}/METADATA +4 -4
  30. {pex-2.59.0.dist-info → pex-2.59.2.dist-info}/RECORD +35 -35
  31. pex/docs/html/_pagefind/fragment/en_23dc437.pf_fragment +0 -0
  32. pex/docs/html/_pagefind/fragment/en_3b86fa5.pf_fragment +0 -0
  33. pex/docs/html/_pagefind/fragment/en_65c3a5b.pf_fragment +0 -0
  34. pex/docs/html/_pagefind/fragment/en_6c2e6ff.pf_fragment +0 -0
  35. pex/docs/html/_pagefind/fragment/en_7320871.pf_fragment +0 -0
  36. pex/docs/html/_pagefind/fragment/en_7cfdecb.pf_fragment +0 -0
  37. pex/docs/html/_pagefind/fragment/en_89e2d7c.pf_fragment +0 -0
  38. pex/docs/html/_pagefind/fragment/en_d4675e3.pf_fragment +0 -0
  39. pex/docs/html/_pagefind/index/en_34a4497.pf_index +0 -0
  40. pex/docs/html/_pagefind/pagefind.en_4ade7b3598.pf_meta +0 -0
  41. {pex-2.59.0.dist-info → pex-2.59.2.dist-info}/WHEEL +0 -0
  42. {pex-2.59.0.dist-info → pex-2.59.2.dist-info}/entry_points.txt +0 -0
  43. {pex-2.59.0.dist-info → pex-2.59.2.dist-info}/licenses/LICENSE +0 -0
  44. {pex-2.59.0.dist-info → pex-2.59.2.dist-info}/pylock/pylock.toml +0 -0
  45. {pex-2.59.0.dist-info → pex-2.59.2.dist-info}/top_level.txt +0 -0
pex/docs/html/scie.html CHANGED
@@ -1,16 +1,16 @@
1
1
  <!doctype html>
2
2
  <html class="no-js" lang="en" data-content_root="./">
3
- <head><meta charset="utf-8"/>
4
- <meta name="viewport" content="width=device-width,initial-scale=1"/>
3
+ <head><meta charset="utf-8">
4
+ <meta name="viewport" content="width=device-width,initial-scale=1">
5
5
  <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
6
- <link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="PEX Recipes and Notes" href="recipes.html" /><link rel="prev" title="Building .pex files" href="buildingpex.html" />
7
- <link rel="prefetch" href="_static/pex-logo-light.png" as="image" />
8
- <link rel="prefetch" href="_static/pex-logo-dark.png" as="image" />
6
+ <link rel="index" title="Index" href="genindex.html"><link rel="search" title="Search" href="search.html"><link rel="next" title="PEX Recipes and Notes" href="recipes.html"><link rel="prev" title="Building .pex files" href="buildingpex.html">
7
+ <link rel="prefetch" href="_static/pex-logo-light.png" as="image">
8
+ <link rel="prefetch" href="_static/pex-logo-dark.png" as="image">
9
9
 
10
- <link rel="shortcut icon" href="_static/pex-icon.png"/><!-- Generated with Sphinx 8.2.3 and Furo 2025.07.19 -->
11
- <title>PEX with included Python interpreter - Pex Docs (v2.59.0)</title>
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.2)</title>
12
12
  <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
13
- <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=25af2a20" />
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" />
15
15
 
16
16
 
@@ -24,14 +24,14 @@
24
24
  }
25
25
  @media not print {
26
26
  body[data-theme="dark"] {
27
- --color-code-background: #2b2b2b;
28
- --color-code-foreground: #f8f8f2;
27
+ --color-code-background: #202020;
28
+ --color-code-foreground: #d0d0d0;
29
29
 
30
30
  }
31
31
  @media (prefers-color-scheme: dark) {
32
32
  body:not([data-theme="light"]) {
33
- --color-code-background: #2b2b2b;
34
- --color-code-foreground: #f8f8f2;
33
+ --color-code-background: #202020;
34
+ --color-code-foreground: #d0d0d0;
35
35
 
36
36
  }
37
37
  }
@@ -146,14 +146,10 @@
146
146
  </symbol>
147
147
  </svg>
148
148
 
149
- <input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
150
- <input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
151
- <label class="overlay sidebar-overlay" for="__navigation">
152
- <div class="visually-hidden">Hide navigation sidebar</div>
153
- </label>
154
- <label class="overlay toc-overlay" for="__toc">
155
- <div class="visually-hidden">Hide table of contents sidebar</div>
156
- </label>
149
+ <input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation" aria-label="Toggle site navigation sidebar">
150
+ <input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc" aria-label="Toggle table of contents sidebar">
151
+ <label class="overlay sidebar-overlay" for="__navigation"></label>
152
+ <label class="overlay toc-overlay" for="__toc"></label>
157
153
 
158
154
  <a class="skip-to-content muted-link" href="#furo-main-content">Skip to content</a>
159
155
 
@@ -163,17 +159,15 @@
163
159
  <header class="mobile-header">
164
160
  <div class="header-left">
165
161
  <label class="nav-overlay-icon" for="__navigation">
166
- <div class="visually-hidden">Toggle site navigation sidebar</div>
167
- <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
162
+ <span class="icon"><svg><use href="#svg-menu"></use></svg></span>
168
163
  </label>
169
164
  </div>
170
165
  <div class="header-center">
171
- <a href="index.html"><div class="brand">Pex Docs (v2.59.0)</div></a>
166
+ <a href="index.html"><div class="brand">Pex Docs (v2.59.2)</div></a>
172
167
  </div>
173
168
  <div class="header-right">
174
169
  <div class="theme-toggle-container theme-toggle-header">
175
- <button class="theme-toggle">
176
- <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
170
+ <button class="theme-toggle" aria-label="Toggle Light / Dark / Auto color theme">
177
171
  <svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg>
178
172
  <svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg>
179
173
  <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
@@ -181,8 +175,7 @@
181
175
  </button>
182
176
  </div>
183
177
  <label class="toc-overlay-icon toc-header-icon" for="__toc">
184
- <div class="visually-hidden">Toggle table of contents sidebar</div>
185
- <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
178
+ <span class="icon"><svg><use href="#svg-toc"></use></svg></span>
186
179
  </label>
187
180
  </div>
188
181
  </header>
@@ -241,8 +234,7 @@
241
234
  <span class="visually-hidden">Edit this page</span>
242
235
  </a>
243
236
  </div><div class="theme-toggle-container theme-toggle-content">
244
- <button class="theme-toggle">
245
- <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
237
+ <button class="theme-toggle" aria-label="Toggle Light / Dark / Auto color theme">
246
238
  <svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg>
247
239
  <svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg>
248
240
  <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
@@ -250,8 +242,7 @@
250
242
  </button>
251
243
  </div>
252
244
  <label class="toc-overlay-icon toc-content-icon" for="__toc">
253
- <div class="visually-hidden">Toggle table of contents sidebar</div>
254
- <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
245
+ <span class="icon"><svg><use href="#svg-toc"></use></svg></span>
255
246
  </label>
256
247
  </div>
257
248
  <article role="main" id="furo-main-content">
@@ -632,12 +623,12 @@ uuid
632
623
  </div>
633
624
  <div class="right-details">
634
625
  <div class="icons">
635
- <a class="muted-link " href="https://pypi.org/project/pex/2.59.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.59.2/" 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">
636
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">
637
628
  </path>
638
629
  </svg>
639
630
  </a>
640
- <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.59.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.59.2/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">
641
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">
642
633
  </path>
643
634
  </svg>
@@ -681,7 +672,7 @@ uuid
681
672
 
682
673
  </aside>
683
674
  </div>
684
- </div><script src="_static/documentation_options.js?v=6517ee4d"></script>
675
+ </div><script src="_static/documentation_options.js?v=f697e03e"></script>
685
676
  <script src="_static/doctools.js?v=9bcbadda"></script>
686
677
  <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
687
678
  <script src="_static/scripts/furo.js?v=46bd48cc"></script>
pex/docs/html/search.html CHANGED
@@ -1,13 +1,13 @@
1
1
  <!doctype html>
2
2
  <html class="no-js" lang="en" data-content_root="./">
3
- <head><meta charset="utf-8"/>
4
- <meta name="viewport" content="width=device-width,initial-scale=1"/>
5
- <meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="#" />
6
- <link rel="prefetch" href="_static/pex-logo-light.png" as="image" />
7
- <link rel="prefetch" href="_static/pex-logo-dark.png" as="image" />
3
+ <head><meta charset="utf-8">
4
+ <meta name="viewport" content="width=device-width,initial-scale=1">
5
+ <meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="genindex.html"><link rel="search" title="Search" href="#">
6
+ <link rel="prefetch" href="_static/pex-logo-light.png" as="image">
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.07.19 --><title>Search - Pex Docs (v2.59.0)</title><link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
10
- <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=25af2a20" />
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.2)</title><link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
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
 
13
13
 
@@ -21,14 +21,14 @@
21
21
  }
22
22
  @media not print {
23
23
  body[data-theme="dark"] {
24
- --color-code-background: #2b2b2b;
25
- --color-code-foreground: #f8f8f2;
24
+ --color-code-background: #202020;
25
+ --color-code-foreground: #d0d0d0;
26
26
 
27
27
  }
28
28
  @media (prefers-color-scheme: dark) {
29
29
  body:not([data-theme="light"]) {
30
- --color-code-background: #2b2b2b;
31
- --color-code-foreground: #f8f8f2;
30
+ --color-code-background: #202020;
31
+ --color-code-foreground: #d0d0d0;
32
32
 
33
33
  }
34
34
  }
@@ -159,14 +159,10 @@
159
159
  </symbol>
160
160
  </svg>
161
161
 
162
- <input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
163
- <input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
164
- <label class="overlay sidebar-overlay" for="__navigation">
165
- <div class="visually-hidden">Hide navigation sidebar</div>
166
- </label>
167
- <label class="overlay toc-overlay" for="__toc">
168
- <div class="visually-hidden">Hide table of contents sidebar</div>
169
- </label>
162
+ <input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation" aria-label="Toggle site navigation sidebar">
163
+ <input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc" aria-label="Toggle table of contents sidebar">
164
+ <label class="overlay sidebar-overlay" for="__navigation"></label>
165
+ <label class="overlay toc-overlay" for="__toc"></label>
170
166
 
171
167
  <a class="skip-to-content muted-link" href="#furo-main-content">Skip to content</a>
172
168
 
@@ -176,17 +172,15 @@
176
172
  <header class="mobile-header">
177
173
  <div class="header-left">
178
174
  <label class="nav-overlay-icon" for="__navigation">
179
- <div class="visually-hidden">Toggle site navigation sidebar</div>
180
- <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
175
+ <span class="icon"><svg><use href="#svg-menu"></use></svg></span>
181
176
  </label>
182
177
  </div>
183
178
  <div class="header-center">
184
- <a href="index.html"><div class="brand">Pex Docs (v2.59.0)</div></a>
179
+ <a href="index.html"><div class="brand">Pex Docs (v2.59.2)</div></a>
185
180
  </div>
186
181
  <div class="header-right">
187
182
  <div class="theme-toggle-container theme-toggle-header">
188
- <button class="theme-toggle">
189
- <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
183
+ <button class="theme-toggle" aria-label="Toggle Light / Dark / Auto color theme">
190
184
  <svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg>
191
185
  <svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg>
192
186
  <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
@@ -194,8 +188,7 @@
194
188
  </button>
195
189
  </div>
196
190
  <label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
197
- <div class="visually-hidden">Toggle table of contents sidebar</div>
198
- <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
191
+ <span class="icon"><svg><use href="#svg-toc"></use></svg></span>
199
192
  </label>
200
193
  </div>
201
194
  </header>
@@ -244,8 +237,7 @@
244
237
  </a>
245
238
  <div class="content-icon-container">
246
239
  <div class="theme-toggle-container theme-toggle-content">
247
- <button class="theme-toggle">
248
- <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
240
+ <button class="theme-toggle" aria-label="Toggle Light / Dark / Auto color theme">
249
241
  <svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg>
250
242
  <svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg>
251
243
  <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
@@ -253,8 +245,7 @@
253
245
  </button>
254
246
  </div>
255
247
  <label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
256
- <div class="visually-hidden">Toggle table of contents sidebar</div>
257
- <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
248
+ <span class="icon"><svg><use href="#svg-toc"></use></svg></span>
258
249
  </label>
259
250
  </div>
260
251
  <article role="main" id="furo-main-content">
@@ -282,12 +273,12 @@
282
273
  </div>
283
274
  <div class="right-details">
284
275
  <div class="icons">
285
- <a class="muted-link " href="https://pypi.org/project/pex/2.59.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.59.2/" 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">
286
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">
287
278
  </path>
288
279
  </svg>
289
280
  </a>
290
- <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.59.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.59.2/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">
291
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">
292
283
  </path>
293
284
  </svg>
@@ -310,7 +301,7 @@
310
301
 
311
302
  </aside>
312
303
  </div>
313
- </div><script src="_static/documentation_options.js?v=6517ee4d"></script>
304
+ </div><script src="_static/documentation_options.js?v=f697e03e"></script>
314
305
  <script src="_static/doctools.js?v=9bcbadda"></script>
315
306
  <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
316
307
  <script src="_static/scripts/furo.js?v=46bd48cc"></script>
@@ -1,16 +1,16 @@
1
1
  <!doctype html>
2
2
  <html class="no-js" lang="en" data-content_root="./">
3
- <head><meta charset="utf-8"/>
4
- <meta name="viewport" content="width=device-width,initial-scale=1"/>
3
+ <head><meta charset="utf-8">
4
+ <meta name="viewport" content="width=device-width,initial-scale=1">
5
5
  <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
6
- <link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Building .pex files" href="buildingpex.html" /><link rel="prev" title="pex" href="index.html" />
7
- <link rel="prefetch" href="_static/pex-logo-light.png" as="image" />
8
- <link rel="prefetch" href="_static/pex-logo-dark.png" as="image" />
6
+ <link rel="index" title="Index" href="genindex.html"><link rel="search" title="Search" href="search.html"><link rel="next" title="Building .pex files" href="buildingpex.html"><link rel="prev" title="pex" href="index.html">
7
+ <link rel="prefetch" href="_static/pex-logo-light.png" as="image">
8
+ <link rel="prefetch" href="_static/pex-logo-dark.png" as="image">
9
9
 
10
- <link rel="shortcut icon" href="_static/pex-icon.png"/><!-- Generated with Sphinx 8.2.3 and Furo 2025.07.19 -->
11
- <title>What are .pex files? - Pex Docs (v2.59.0)</title>
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.2)</title>
12
12
  <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
13
- <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=25af2a20" />
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" />
15
15
 
16
16
 
@@ -24,14 +24,14 @@
24
24
  }
25
25
  @media not print {
26
26
  body[data-theme="dark"] {
27
- --color-code-background: #2b2b2b;
28
- --color-code-foreground: #f8f8f2;
27
+ --color-code-background: #202020;
28
+ --color-code-foreground: #d0d0d0;
29
29
 
30
30
  }
31
31
  @media (prefers-color-scheme: dark) {
32
32
  body:not([data-theme="light"]) {
33
- --color-code-background: #2b2b2b;
34
- --color-code-foreground: #f8f8f2;
33
+ --color-code-background: #202020;
34
+ --color-code-foreground: #d0d0d0;
35
35
 
36
36
  }
37
37
  }
@@ -146,14 +146,10 @@
146
146
  </symbol>
147
147
  </svg>
148
148
 
149
- <input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
150
- <input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
151
- <label class="overlay sidebar-overlay" for="__navigation">
152
- <div class="visually-hidden">Hide navigation sidebar</div>
153
- </label>
154
- <label class="overlay toc-overlay" for="__toc">
155
- <div class="visually-hidden">Hide table of contents sidebar</div>
156
- </label>
149
+ <input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation" aria-label="Toggle site navigation sidebar">
150
+ <input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc" aria-label="Toggle table of contents sidebar">
151
+ <label class="overlay sidebar-overlay" for="__navigation"></label>
152
+ <label class="overlay toc-overlay" for="__toc"></label>
157
153
 
158
154
  <a class="skip-to-content muted-link" href="#furo-main-content">Skip to content</a>
159
155
 
@@ -163,17 +159,15 @@
163
159
  <header class="mobile-header">
164
160
  <div class="header-left">
165
161
  <label class="nav-overlay-icon" for="__navigation">
166
- <div class="visually-hidden">Toggle site navigation sidebar</div>
167
- <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
162
+ <span class="icon"><svg><use href="#svg-menu"></use></svg></span>
168
163
  </label>
169
164
  </div>
170
165
  <div class="header-center">
171
- <a href="index.html"><div class="brand">Pex Docs (v2.59.0)</div></a>
166
+ <a href="index.html"><div class="brand">Pex Docs (v2.59.2)</div></a>
172
167
  </div>
173
168
  <div class="header-right">
174
169
  <div class="theme-toggle-container theme-toggle-header">
175
- <button class="theme-toggle">
176
- <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
170
+ <button class="theme-toggle" aria-label="Toggle Light / Dark / Auto color theme">
177
171
  <svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg>
178
172
  <svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg>
179
173
  <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
@@ -181,8 +175,7 @@
181
175
  </button>
182
176
  </div>
183
177
  <label class="toc-overlay-icon toc-header-icon" for="__toc">
184
- <div class="visually-hidden">Toggle table of contents sidebar</div>
185
- <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
178
+ <span class="icon"><svg><use href="#svg-toc"></use></svg></span>
186
179
  </label>
187
180
  </div>
188
181
  </header>
@@ -241,8 +234,7 @@
241
234
  <span class="visually-hidden">Edit this page</span>
242
235
  </a>
243
236
  </div><div class="theme-toggle-container theme-toggle-content">
244
- <button class="theme-toggle">
245
- <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
237
+ <button class="theme-toggle" aria-label="Toggle Light / Dark / Auto color theme">
246
238
  <svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg>
247
239
  <svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg>
248
240
  <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
@@ -250,8 +242,7 @@
250
242
  </button>
251
243
  </div>
252
244
  <label class="toc-overlay-icon toc-content-icon" for="__toc">
253
- <div class="visually-hidden">Toggle table of contents sidebar</div>
254
- <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
245
+ <span class="icon"><svg><use href="#svg-toc"></use></svg></span>
255
246
  </label>
256
247
  </div>
257
248
  <article role="main" id="furo-main-content">
@@ -331,12 +322,12 @@ build executable .pex files. This is described more thoroughly in
331
322
  </div>
332
323
  <div class="right-details">
333
324
  <div class="icons">
334
- <a class="muted-link " href="https://pypi.org/project/pex/2.59.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.59.2/" 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">
335
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">
336
327
  </path>
337
328
  </svg>
338
329
  </a>
339
- <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.59.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.59.2/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">
340
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">
341
332
  </path>
342
333
  </svg>
@@ -380,7 +371,7 @@ build executable .pex files. This is described more thoroughly in
380
371
 
381
372
  </aside>
382
373
  </div>
383
- </div><script src="_static/documentation_options.js?v=6517ee4d"></script>
374
+ </div><script src="_static/documentation_options.js?v=f697e03e"></script>
384
375
  <script src="_static/doctools.js?v=9bcbadda"></script>
385
376
  <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
386
377
  <script src="_static/scripts/furo.js?v=46bd48cc"></script>
@@ -281,7 +281,11 @@ class VCSArtifact(Artifact):
281
281
  def split_requested_revision(artifact_url):
282
282
  # type: (ArtifactURL) -> Tuple[ArtifactURL, Optional[str]]
283
283
 
284
- vcs_url, _, requested_revision = artifact_url.normalized_url.partition("@")
284
+ vcs_url = artifact_url.normalized_url
285
+ if "@" in artifact_url.path:
286
+ vcs_url, _, requested_revision = vcs_url.rpartition("@")
287
+ else:
288
+ requested_revision = None
285
289
  return ArtifactURL.parse(vcs_url), requested_revision or None
286
290
 
287
291
  @classmethod
pex/resolve/locker.py CHANGED
@@ -379,8 +379,9 @@ class Locker(LogAnalyzer):
379
379
  )
380
380
  self._selected_path_to_pin[selected_path] = build_result.pin
381
381
 
382
- vcs, _, vcs_url = artifact_url.normalized_url.partition("+")
383
- vcs_url, _, _ = vcs_url.partition("@")
382
+ vcs, _, vcs_url = build_result.url.raw_url.partition("+")
383
+ if "@" in build_result.url.path:
384
+ vcs_url, _, _ = vcs_url.rpartition("@")
384
385
  commit_id = self._commit_ids.pop(vcs_url, None)
385
386
  elif isinstance(artifact_url.scheme, ArchiveScheme.Value):
386
387
  selected_path = os.path.basename(artifact_url.path)
@@ -407,7 +407,7 @@ def _as_platform_system_marker(system):
407
407
 
408
408
 
409
409
  def _as_python_version_marker(specifier):
410
- # type: (SpecifierSet) -> str
410
+ # type: (SpecifierSet) -> Optional[str]
411
411
 
412
412
  clauses = [
413
413
  "python_full_version {operator} '{version}'".format(
@@ -416,7 +416,7 @@ def _as_python_version_marker(specifier):
416
416
  for spec in specifier
417
417
  ]
418
418
  if not clauses:
419
- return ""
419
+ return None
420
420
 
421
421
  if len(clauses) == 1:
422
422
  return clauses[0]
@@ -426,19 +426,10 @@ def _as_python_version_marker(specifier):
426
426
 
427
427
  @attr.s(frozen=True)
428
428
  class UniversalTarget(object):
429
- @classmethod
430
- def from_json(cls, data):
431
- # type: (Any) -> UniversalTarget
432
- return cls()
433
-
434
429
  implementation = attr.ib(default=None) # type: Optional[InterpreterImplementation.Value]
435
430
  requires_python = attr.ib(default=()) # type: Tuple[SpecifierSet, ...]
436
431
  systems = attr.ib(default=()) # type: Tuple[TargetSystem.Value, ...]
437
432
 
438
- def as_json(self):
439
- # type: () -> Any
440
- return {}
441
-
442
433
  def iter_interpreter_constraints(self):
443
434
  # type: () -> Iterator[InterpreterConstraint]
444
435
  for specifier in self.requires_python:
@@ -509,14 +500,16 @@ class UniversalTarget(object):
509
500
  )
510
501
  )
511
502
  if len(self.requires_python) == 1:
512
- clauses.append(_as_python_version_marker(self.requires_python[0]))
503
+ python_version_marker = _as_python_version_marker(self.requires_python[0])
504
+ if python_version_marker:
505
+ clauses.append(python_version_marker)
513
506
  elif self.requires_python:
507
+ python_version_markers = [] # type: List[str]
508
+ for requires_python in self.requires_python:
509
+ python_version_marker = _as_python_version_marker(requires_python)
510
+ if python_version_marker:
511
+ python_version_markers.append(python_version_marker)
514
512
  clauses.append(
515
- "({requires_pythons})".format(
516
- requires_pythons=" or ".join(
517
- _as_python_version_marker(requires_python)
518
- for requires_python in self.requires_python
519
- )
520
- )
513
+ "({requires_pythons})".format(requires_pythons=" or ".join(python_version_markers))
521
514
  )
522
515
  return Marker(" and ".join(clauses)) if clauses else None
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.0"
4
+ __version__ = "2.59.2"
@@ -1,15 +1,15 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pex
3
- Version: 2.59.0
3
+ Version: 2.59.2
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.0/pex
6
+ Download-URL: https://github.com/pex-tool/pex/releases/download/v2.59.2/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.0/CHANGES.md
10
+ Project-URL: Changelog, https://github.com/pex-tool/pex/blob/v2.59.2/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.0
12
+ Project-URL: Source, https://github.com/pex-tool/pex/tree/v2.59.2
13
13
  Keywords: package,executable,virtualenv,lock,freeze
14
14
  Classifier: Development Status :: 5 - Production/Stable
15
15
  Classifier: Intended Audience :: Developers