pex 2.58.1__py2.py3-none-any.whl → 2.59.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.
- pex/bin/pex.py +1 -0
- pex/cli/commands/venv.py +5 -1
- pex/dependency_configuration.py +6 -2
- pex/dist_metadata.py +30 -8
- pex/docs/html/_pagefind/fragment/en_23dc437.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_3b86fa5.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_65c3a5b.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_6c2e6ff.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_7320871.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_7cfdecb.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_89e2d7c.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_d4675e3.pf_fragment +0 -0
- pex/docs/html/_pagefind/index/en_34a4497.pf_index +0 -0
- pex/docs/html/_pagefind/pagefind-entry.json +1 -1
- pex/docs/html/_pagefind/pagefind.en_4ade7b3598.pf_meta +0 -0
- pex/docs/html/_static/documentation_options.js +1 -1
- pex/docs/html/api/vars.html +5 -5
- pex/docs/html/buildingpex.html +5 -5
- pex/docs/html/genindex.html +5 -5
- pex/docs/html/index.html +5 -5
- pex/docs/html/recipes.html +5 -5
- pex/docs/html/scie.html +5 -5
- pex/docs/html/search.html +5 -5
- pex/docs/html/whatispex.html +5 -5
- pex/environment.py +17 -3
- pex/pep_425.py +11 -2
- pex/pep_427.py +218 -73
- pex/pip/installation.py +1 -1
- pex/pip/tool.py +1 -1
- pex/resolve/configured_resolve.py +20 -0
- pex/resolve/configured_resolver.py +7 -3
- pex/resolve/pex_repository_resolver.py +1 -1
- pex/resolve/resolver_configuration.py +17 -0
- pex/resolve/resolver_options.py +88 -16
- pex/resolve/resolvers.py +3 -0
- pex/resolve/target_options.py +18 -2
- pex/resolve/venv_resolver.py +446 -0
- pex/resolver.py +2 -4
- pex/targets.py +9 -4
- pex/vendor/__main__.py +1 -1
- pex/version.py +1 -1
- pex/wheel.py +89 -27
- {pex-2.58.1.dist-info → pex-2.59.0.dist-info}/METADATA +4 -4
- {pex-2.58.1.dist-info → pex-2.59.0.dist-info}/RECORD +49 -48
- pex/docs/html/_pagefind/fragment/en_1fd6283.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_3981384.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_5b3a816.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_668cbbe.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_69b66dc.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_93e5ea3.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_9ec1cdb.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_edf644d.pf_fragment +0 -0
- pex/docs/html/_pagefind/index/en_b7cb935.pf_index +0 -0
- pex/docs/html/_pagefind/pagefind.en_bc4997bc6d.pf_meta +0 -0
- {pex-2.58.1.dist-info → pex-2.59.0.dist-info}/WHEEL +0 -0
- {pex-2.58.1.dist-info → pex-2.59.0.dist-info}/entry_points.txt +0 -0
- {pex-2.58.1.dist-info → pex-2.59.0.dist-info}/licenses/LICENSE +0 -0
- {pex-2.58.1.dist-info → pex-2.59.0.dist-info}/pylock/pylock.toml +0 -0
- {pex-2.58.1.dist-info → pex-2.59.0.dist-info}/top_level.txt +0 -0
pex/bin/pex.py
CHANGED
pex/cli/commands/venv.py
CHANGED
|
@@ -8,7 +8,7 @@ import logging
|
|
|
8
8
|
import os.path
|
|
9
9
|
from argparse import ArgumentParser, _ActionsContainer
|
|
10
10
|
|
|
11
|
-
from pex import pex_warnings
|
|
11
|
+
from pex import dependency_configuration, pex_warnings
|
|
12
12
|
from pex.cli.command import BuildTimeCommand
|
|
13
13
|
from pex.commands.command import JsonMixin, OutputMixin
|
|
14
14
|
from pex.common import CopyMode, open_zip, pluralize
|
|
@@ -123,8 +123,10 @@ class Venv(OutputMixin, JsonMixin, BuildTimeCommand):
|
|
|
123
123
|
include_pex_lock=True,
|
|
124
124
|
include_pylock=True,
|
|
125
125
|
include_pre_resolved=True,
|
|
126
|
+
include_venv_repository=True,
|
|
126
127
|
)
|
|
127
128
|
requirement_options.register(parser)
|
|
129
|
+
dependency_configuration.register(parser)
|
|
128
130
|
|
|
129
131
|
@classmethod
|
|
130
132
|
def add_extra_arguments(
|
|
@@ -285,11 +287,13 @@ class Venv(OutputMixin, JsonMixin, BuildTimeCommand):
|
|
|
285
287
|
)
|
|
286
288
|
|
|
287
289
|
requirement_configuration = requirement_options.configure(self.options)
|
|
290
|
+
dependency_config = dependency_configuration.configure(self.options)
|
|
288
291
|
with TRACER.timed("Resolving distributions"):
|
|
289
292
|
resolved = configured_resolve.resolve(
|
|
290
293
|
targets=targets,
|
|
291
294
|
requirement_configuration=requirement_configuration,
|
|
292
295
|
resolver_configuration=resolver_configuration,
|
|
296
|
+
dependency_configuration=dependency_config,
|
|
293
297
|
)
|
|
294
298
|
|
|
295
299
|
pex = None # type: Optional[PEX]
|
pex/dependency_configuration.py
CHANGED
|
@@ -141,8 +141,12 @@ class DependencyConfiguration(object):
|
|
|
141
141
|
# type: (Requirement) -> Tuple[Requirement, ...]
|
|
142
142
|
return self.overridden.get(requirement.project_name, ())
|
|
143
143
|
|
|
144
|
-
def overridden_by(
|
|
145
|
-
|
|
144
|
+
def overridden_by(
|
|
145
|
+
self,
|
|
146
|
+
requirement, # type: Requirement
|
|
147
|
+
target, # type: Target
|
|
148
|
+
):
|
|
149
|
+
# type: (...) -> Optional[Requirement]
|
|
146
150
|
overrides = self.overrides_for(requirement)
|
|
147
151
|
applicable_overrides = [
|
|
148
152
|
override for override in overrides if target.requirement_applies(override)
|
pex/dist_metadata.py
CHANGED
|
@@ -152,15 +152,24 @@ class DistMetadataFile(object):
|
|
|
152
152
|
version = attr.ib() # type: Version
|
|
153
153
|
pkg_info = attr.ib(eq=False) # type: Message
|
|
154
154
|
|
|
155
|
-
def
|
|
156
|
-
# type: () -> str
|
|
155
|
+
def render_metadata_file_description(self, metadata_file_rel_path):
|
|
156
|
+
# type: (Text) -> str
|
|
157
157
|
return "{project_name} {version} metadata from {rel_path} at {location}".format(
|
|
158
158
|
project_name=self.project_name,
|
|
159
159
|
version=self.version,
|
|
160
|
-
rel_path=
|
|
160
|
+
rel_path=metadata_file_rel_path,
|
|
161
161
|
location=self.location,
|
|
162
162
|
)
|
|
163
163
|
|
|
164
|
+
def render_description(self):
|
|
165
|
+
# type: () -> str
|
|
166
|
+
return self.render_metadata_file_description(self.rel_path)
|
|
167
|
+
|
|
168
|
+
@property
|
|
169
|
+
def path(self):
|
|
170
|
+
# type: () -> Text
|
|
171
|
+
return os.path.join(self.location, self.rel_path)
|
|
172
|
+
|
|
164
173
|
|
|
165
174
|
@attr.s(frozen=True)
|
|
166
175
|
class MetadataFiles(object):
|
|
@@ -182,6 +191,14 @@ class MetadataFiles(object):
|
|
|
182
191
|
return None
|
|
183
192
|
return self._read_function(rel_path)
|
|
184
193
|
|
|
194
|
+
def render_description(self, metadata_file_name):
|
|
195
|
+
# type: (Text) -> str
|
|
196
|
+
rel_path = self.metadata_file_rel_path(metadata_file_name)
|
|
197
|
+
return self.metadata.render_metadata_file_description(
|
|
198
|
+
rel_path
|
|
199
|
+
or "{metadata_file_name} not found".format(metadata_file_name=metadata_file_name)
|
|
200
|
+
)
|
|
201
|
+
|
|
185
202
|
|
|
186
203
|
class MetadataType(Enum["MetadataType.Value"]):
|
|
187
204
|
class Value(Enum.Value):
|
|
@@ -210,6 +227,15 @@ class MetadataKey(object):
|
|
|
210
227
|
location = attr.ib() # type: Text
|
|
211
228
|
|
|
212
229
|
|
|
230
|
+
def _read_function(
|
|
231
|
+
location, # type: Text
|
|
232
|
+
rel_path, # type: Text
|
|
233
|
+
):
|
|
234
|
+
# type: (...) -> bytes
|
|
235
|
+
with open(os.path.join(location, rel_path), "rb") as fp:
|
|
236
|
+
return fp.read()
|
|
237
|
+
|
|
238
|
+
|
|
213
239
|
def _find_installed_metadata_files(
|
|
214
240
|
location, # type: Text
|
|
215
241
|
metadata_type, # type: MetadataType.Value
|
|
@@ -218,6 +244,7 @@ def _find_installed_metadata_files(
|
|
|
218
244
|
):
|
|
219
245
|
# type: (...) -> Iterator[MetadataFiles]
|
|
220
246
|
metadata_files = glob.glob(os.path.join(location, metadata_dir_glob, metadata_file_name))
|
|
247
|
+
read_function = functools.partial(_read_function, location)
|
|
221
248
|
for path in metadata_files:
|
|
222
249
|
with open(path, "rb") as fp:
|
|
223
250
|
metadata = parse_message(fp.read())
|
|
@@ -225,11 +252,6 @@ def _find_installed_metadata_files(
|
|
|
225
252
|
source=path, pkg_info=metadata
|
|
226
253
|
)
|
|
227
254
|
|
|
228
|
-
def read_function(rel_path):
|
|
229
|
-
# type: (Text) -> bytes
|
|
230
|
-
with open(os.path.join(location, rel_path), "rb") as fp:
|
|
231
|
-
return fp.read()
|
|
232
|
-
|
|
233
255
|
yield MetadataFiles(
|
|
234
256
|
metadata=DistMetadataFile(
|
|
235
257
|
type=metadata_type,
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"1.3.0","languages":{"en":{"hash":"
|
|
1
|
+
{"version":"1.3.0","languages":{"en":{"hash":"en_4ade7b3598","wasm":"en","page_count":8}}}
|
|
Binary file
|
pex/docs/html/api/vars.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.07.19 -->
|
|
11
|
-
<title>PEX runtime environment variables - Pex Docs (v2.
|
|
11
|
+
<title>PEX runtime environment variables - Pex Docs (v2.59.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=25af2a20" />
|
|
14
14
|
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=8dab3a3b" />
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
</label>
|
|
169
169
|
</div>
|
|
170
170
|
<div class="header-center">
|
|
171
|
-
<a href="../index.html"><div class="brand">Pex Docs (v2.
|
|
171
|
+
<a href="../index.html"><div class="brand">Pex Docs (v2.59.0)</div></a>
|
|
172
172
|
</div>
|
|
173
173
|
<div class="header-right">
|
|
174
174
|
<div class="theme-toggle-container theme-toggle-header">
|
|
@@ -652,12 +652,12 @@
|
|
|
652
652
|
</div>
|
|
653
653
|
<div class="right-details">
|
|
654
654
|
<div class="icons">
|
|
655
|
-
<a class="muted-link " href="https://pypi.org/project/pex/2.
|
|
655
|
+
<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">
|
|
656
656
|
<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">
|
|
657
657
|
</path>
|
|
658
658
|
</svg>
|
|
659
659
|
</a>
|
|
660
|
-
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.
|
|
660
|
+
<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">
|
|
661
661
|
<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">
|
|
662
662
|
</path>
|
|
663
663
|
</svg>
|
|
@@ -680,7 +680,7 @@
|
|
|
680
680
|
|
|
681
681
|
</aside>
|
|
682
682
|
</div>
|
|
683
|
-
</div><script src="../_static/documentation_options.js?v=
|
|
683
|
+
</div><script src="../_static/documentation_options.js?v=6517ee4d"></script>
|
|
684
684
|
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
|
685
685
|
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
686
686
|
<script src="../_static/scripts/furo.js?v=46bd48cc"></script>
|
pex/docs/html/buildingpex.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.07.19 -->
|
|
11
|
-
<title>Building .pex files - Pex Docs (v2.
|
|
11
|
+
<title>Building .pex files - Pex Docs (v2.59.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=25af2a20" />
|
|
14
14
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
</label>
|
|
169
169
|
</div>
|
|
170
170
|
<div class="header-center">
|
|
171
|
-
<a href="index.html"><div class="brand">Pex Docs (v2.
|
|
171
|
+
<a href="index.html"><div class="brand">Pex Docs (v2.59.0)</div></a>
|
|
172
172
|
</div>
|
|
173
173
|
<div class="header-right">
|
|
174
174
|
<div class="theme-toggle-container theme-toggle-header">
|
|
@@ -690,12 +690,12 @@ scary like <code class="docutils literal notranslate"><span class="pre">sudo</sp
|
|
|
690
690
|
</div>
|
|
691
691
|
<div class="right-details">
|
|
692
692
|
<div class="icons">
|
|
693
|
-
<a class="muted-link " href="https://pypi.org/project/pex/2.
|
|
693
|
+
<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">
|
|
694
694
|
<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">
|
|
695
695
|
</path>
|
|
696
696
|
</svg>
|
|
697
697
|
</a>
|
|
698
|
-
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.
|
|
698
|
+
<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">
|
|
699
699
|
<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">
|
|
700
700
|
</path>
|
|
701
701
|
</svg>
|
|
@@ -718,7 +718,7 @@ scary like <code class="docutils literal notranslate"><span class="pre">sudo</sp
|
|
|
718
718
|
|
|
719
719
|
</aside>
|
|
720
720
|
</div>
|
|
721
|
-
</div><script src="_static/documentation_options.js?v=
|
|
721
|
+
</div><script src="_static/documentation_options.js?v=6517ee4d"></script>
|
|
722
722
|
<script src="_static/doctools.js?v=9bcbadda"></script>
|
|
723
723
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
724
724
|
<script src="_static/scripts/furo.js?v=46bd48cc"></script>
|
pex/docs/html/genindex.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.07.19 --><title>Index - Pex Docs (v2.
|
|
9
|
+
<link rel="shortcut icon" href="_static/pex-icon.png"/><!-- Generated with Sphinx 8.2.3 and Furo 2025.07.19 --><title>Index - Pex Docs (v2.59.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=25af2a20" />
|
|
12
12
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
|
|
@@ -166,7 +166,7 @@
|
|
|
166
166
|
</label>
|
|
167
167
|
</div>
|
|
168
168
|
<div class="header-center">
|
|
169
|
-
<a href="index.html"><div class="brand">Pex Docs (v2.
|
|
169
|
+
<a href="index.html"><div class="brand">Pex Docs (v2.59.0)</div></a>
|
|
170
170
|
</div>
|
|
171
171
|
<div class="header-right">
|
|
172
172
|
<div class="theme-toggle-container theme-toggle-header">
|
|
@@ -269,12 +269,12 @@
|
|
|
269
269
|
</div>
|
|
270
270
|
<div class="right-details">
|
|
271
271
|
<div class="icons">
|
|
272
|
-
<a class="muted-link " href="https://pypi.org/project/pex/2.
|
|
272
|
+
<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">
|
|
273
273
|
<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">
|
|
274
274
|
</path>
|
|
275
275
|
</svg>
|
|
276
276
|
</a>
|
|
277
|
-
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.
|
|
277
|
+
<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">
|
|
278
278
|
<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">
|
|
279
279
|
</path>
|
|
280
280
|
</svg>
|
|
@@ -297,7 +297,7 @@
|
|
|
297
297
|
|
|
298
298
|
</aside>
|
|
299
299
|
</div>
|
|
300
|
-
</div><script src="_static/documentation_options.js?v=
|
|
300
|
+
</div><script src="_static/documentation_options.js?v=6517ee4d"></script>
|
|
301
301
|
<script src="_static/doctools.js?v=9bcbadda"></script>
|
|
302
302
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
303
303
|
<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.07.19 -->
|
|
11
|
-
<title>Pex Docs (v2.
|
|
11
|
+
<title>Pex Docs (v2.59.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=25af2a20" />
|
|
14
14
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
</label>
|
|
169
169
|
</div>
|
|
170
170
|
<div class="header-center">
|
|
171
|
-
<a href="#"><div class="brand">Pex Docs (v2.
|
|
171
|
+
<a href="#"><div class="brand">Pex Docs (v2.59.0)</div></a>
|
|
172
172
|
</div>
|
|
173
173
|
<div class="header-right">
|
|
174
174
|
<div class="theme-toggle-container theme-toggle-header">
|
|
@@ -350,12 +350,12 @@ To go straight to building pex files, see <a class="reference internal" href="bu
|
|
|
350
350
|
</div>
|
|
351
351
|
<div class="right-details">
|
|
352
352
|
<div class="icons">
|
|
353
|
-
<a class="muted-link " href="https://pypi.org/project/pex/2.
|
|
353
|
+
<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">
|
|
354
354
|
<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">
|
|
355
355
|
</path>
|
|
356
356
|
</svg>
|
|
357
357
|
</a>
|
|
358
|
-
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.
|
|
358
|
+
<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">
|
|
359
359
|
<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">
|
|
360
360
|
</path>
|
|
361
361
|
</svg>
|
|
@@ -398,7 +398,7 @@ To go straight to building pex files, see <a class="reference internal" href="bu
|
|
|
398
398
|
|
|
399
399
|
</aside>
|
|
400
400
|
</div>
|
|
401
|
-
</div><script src="_static/documentation_options.js?v=
|
|
401
|
+
</div><script src="_static/documentation_options.js?v=6517ee4d"></script>
|
|
402
402
|
<script src="_static/doctools.js?v=9bcbadda"></script>
|
|
403
403
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
404
404
|
<script src="_static/scripts/furo.js?v=46bd48cc"></script>
|
pex/docs/html/recipes.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.07.19 -->
|
|
11
|
-
<title>PEX Recipes and Notes - Pex Docs (v2.
|
|
11
|
+
<title>PEX Recipes and Notes - Pex Docs (v2.59.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=25af2a20" />
|
|
14
14
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
</label>
|
|
169
169
|
</div>
|
|
170
170
|
<div class="header-center">
|
|
171
|
-
<a href="index.html"><div class="brand">Pex Docs (v2.
|
|
171
|
+
<a href="index.html"><div class="brand">Pex Docs (v2.59.0)</div></a>
|
|
172
172
|
</div>
|
|
173
173
|
<div class="header-right">
|
|
174
174
|
<div class="theme-toggle-container theme-toggle-header">
|
|
@@ -439,12 +439,12 @@ $<span class="w"> </span><span class="nb">export</span><span class="w"> </span><
|
|
|
439
439
|
</div>
|
|
440
440
|
<div class="right-details">
|
|
441
441
|
<div class="icons">
|
|
442
|
-
<a class="muted-link " href="https://pypi.org/project/pex/2.
|
|
442
|
+
<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">
|
|
443
443
|
<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">
|
|
444
444
|
</path>
|
|
445
445
|
</svg>
|
|
446
446
|
</a>
|
|
447
|
-
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.
|
|
447
|
+
<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">
|
|
448
448
|
<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">
|
|
449
449
|
</path>
|
|
450
450
|
</svg>
|
|
@@ -491,7 +491,7 @@ $<span class="w"> </span><span class="nb">export</span><span class="w"> </span><
|
|
|
491
491
|
|
|
492
492
|
</aside>
|
|
493
493
|
</div>
|
|
494
|
-
</div><script src="_static/documentation_options.js?v=
|
|
494
|
+
</div><script src="_static/documentation_options.js?v=6517ee4d"></script>
|
|
495
495
|
<script src="_static/doctools.js?v=9bcbadda"></script>
|
|
496
496
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
497
497
|
<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.07.19 -->
|
|
11
|
-
<title>PEX with included Python interpreter - Pex Docs (v2.
|
|
11
|
+
<title>PEX with included Python interpreter - Pex Docs (v2.59.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=25af2a20" />
|
|
14
14
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
</label>
|
|
169
169
|
</div>
|
|
170
170
|
<div class="header-center">
|
|
171
|
-
<a href="index.html"><div class="brand">Pex Docs (v2.
|
|
171
|
+
<a href="index.html"><div class="brand">Pex Docs (v2.59.0)</div></a>
|
|
172
172
|
</div>
|
|
173
173
|
<div class="header-right">
|
|
174
174
|
<div class="theme-toggle-container theme-toggle-header">
|
|
@@ -632,12 +632,12 @@ uuid
|
|
|
632
632
|
</div>
|
|
633
633
|
<div class="right-details">
|
|
634
634
|
<div class="icons">
|
|
635
|
-
<a class="muted-link " href="https://pypi.org/project/pex/2.
|
|
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">
|
|
636
636
|
<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
637
|
</path>
|
|
638
638
|
</svg>
|
|
639
639
|
</a>
|
|
640
|
-
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.
|
|
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">
|
|
641
641
|
<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
642
|
</path>
|
|
643
643
|
</svg>
|
|
@@ -681,7 +681,7 @@ uuid
|
|
|
681
681
|
|
|
682
682
|
</aside>
|
|
683
683
|
</div>
|
|
684
|
-
</div><script src="_static/documentation_options.js?v=
|
|
684
|
+
</div><script src="_static/documentation_options.js?v=6517ee4d"></script>
|
|
685
685
|
<script src="_static/doctools.js?v=9bcbadda"></script>
|
|
686
686
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
687
687
|
<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.07.19 --><title>Search - Pex Docs (v2.
|
|
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
10
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=25af2a20" />
|
|
11
11
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
|
|
12
12
|
|
|
@@ -181,7 +181,7 @@
|
|
|
181
181
|
</label>
|
|
182
182
|
</div>
|
|
183
183
|
<div class="header-center">
|
|
184
|
-
<a href="index.html"><div class="brand">Pex Docs (v2.
|
|
184
|
+
<a href="index.html"><div class="brand">Pex Docs (v2.59.0)</div></a>
|
|
185
185
|
</div>
|
|
186
186
|
<div class="header-right">
|
|
187
187
|
<div class="theme-toggle-container theme-toggle-header">
|
|
@@ -282,12 +282,12 @@
|
|
|
282
282
|
</div>
|
|
283
283
|
<div class="right-details">
|
|
284
284
|
<div class="icons">
|
|
285
|
-
<a class="muted-link " href="https://pypi.org/project/pex/2.
|
|
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">
|
|
286
286
|
<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
287
|
</path>
|
|
288
288
|
</svg>
|
|
289
289
|
</a>
|
|
290
|
-
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.
|
|
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">
|
|
291
291
|
<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
292
|
</path>
|
|
293
293
|
</svg>
|
|
@@ -310,7 +310,7 @@
|
|
|
310
310
|
|
|
311
311
|
</aside>
|
|
312
312
|
</div>
|
|
313
|
-
</div><script src="_static/documentation_options.js?v=
|
|
313
|
+
</div><script src="_static/documentation_options.js?v=6517ee4d"></script>
|
|
314
314
|
<script src="_static/doctools.js?v=9bcbadda"></script>
|
|
315
315
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
316
316
|
<script src="_static/scripts/furo.js?v=46bd48cc"></script>
|
pex/docs/html/whatispex.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.07.19 -->
|
|
11
|
-
<title>What are .pex files? - Pex Docs (v2.
|
|
11
|
+
<title>What are .pex files? - Pex Docs (v2.59.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=25af2a20" />
|
|
14
14
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
</label>
|
|
169
169
|
</div>
|
|
170
170
|
<div class="header-center">
|
|
171
|
-
<a href="index.html"><div class="brand">Pex Docs (v2.
|
|
171
|
+
<a href="index.html"><div class="brand">Pex Docs (v2.59.0)</div></a>
|
|
172
172
|
</div>
|
|
173
173
|
<div class="header-right">
|
|
174
174
|
<div class="theme-toggle-container theme-toggle-header">
|
|
@@ -331,12 +331,12 @@ build executable .pex files. This is described more thoroughly in
|
|
|
331
331
|
</div>
|
|
332
332
|
<div class="right-details">
|
|
333
333
|
<div class="icons">
|
|
334
|
-
<a class="muted-link " href="https://pypi.org/project/pex/2.
|
|
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">
|
|
335
335
|
<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
336
|
</path>
|
|
337
337
|
</svg>
|
|
338
338
|
</a>
|
|
339
|
-
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.
|
|
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">
|
|
340
340
|
<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
341
|
</path>
|
|
342
342
|
</svg>
|
|
@@ -380,7 +380,7 @@ build executable .pex files. This is described more thoroughly in
|
|
|
380
380
|
|
|
381
381
|
</aside>
|
|
382
382
|
</div>
|
|
383
|
-
</div><script src="_static/documentation_options.js?v=
|
|
383
|
+
</div><script src="_static/documentation_options.js?v=6517ee4d"></script>
|
|
384
384
|
<script src="_static/doctools.js?v=9bcbadda"></script>
|
|
385
385
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
386
386
|
<script src="_static/scripts/furo.js?v=46bd48cc"></script>
|
pex/environment.py
CHANGED
|
@@ -66,6 +66,22 @@ def _import_pkg_resources():
|
|
|
66
66
|
return None, False
|
|
67
67
|
|
|
68
68
|
|
|
69
|
+
def _fd_lt(
|
|
70
|
+
self, # type: FingerprintedDistribution
|
|
71
|
+
other, # type: FingerprintedDistribution
|
|
72
|
+
):
|
|
73
|
+
# type: (...) -> bool
|
|
74
|
+
if self.project_name.normalized < other.project_name.normalized:
|
|
75
|
+
return True
|
|
76
|
+
|
|
77
|
+
# Since we want to rank higher versions higher (earlier) we need to reverse the natural
|
|
78
|
+
# ordering of Version in Distribution which is least to greatest.
|
|
79
|
+
if self.distribution.metadata.version >= other.distribution.metadata.version:
|
|
80
|
+
return True
|
|
81
|
+
|
|
82
|
+
return self.fingerprint < other.fingerprint
|
|
83
|
+
|
|
84
|
+
|
|
69
85
|
@attr.s(frozen=True)
|
|
70
86
|
class _RankedDistribution(object):
|
|
71
87
|
# N.B.: A distribution implements rich comparison with the leading component being the
|
|
@@ -77,9 +93,7 @@ class _RankedDistribution(object):
|
|
|
77
93
|
# The attr project type stub file simply misses this.
|
|
78
94
|
_fd_cmp = attr.cmp_using( # type: ignore[attr-defined]
|
|
79
95
|
eq=FingerprintedDistribution.__eq__,
|
|
80
|
-
|
|
81
|
-
# ordering of Version in Distribution which is least to greatest.
|
|
82
|
-
lt=FingerprintedDistribution.__ge__,
|
|
96
|
+
lt=_fd_lt,
|
|
83
97
|
)
|
|
84
98
|
|
|
85
99
|
@classmethod
|
pex/pep_425.py
CHANGED
|
@@ -6,11 +6,12 @@ from __future__ import absolute_import
|
|
|
6
6
|
import itertools
|
|
7
7
|
import os.path
|
|
8
8
|
|
|
9
|
-
from pex.dist_metadata import is_wheel
|
|
9
|
+
from pex.dist_metadata import Distribution, is_wheel
|
|
10
10
|
from pex.orderedset import OrderedSet
|
|
11
11
|
from pex.rank import Rank
|
|
12
12
|
from pex.third_party.packaging.tags import Tag, parse_tag
|
|
13
13
|
from pex.typing import TYPE_CHECKING, cast, overload
|
|
14
|
+
from pex.wheel import WHEEL
|
|
14
15
|
|
|
15
16
|
if TYPE_CHECKING:
|
|
16
17
|
from typing import (
|
|
@@ -66,7 +67,13 @@ class CompatibilityTags(object):
|
|
|
66
67
|
|
|
67
68
|
@classmethod
|
|
68
69
|
def from_wheel(cls, wheel):
|
|
69
|
-
# type: (Text) -> CompatibilityTags
|
|
70
|
+
# type: (Union[Text, Distribution]) -> CompatibilityTags
|
|
71
|
+
|
|
72
|
+
if isinstance(wheel, Distribution):
|
|
73
|
+
if not is_wheel(wheel.location):
|
|
74
|
+
return cls(tags=WHEEL.from_distribution(wheel).tags)
|
|
75
|
+
wheel = wheel.location
|
|
76
|
+
|
|
70
77
|
if not is_wheel(wheel):
|
|
71
78
|
raise ValueError(
|
|
72
79
|
"Can only calculate wheel tags from a filename that ends in .whl per "
|
|
@@ -74,6 +81,7 @@ class CompatibilityTags(object):
|
|
|
74
81
|
wheel=wheel
|
|
75
82
|
)
|
|
76
83
|
)
|
|
84
|
+
|
|
77
85
|
wheel_stem, _ = os.path.splitext(os.path.basename(wheel))
|
|
78
86
|
# Wheel filename format: https://peps.python.org/pep-0427/#file-name-convention
|
|
79
87
|
# `{distribution}-{version}(-{build tag})?-{python tag}-{abi tag}-{platform tag}.whl`
|
|
@@ -86,6 +94,7 @@ class CompatibilityTags(object):
|
|
|
86
94
|
pattern=pattern, wheel=wheel
|
|
87
95
|
)
|
|
88
96
|
)
|
|
97
|
+
|
|
89
98
|
return cls(tags=tuple(parse_tag("-".join(wheel_components[-3:]))))
|
|
90
99
|
|
|
91
100
|
@classmethod
|