pex 2.67.1__py2.py3-none-any.whl → 2.67.3__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/build_backend/wrap.py +2 -4
- pex/cli/commands/run.py +2 -4
- pex/dist_metadata.py +28 -1
- pex/docs/html/_pagefind/fragment/en_124660d.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_38b2a67.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_6b11cb6.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_796ed92.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_7d6b02f.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_9281638.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_a576e44.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_ed824c8.pf_fragment +0 -0
- pex/docs/html/_pagefind/index/{en_eeef12e.pf_index → en_d486c12.pf_index} +0 -0
- pex/docs/html/_pagefind/pagefind-entry.json +1 -1
- pex/docs/html/_pagefind/pagefind.en_93a1239562.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/interpreter_constraints.py +1 -1
- pex/pip/local_project.py +6 -8
- pex/resolve/venv_resolver.py +24 -3
- pex/resolver.py +2 -4
- pex/sdist.py +187 -0
- pex/version.py +1 -1
- {pex-2.67.1.dist-info → pex-2.67.3.dist-info}/METADATA +4 -4
- {pex-2.67.1.dist-info → pex-2.67.3.dist-info}/RECORD +36 -35
- pex/docs/html/_pagefind/fragment/en_119a8a8.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_39d722b.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_4d20267.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_513cb9b.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_58fed73.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_889d8c7.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_cfaf4ce.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/en_ed9cf13.pf_fragment +0 -0
- pex/docs/html/_pagefind/pagefind.en_e36d294ae1.pf_meta +0 -0
- {pex-2.67.1.dist-info → pex-2.67.3.dist-info}/WHEEL +0 -0
- {pex-2.67.1.dist-info → pex-2.67.3.dist-info}/entry_points.txt +0 -0
- {pex-2.67.1.dist-info → pex-2.67.3.dist-info}/licenses/LICENSE +0 -0
- {pex-2.67.1.dist-info → pex-2.67.3.dist-info}/pylock/pylock.toml +0 -0
- {pex-2.67.1.dist-info → pex-2.67.3.dist-info}/top_level.txt +0 -0
pex/build_backend/wrap.py
CHANGED
|
@@ -11,6 +11,7 @@ import io
|
|
|
11
11
|
import os
|
|
12
12
|
import tarfile
|
|
13
13
|
|
|
14
|
+
from pex import sdist
|
|
14
15
|
from pex.build_backend import BuildError
|
|
15
16
|
from pex.build_backend.configuration import load_config
|
|
16
17
|
from pex.build_backend.pylock import ScriptLocks
|
|
@@ -63,10 +64,7 @@ def build_sdist(
|
|
|
63
64
|
|
|
64
65
|
sdist_path = os.path.join(sdist_directory, sdist_name)
|
|
65
66
|
build_dir = _build_dir("sdist")
|
|
66
|
-
|
|
67
|
-
with tarfile.open(sdist_path) as tf:
|
|
68
|
-
tf.extractall(build_dir)
|
|
69
|
-
|
|
67
|
+
sdist.extract_tarball(sdist_path, dest_dir=build_dir)
|
|
70
68
|
entries = os.listdir(build_dir)
|
|
71
69
|
if len(entries) != 1:
|
|
72
70
|
raise BuildError(
|
pex/cli/commands/run.py
CHANGED
|
@@ -10,12 +10,11 @@ import os.path
|
|
|
10
10
|
import posixpath
|
|
11
11
|
import shutil
|
|
12
12
|
import sys
|
|
13
|
-
import tarfile
|
|
14
13
|
from argparse import _ActionsContainer
|
|
15
|
-
from contextlib import closing
|
|
16
14
|
|
|
17
15
|
from pex import dependency_configuration, interpreter
|
|
18
16
|
from pex import resolver as pip_resolver
|
|
17
|
+
from pex import sdist
|
|
19
18
|
from pex.artifact_url import ArtifactURL, Fingerprint
|
|
20
19
|
from pex.atomic_directory import atomic_directory
|
|
21
20
|
from pex.build_system import pep_517
|
|
@@ -676,8 +675,7 @@ class Run(CacheAwareMixin, BuildTimeCommand):
|
|
|
676
675
|
return package, os.path.join(lock_dest_dir, lock_path)
|
|
677
676
|
elif is_sdist(distribution.path):
|
|
678
677
|
if is_tar_sdist(distribution.path):
|
|
679
|
-
|
|
680
|
-
tf.extractall(lock_dest_dir)
|
|
678
|
+
sdist.extract_tarball(distribution.path, dest_dir=lock_dest_dir)
|
|
681
679
|
else:
|
|
682
680
|
with open_zip(distribution.path) as zf:
|
|
683
681
|
zf.extractall(lock_dest_dir)
|
pex/dist_metadata.py
CHANGED
|
@@ -9,6 +9,7 @@ import functools
|
|
|
9
9
|
import glob
|
|
10
10
|
import importlib
|
|
11
11
|
import itertools
|
|
12
|
+
import json
|
|
12
13
|
import os
|
|
13
14
|
import sys
|
|
14
15
|
import tarfile
|
|
@@ -22,7 +23,7 @@ from textwrap import dedent
|
|
|
22
23
|
|
|
23
24
|
from pex import pex_warnings, specifier_sets
|
|
24
25
|
from pex.common import open_zip, pluralize
|
|
25
|
-
from pex.compatibility import PY2, to_unicode
|
|
26
|
+
from pex.compatibility import PY2, string, to_unicode
|
|
26
27
|
from pex.enum import Enum
|
|
27
28
|
from pex.exceptions import reportable_unexpected_error_msg
|
|
28
29
|
from pex.pep_440 import Version
|
|
@@ -1193,6 +1194,32 @@ class Distribution(object):
|
|
|
1193
1194
|
source=os.path.join(self.metadata.files.metadata.location, entry_points_txt_relpath),
|
|
1194
1195
|
)
|
|
1195
1196
|
|
|
1197
|
+
def editable_install_url(self):
|
|
1198
|
+
# type: () -> Optional[Text]
|
|
1199
|
+
|
|
1200
|
+
# For the spec, see: https://peps.python.org/pep-0660/#frontend-requirements
|
|
1201
|
+
direct_url_json_bytes = self._read_metadata_file("direct_url.json")
|
|
1202
|
+
if not direct_url_json_bytes:
|
|
1203
|
+
return None
|
|
1204
|
+
|
|
1205
|
+
direct_url_json_data = json.loads(direct_url_json_bytes)
|
|
1206
|
+
if not direct_url_json_data.get("dir_info", {}).get("editable", False):
|
|
1207
|
+
return None
|
|
1208
|
+
|
|
1209
|
+
url = direct_url_json_data.get("url", None)
|
|
1210
|
+
if url is None:
|
|
1211
|
+
return None
|
|
1212
|
+
|
|
1213
|
+
if not isinstance(url, string):
|
|
1214
|
+
raise InvalidMetadataError(
|
|
1215
|
+
"The direct_url.json metadata for {dist} at {location} is invalid.\n"
|
|
1216
|
+
"Expected `url` to be a string but found {value} of type {type}".format(
|
|
1217
|
+
dist=self, location=self.location, value=url, type=type(url)
|
|
1218
|
+
)
|
|
1219
|
+
)
|
|
1220
|
+
|
|
1221
|
+
return cast("Text", url)
|
|
1222
|
+
|
|
1196
1223
|
def __str__(self):
|
|
1197
1224
|
# type: () -> str
|
|
1198
1225
|
return "{project_name} {version}".format(
|
|
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_93a1239562","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.09.25 -->
|
|
11
|
-
<title>PEX runtime environment variables - Pex Docs (v2.67.
|
|
11
|
+
<title>PEX runtime environment variables - Pex Docs (v2.67.3)</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.67.
|
|
166
|
+
<a href="../index.html"><div class="brand">Pex Docs (v2.67.3)</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.67.
|
|
646
|
+
<a class="muted-link " href="https://pypi.org/project/pex/2.67.3/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
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.67.
|
|
651
|
+
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.67.3/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
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=
|
|
674
|
+
</div><script src="../_static/documentation_options.js?v=a263c5d4"></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>
|
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.09.25 -->
|
|
11
|
-
<title>Building .pex files - Pex Docs (v2.67.
|
|
11
|
+
<title>Building .pex files - Pex Docs (v2.67.3)</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.67.
|
|
166
|
+
<a href="index.html"><div class="brand">Pex Docs (v2.67.3)</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.67.
|
|
684
|
+
<a class="muted-link " href="https://pypi.org/project/pex/2.67.3/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
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.67.
|
|
689
|
+
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.67.3/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
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=
|
|
712
|
+
</div><script src="_static/documentation_options.js?v=a263c5d4"></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>
|
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.09.25 --><title>Index - Pex Docs (v2.67.
|
|
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.67.3)</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.67.
|
|
164
|
+
<a href="index.html"><div class="brand">Pex Docs (v2.67.3)</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.67.
|
|
263
|
+
<a class="muted-link " href="https://pypi.org/project/pex/2.67.3/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
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.67.
|
|
268
|
+
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.67.3/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
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=
|
|
291
|
+
</div><script src="_static/documentation_options.js?v=a263c5d4"></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.67.
|
|
11
|
+
<title>Pex Docs (v2.67.3)</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.67.
|
|
166
|
+
<a href="#"><div class="brand">Pex Docs (v2.67.3)</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.67.
|
|
344
|
+
<a class="muted-link " href="https://pypi.org/project/pex/2.67.3/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
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.67.
|
|
349
|
+
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.67.3/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
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=
|
|
392
|
+
</div><script src="_static/documentation_options.js?v=a263c5d4"></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>
|
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.09.25 -->
|
|
11
|
-
<title>PEX Recipes and Notes - Pex Docs (v2.67.
|
|
11
|
+
<title>PEX Recipes and Notes - Pex Docs (v2.67.3)</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.67.
|
|
166
|
+
<a href="index.html"><div class="brand">Pex Docs (v2.67.3)</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.67.
|
|
433
|
+
<a class="muted-link " href="https://pypi.org/project/pex/2.67.3/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
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.67.
|
|
438
|
+
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.67.3/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
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=
|
|
485
|
+
</div><script src="_static/documentation_options.js?v=a263c5d4"></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.67.
|
|
11
|
+
<title>PEX with included Python interpreter - Pex Docs (v2.67.3)</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.67.
|
|
166
|
+
<a href="index.html"><div class="brand">Pex Docs (v2.67.3)</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.67.
|
|
626
|
+
<a class="muted-link " href="https://pypi.org/project/pex/2.67.3/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
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.67.
|
|
631
|
+
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.67.3/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
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=
|
|
675
|
+
</div><script src="_static/documentation_options.js?v=a263c5d4"></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.67.
|
|
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.67.3)</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.67.
|
|
179
|
+
<a href="index.html"><div class="brand">Pex Docs (v2.67.3)</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.67.
|
|
276
|
+
<a class="muted-link " href="https://pypi.org/project/pex/2.67.3/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
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.67.
|
|
281
|
+
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.67.3/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
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=
|
|
304
|
+
</div><script src="_static/documentation_options.js?v=a263c5d4"></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>
|
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.09.25 -->
|
|
11
|
-
<title>What are .pex files? - Pex Docs (v2.67.
|
|
11
|
+
<title>What are .pex files? - Pex Docs (v2.67.3)</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.67.
|
|
166
|
+
<a href="index.html"><div class="brand">Pex Docs (v2.67.3)</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.67.
|
|
325
|
+
<a class="muted-link " href="https://pypi.org/project/pex/2.67.3/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
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.67.
|
|
330
|
+
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.67.3/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
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=
|
|
374
|
+
</div><script src="_static/documentation_options.js?v=a263c5d4"></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/interpreter_constraints.py
CHANGED
|
@@ -375,7 +375,7 @@ COMPATIBLE_PYTHON_VERSIONS = (
|
|
|
375
375
|
PythonVersion(Lifecycle.EOL, 3, 6, 15),
|
|
376
376
|
PythonVersion(Lifecycle.EOL, 3, 7, 17),
|
|
377
377
|
PythonVersion(Lifecycle.EOL, 3, 8, 20),
|
|
378
|
-
PythonVersion(Lifecycle.
|
|
378
|
+
PythonVersion(Lifecycle.EOL, 3, 9, 25),
|
|
379
379
|
PythonVersion(Lifecycle.STABLE, 3, 10, 19),
|
|
380
380
|
PythonVersion(Lifecycle.STABLE, 3, 11, 14),
|
|
381
381
|
PythonVersion(Lifecycle.STABLE, 3, 12, 12),
|
pex/pip/local_project.py
CHANGED
|
@@ -4,9 +4,8 @@
|
|
|
4
4
|
from __future__ import absolute_import
|
|
5
5
|
|
|
6
6
|
import os.path
|
|
7
|
-
import tarfile
|
|
8
7
|
|
|
9
|
-
from pex import hashing
|
|
8
|
+
from pex import hashing, sdist
|
|
10
9
|
from pex.build_system import pep_517
|
|
11
10
|
from pex.common import temporary_dir
|
|
12
11
|
from pex.pip.version import PipVersionValue
|
|
@@ -33,20 +32,19 @@ def digest_local_project(
|
|
|
33
32
|
# type: (...) -> Union[str, Error]
|
|
34
33
|
with TRACER.timed("Fingerprinting local project at {directory}".format(directory=directory)):
|
|
35
34
|
with temporary_dir() as td:
|
|
36
|
-
|
|
35
|
+
sdist_path_or_error = pep_517.build_sdist(
|
|
37
36
|
project_directory=directory,
|
|
38
37
|
dist_dir=os.path.join(td, "dists"),
|
|
39
38
|
pip_version=pip_version,
|
|
40
39
|
target=target,
|
|
41
40
|
resolver=resolver,
|
|
42
41
|
)
|
|
43
|
-
if isinstance(
|
|
44
|
-
return
|
|
45
|
-
|
|
42
|
+
if isinstance(sdist_path_or_error, Error):
|
|
43
|
+
return sdist_path_or_error
|
|
44
|
+
sdist_path = sdist_path_or_error
|
|
46
45
|
|
|
47
46
|
extract_dir = dest_dir or os.path.join(td, "extracted")
|
|
48
|
-
|
|
49
|
-
tf.extractall(extract_dir)
|
|
47
|
+
sdist.extract_tarball(sdist_path, dest_dir=extract_dir)
|
|
50
48
|
listing = os.listdir(extract_dir)
|
|
51
49
|
assert len(listing) == 1, (
|
|
52
50
|
"Expected sdist generated for {directory} to contain one top-level directory, "
|
pex/resolve/venv_resolver.py
CHANGED
|
@@ -380,7 +380,11 @@ def _resolve_distributions(
|
|
|
380
380
|
elif meets_requirement(distribution, requirement):
|
|
381
381
|
production_assert(distribution.type is DistributionType.INSTALLED)
|
|
382
382
|
resolved.add(requirement.project_name)
|
|
383
|
-
|
|
383
|
+
editable_project_url = distribution.editable_install_url()
|
|
384
|
+
if (
|
|
385
|
+
not editable_project_url
|
|
386
|
+
and distribution.metadata.files.metadata.type is MetadataType.DIST_INFO
|
|
387
|
+
):
|
|
384
388
|
to_resolve.extend(
|
|
385
389
|
requirement.dependency(
|
|
386
390
|
requirement=dependency,
|
|
@@ -391,8 +395,15 @@ def _resolve_distributions(
|
|
|
391
395
|
)
|
|
392
396
|
yield distribution
|
|
393
397
|
else:
|
|
398
|
+
source_requirement = (
|
|
399
|
+
"{project} @ {url}".format(
|
|
400
|
+
project=distribution.metadata.project_name, url=editable_project_url
|
|
401
|
+
)
|
|
402
|
+
if editable_project_url
|
|
403
|
+
else str(distribution.as_requirement())
|
|
404
|
+
)
|
|
394
405
|
result = resolver.resolve_requirements(
|
|
395
|
-
requirements=[
|
|
406
|
+
requirements=[source_requirement],
|
|
396
407
|
targets=Targets.from_target(target),
|
|
397
408
|
transitive=False,
|
|
398
409
|
compile=compile,
|
|
@@ -542,7 +553,17 @@ def _resolve_from_venv(
|
|
|
542
553
|
if venv_distribution.metadata.files.metadata.type is not MetadataType.DIST_INFO:
|
|
543
554
|
sdists_to_resolve.append(str(venv_distribution.as_requirement()))
|
|
544
555
|
else:
|
|
545
|
-
|
|
556
|
+
editable_project_url = venv_distribution.editable_install_url()
|
|
557
|
+
if editable_project_url:
|
|
558
|
+
sdists_to_resolve.append(
|
|
559
|
+
"{project_name} @ {url}".format(
|
|
560
|
+
project_name=venv_distribution.metadata.project_name,
|
|
561
|
+
url=editable_project_url,
|
|
562
|
+
)
|
|
563
|
+
)
|
|
564
|
+
else:
|
|
565
|
+
venv_distributions.append(venv_distribution)
|
|
566
|
+
|
|
546
567
|
direct_requirements_by_project_name[venv_distribution.metadata.project_name].add(
|
|
547
568
|
venv_distribution.as_requirement()
|
|
548
569
|
)
|
pex/resolver.py
CHANGED
|
@@ -10,12 +10,11 @@ import hashlib
|
|
|
10
10
|
import itertools
|
|
11
11
|
import json
|
|
12
12
|
import os
|
|
13
|
-
import tarfile
|
|
14
13
|
import zipfile
|
|
15
14
|
from abc import abstractmethod
|
|
16
15
|
from collections import OrderedDict, defaultdict
|
|
17
16
|
|
|
18
|
-
from pex import targets
|
|
17
|
+
from pex import sdist, targets
|
|
19
18
|
from pex.atomic_directory import AtomicDirectory, atomic_directory
|
|
20
19
|
from pex.cache.dirs import BuiltWheelDir, CacheDir
|
|
21
20
|
from pex.common import (
|
|
@@ -688,8 +687,7 @@ class BuildRequest(object):
|
|
|
688
687
|
with open_zip(self.source_path) as zf:
|
|
689
688
|
zf.extractall(extract_dir)
|
|
690
689
|
elif is_tar_sdist(self.source_path):
|
|
691
|
-
|
|
692
|
-
tf.extractall(extract_dir)
|
|
690
|
+
sdist.extract_tarball(self.source_path, dest_dir=extract_dir)
|
|
693
691
|
else:
|
|
694
692
|
raise BuildError(
|
|
695
693
|
"Unexpected archive type for sdist {project}".format(project=self.source_path)
|
pex/sdist.py
ADDED
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
# Copyright 2025 Pex project contributors.
|
|
2
|
+
# Licensed under the Apache License, Version 2.0 (see LICENSE).
|
|
3
|
+
|
|
4
|
+
from __future__ import absolute_import
|
|
5
|
+
|
|
6
|
+
import copy
|
|
7
|
+
import os.path
|
|
8
|
+
import sys
|
|
9
|
+
import tarfile
|
|
10
|
+
from tarfile import TarInfo
|
|
11
|
+
|
|
12
|
+
from pex.compatibility import commonpath
|
|
13
|
+
from pex.typing import TYPE_CHECKING, cast
|
|
14
|
+
|
|
15
|
+
if TYPE_CHECKING:
|
|
16
|
+
from typing import Any, Dict, Optional, Text
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class FilterError(tarfile.TarError):
|
|
20
|
+
pass
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class AbsolutePathError(FilterError):
|
|
24
|
+
pass
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class OutsideDestinationError(FilterError):
|
|
28
|
+
pass
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class SpecialFileError(FilterError):
|
|
32
|
+
pass
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class AbsoluteLinkError(FilterError):
|
|
36
|
+
pass
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class LinkOutsideDestinationError(FilterError):
|
|
40
|
+
pass
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
_REALPATH_KWARGS = (
|
|
44
|
+
{"strict": getattr(os.path, "ALLOW_MISSING", False)} if sys.version_info[:2] >= (3, 10) else {}
|
|
45
|
+
) # type: Dict[str, Any]
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def _realpath(path):
|
|
49
|
+
# type: (Text) -> Text
|
|
50
|
+
return os.path.realpath(path, **_REALPATH_KWARGS)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
def _get_filtered_attrs(
|
|
54
|
+
member, # type: TarInfo
|
|
55
|
+
dest_path, # type: Text
|
|
56
|
+
for_data=True, # type: bool
|
|
57
|
+
):
|
|
58
|
+
# type: (...) -> Dict[str, Any]
|
|
59
|
+
|
|
60
|
+
# N.B.: Copied from CPython 3.14 stdlib tarfile.py
|
|
61
|
+
# Modifications:
|
|
62
|
+
# + Exception types replicated with error messages placed at call site.
|
|
63
|
+
# + `os.path.realpath` -> `_realpath` to deal with `strict` parameter.
|
|
64
|
+
# + `os.path.commonpath` -> `pex.compatibility.commonpath`
|
|
65
|
+
# + `mode = None` guarded by `sys.version_info[:2] >= (3, 12)` with commentary.
|
|
66
|
+
|
|
67
|
+
new_attrs = {} # type: Dict[str, Any]
|
|
68
|
+
name = member.name
|
|
69
|
+
dest_path = _realpath(dest_path)
|
|
70
|
+
# Strip leading / (tar's directory separator) from filenames.
|
|
71
|
+
# Include os.sep (target OS directory separator) as well.
|
|
72
|
+
if name.startswith(("/", os.sep)):
|
|
73
|
+
name = new_attrs["name"] = member.path.lstrip("/" + os.sep)
|
|
74
|
+
if os.path.isabs(name):
|
|
75
|
+
# Path is absolute even after stripping.
|
|
76
|
+
# For example, 'C:/foo' on Windows.
|
|
77
|
+
raise AbsolutePathError("member {name!r} has an absolute path".format(name=member.name))
|
|
78
|
+
# Ensure we stay in the destination
|
|
79
|
+
target_path = _realpath(os.path.join(dest_path, name))
|
|
80
|
+
if commonpath([target_path, dest_path]) != dest_path:
|
|
81
|
+
raise OutsideDestinationError(
|
|
82
|
+
"{name!r} would be extracted to {path!r}, which is outside the destination".format(
|
|
83
|
+
name=member.name, path=target_path
|
|
84
|
+
)
|
|
85
|
+
)
|
|
86
|
+
# Limit permissions (no high bits, and go-w)
|
|
87
|
+
mode = member.mode # type: Optional[int]
|
|
88
|
+
if mode is not None:
|
|
89
|
+
# Strip high bits & group/other write bits
|
|
90
|
+
mode = mode & 0o755
|
|
91
|
+
if for_data:
|
|
92
|
+
# For data, handle permissions & file types
|
|
93
|
+
if member.isreg() or member.islnk():
|
|
94
|
+
if not mode & 0o100:
|
|
95
|
+
# Clear executable bits if not executable by user
|
|
96
|
+
mode &= ~0o111
|
|
97
|
+
# Ensure owner can read & write
|
|
98
|
+
mode |= 0o600
|
|
99
|
+
elif member.isdir() or member.issym():
|
|
100
|
+
if sys.version_info[:2] >= (3, 12):
|
|
101
|
+
# Ignore mode for directories & symlinks
|
|
102
|
+
mode = None
|
|
103
|
+
else:
|
|
104
|
+
# Retain stripped mode since older Pythons do not support None.
|
|
105
|
+
pass
|
|
106
|
+
else:
|
|
107
|
+
# Reject special files
|
|
108
|
+
raise SpecialFileError("{name!r} is a special file".format(name=member.name))
|
|
109
|
+
if mode != member.mode:
|
|
110
|
+
new_attrs["mode"] = mode
|
|
111
|
+
if for_data:
|
|
112
|
+
# Ignore ownership for 'data'
|
|
113
|
+
if member.uid is not None:
|
|
114
|
+
new_attrs["uid"] = None
|
|
115
|
+
if member.gid is not None:
|
|
116
|
+
new_attrs["gid"] = None
|
|
117
|
+
if member.uname is not None:
|
|
118
|
+
new_attrs["uname"] = None
|
|
119
|
+
if member.gname is not None:
|
|
120
|
+
new_attrs["gname"] = None
|
|
121
|
+
# Check link destination for 'data'
|
|
122
|
+
if member.islnk() or member.issym():
|
|
123
|
+
if os.path.isabs(member.linkname):
|
|
124
|
+
raise AbsoluteLinkError(
|
|
125
|
+
"{name!r} is a link to an absolute path".format(name=member.name)
|
|
126
|
+
)
|
|
127
|
+
normalized = os.path.normpath(member.linkname)
|
|
128
|
+
if normalized != member.linkname:
|
|
129
|
+
new_attrs["linkname"] = normalized
|
|
130
|
+
if member.issym():
|
|
131
|
+
target_path = os.path.join(dest_path, os.path.dirname(name), member.linkname)
|
|
132
|
+
else:
|
|
133
|
+
target_path = os.path.join(dest_path, member.linkname)
|
|
134
|
+
target_path = _realpath(target_path)
|
|
135
|
+
if commonpath([target_path, dest_path]) != dest_path:
|
|
136
|
+
raise LinkOutsideDestinationError(
|
|
137
|
+
"{name!r} would link to {path!r}, which is outside the destination".format(
|
|
138
|
+
name=member.name, path=target_path
|
|
139
|
+
)
|
|
140
|
+
)
|
|
141
|
+
return new_attrs
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
def _replace(
|
|
145
|
+
member, # type: TarInfo
|
|
146
|
+
attrs, # type: Dict[str, Any]
|
|
147
|
+
):
|
|
148
|
+
# type: (...) -> TarInfo
|
|
149
|
+
|
|
150
|
+
replace = getattr(member, "replace", None)
|
|
151
|
+
if replace:
|
|
152
|
+
attrs["deep"] = False
|
|
153
|
+
return cast(TarInfo, replace(**attrs))
|
|
154
|
+
|
|
155
|
+
result = copy.copy(member)
|
|
156
|
+
for attr, value in attrs.items():
|
|
157
|
+
setattr(result, attr, value)
|
|
158
|
+
return result
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
def _data_filter(
|
|
162
|
+
member, # type: TarInfo
|
|
163
|
+
dest_path, # type: Text
|
|
164
|
+
):
|
|
165
|
+
new_attrs = _get_filtered_attrs(member, dest_path, True)
|
|
166
|
+
if new_attrs:
|
|
167
|
+
return _replace(member, new_attrs)
|
|
168
|
+
return member
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
_EXTRACTALL_DATA_FILTER_KWARGS = {"filter": "data"} # type: Dict[str, Any]
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
def extract_tarball(
|
|
175
|
+
tarball_path, # type: Text
|
|
176
|
+
dest_dir, # type: Text
|
|
177
|
+
):
|
|
178
|
+
# type: (...) -> None
|
|
179
|
+
|
|
180
|
+
with tarfile.open(tarball_path) as tf:
|
|
181
|
+
if sys.version_info[:2] >= (3, 12):
|
|
182
|
+
tf.extractall(dest_dir, **_EXTRACTALL_DATA_FILTER_KWARGS)
|
|
183
|
+
return
|
|
184
|
+
|
|
185
|
+
for tar_info in tf: # type: ignore[unreachable]
|
|
186
|
+
tar_info = _data_filter(tar_info, dest_dir)
|
|
187
|
+
tf.extract(tar_info, dest_dir)
|
pex/version.py
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pex
|
|
3
|
-
Version: 2.67.
|
|
3
|
+
Version: 2.67.3
|
|
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.67.
|
|
6
|
+
Download-URL: https://github.com/pex-tool/pex/releases/download/v2.67.3/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.67.
|
|
10
|
+
Project-URL: Changelog, https://github.com/pex-tool/pex/blob/v2.67.3/CHANGES.md
|
|
11
11
|
Project-URL: Documentation, https://docs.pex-tool.org/
|
|
12
|
-
Project-URL: Source, https://github.com/pex-tool/pex/tree/v2.67.
|
|
12
|
+
Project-URL: Source, https://github.com/pex-tool/pex/tree/v2.67.3
|
|
13
13
|
Keywords: package,executable,virtualenv,lock,freeze
|
|
14
14
|
Classifier: Development Status :: 5 - Production/Stable
|
|
15
15
|
Classifier: Intended Audience :: Developers
|
|
@@ -13,7 +13,7 @@ pex/compatibility.py,sha256=v3y2THaiaYofZV0Bru6FwoM2OxDl03POkai1tQ245vY,10117
|
|
|
13
13
|
pex/compiler.py,sha256=oDQ8env2V2Vo8KCXxQ6U7J9wxXB7y8vLazvDl_oJ8vo,3568
|
|
14
14
|
pex/dependency_configuration.py,sha256=F-aFtAoODe69lmI8wE2KN1T_RYvEdOUxktg_mjp78Ko,9197
|
|
15
15
|
pex/dependency_manager.py,sha256=DsqhgTGozNVUwStqcZR9WgJgjhZCzPp4wUa7PtbL8-M,4379
|
|
16
|
-
pex/dist_metadata.py,sha256
|
|
16
|
+
pex/dist_metadata.py,sha256=tiPL4cs6Qt2-kyLRgAQHqbFk5mHHYRXgAU1M1AhJUBM,49254
|
|
17
17
|
pex/entry_points_txt.py,sha256=9_RU4Zx1ybZDokV84FK9MRe_7MnytSEntD9v6njbnJg,3475
|
|
18
18
|
pex/enum.py,sha256=kBW7RJLtef3pfltVpp0Uvs5uCpiXql_ncdKDn2In7vM,6174
|
|
19
19
|
pex/environment.py,sha256=NBfoWjCfdqcHYMJixTItDm_dGymOVJrzws0BoV4oeow,36472
|
|
@@ -29,7 +29,7 @@ pex/hashing.py.lck,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
29
29
|
pex/inherit_path.py,sha256=NyEC7OxIQp3lwtZJAU3DxEGtJHM9GcKDkaaUmqZrJTU,1004
|
|
30
30
|
pex/installed_wheel.py,sha256=zPBq4AuXh4TsrtNU86bs1s3zc44YHckJp94y9oHZ_GE,5270
|
|
31
31
|
pex/interpreter.py,sha256=Ka9QCoP3HL9xIJwW9f5YGvfWzc3kEWM0CuZ-7cWJSeE,63272
|
|
32
|
-
pex/interpreter_constraints.py,sha256=
|
|
32
|
+
pex/interpreter_constraints.py,sha256=VRwMoc0iWhrEl7bwvV2i0J1S4jFyYwVi3dJHextFS1E,14707
|
|
33
33
|
pex/interpreter_implementation.py,sha256=OfatzBe4P-CqF4y9Jlwt-x41q7THspGexKyYPkma4w0,1137
|
|
34
34
|
pex/jobs.py,sha256=OEcJ9iiyfz4g-XMXeIBeEwxD-FP_iZ6ChON81d1o6o4,28789
|
|
35
35
|
pex/lang.py,sha256=Rhqq2EyYjCy1Ejg5wX0N5gZI0F0tIrxAgnlWSvf3dI4,1031
|
|
@@ -56,8 +56,9 @@ pex/pth.py,sha256=YGiWmW99vPvPm5-iU_Kbvbu1NTtJyyTp32ilHyAJ_VQ,3402
|
|
|
56
56
|
pex/pyenv.py,sha256=O5_Ec26J8GQpa5Xt_TtSB0A9rV62vYgciIwBlW4aiZ8,9276
|
|
57
57
|
pex/rank.py,sha256=dNFi6Y7bBe8gwcKSon81EOs9Jw4uhUzoHgRnIDYV8lU,3901
|
|
58
58
|
pex/requirements.py,sha256=NpseoFVrUfTDSd0JAoOnVstbvYC140ecDgiHeb39b3s,29007
|
|
59
|
-
pex/resolver.py,sha256=
|
|
59
|
+
pex/resolver.py,sha256=x6aRRKm4xMSTy8QDc7PA5-xIkR8UqOttV6iOcrw0LbQ,81078
|
|
60
60
|
pex/result.py,sha256=VTE_n-IffLf-FD4ENNbRvq_ebahh-IDYAna1y5Iw1WI,3090
|
|
61
|
+
pex/sdist.py,sha256=755z19Lyb-5GG4pdK9mcpmMTPGP_YA56YQRnVzZdZIg,5994
|
|
61
62
|
pex/sh_boot.py,sha256=mTB7aYc26GymgmbN5-QCiC_sbi3GBL5NZAiwXCsNL1w,11433
|
|
62
63
|
pex/sorted_tuple.py,sha256=L_49iVoVZ57J-q44nVRO-boT0bc8ynhJlhS_yUp2xeo,2371
|
|
63
64
|
pex/specifier_sets.py,sha256=iT2h4lSB09Rdk4t64iP5abI39s0TpTDDwFVLDHiPj2Q,11559
|
|
@@ -69,7 +70,7 @@ pex/tracer.py,sha256=nob_hNooCYWZev7_ABhAVyO4HBZ8Q_OajQUvNnr82Rc,4481
|
|
|
69
70
|
pex/typing.py,sha256=J1JTB1V48zIWmhWRHEMDHWMaFPMzsEonWJ9s57Ev43Q,3050
|
|
70
71
|
pex/util.py,sha256=TxTxpdDmrDTLVXt9e2XuRq9c3N6jRYNCce87QBFkCVo,5491
|
|
71
72
|
pex/variables.py,sha256=h3-JeMzXfRzEsWqTYsoU-6vt5W4Kr0VvbfSDAYtuZOU,34728
|
|
72
|
-
pex/version.py,sha256=
|
|
73
|
+
pex/version.py,sha256=tlf5GitJ2iOsEtwVVHHyWFO_CuTJC44rFpKAfXmAmwQ,131
|
|
73
74
|
pex/wheel.py,sha256=R9jPWwzla_c3xUbeYjaQMrKC0ly8UexKMLfuRDhP054,11146
|
|
74
75
|
pex/whl.py,sha256=0Nh1d6kmAaRANCygoVZZi0zii6j_elRQc7N6yDHTuMY,2513
|
|
75
76
|
pex/ziputils.py,sha256=thUrto9vEdG9mFCIJ59Js3d1y6bSfFdl7pb1lSb7KAQ,9620
|
|
@@ -78,7 +79,7 @@ pex/bin/pex.py,sha256=a27xHuS7De8pJR03i-vs6TckLwGTSb4krhOXNpc-0Bk,56448
|
|
|
78
79
|
pex/build_backend/__init__.py,sha256=tmA8i5f0-IGhFekR1VJF9kn3LXbhs3nToTuvh4S3hEQ,188
|
|
79
80
|
pex/build_backend/configuration.py,sha256=s95XQMc2P23GWrS8z8O6pyfUDYNlFlBkuegqTEpJYOA,9353
|
|
80
81
|
pex/build_backend/pylock.py,sha256=xY9OO6pNPneqEQAxDTwHH5XNbU_aoM6MACuPOiT7jo0,8318
|
|
81
|
-
pex/build_backend/wrap.py,sha256=
|
|
82
|
+
pex/build_backend/wrap.py,sha256=TveTpdUz24xdiwged4aZHqx0l3VS_tshMdJivzoymDQ,6113
|
|
82
83
|
pex/build_system/__init__.py,sha256=JYbpW71Z5Jkft7b5VSMg2VQJUNWzRDXji-2DFyXUvmQ,564
|
|
83
84
|
pex/build_system/pep_517.py,sha256=ZGeDso2Pmv2JjB0dMBUcXHlCMhram7QhJneYskXtH4U,10458
|
|
84
85
|
pex/build_system/pep_518.py,sha256=LMgvpHqcifQAHe6jgGBEGgPolMIk7BBcKBunN5u7jr4,8355
|
|
@@ -96,7 +97,7 @@ pex/cli/commands/cache_aware.py,sha256=MkR7bypyDyZwRxESJJ6I4wd3zeNJl2gTaB9pg5AEy
|
|
|
96
97
|
pex/cli/commands/docs.py,sha256=z4KWsTlVZqOda-RrxfMn34JwLtmSHTBFh-w7AuG45KE,2615
|
|
97
98
|
pex/cli/commands/interpreter.py,sha256=grgIqFkWlv5c1Bf38CgdXRJ0IqsvKrn_OxQFIbejsQY,7684
|
|
98
99
|
pex/cli/commands/lock.py,sha256=F06kI8TaLhK0wEdVEBsngZv9gBU1C-T_xkDHDUfSDb4,102413
|
|
99
|
-
pex/cli/commands/run.py,sha256=
|
|
100
|
+
pex/cli/commands/run.py,sha256=rEQRF3JEuRb81jJ0nhfMi2hXH5BXiR2ETiGpnVeoTUE,34936
|
|
100
101
|
pex/cli/commands/venv.py,sha256=8yDDMT61dgUuBH84whLingNobjSeTAzhe61W6VZCqDA,20705
|
|
101
102
|
pex/cli/commands/cache/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
102
103
|
pex/cli/commands/cache/bytes.py,sha256=2bnNpwLYTUvVf2q_g9jqi-0ORbOFs_csYmCTEG3IQhM,3952
|
|
@@ -113,33 +114,33 @@ pex/distutils/commands/__init__.py,sha256=uASB5OU996Jax-h3kMmeZjG5Jdy9BYDR6A1swk
|
|
|
113
114
|
pex/distutils/commands/bdist_pex.py,sha256=SLwBj0ALpArhKQT94X0niKWfyLaySjOZuZrGXG332K0,5117
|
|
114
115
|
pex/docs/__init__.py,sha256=u9hPOij1fpo1yPBLTQTdSCnSIUuRCSXHomCkEAaCciA,439
|
|
115
116
|
pex/docs/command.py,sha256=uQyD8bO_DBNIlkPd6F7SFZbZUVh1Xn6gT8OmVxP4qxk,3046
|
|
116
|
-
pex/docs/html/buildingpex.html,sha256=
|
|
117
|
-
pex/docs/html/genindex.html,sha256=
|
|
118
|
-
pex/docs/html/index.html,sha256=
|
|
119
|
-
pex/docs/html/recipes.html,sha256=
|
|
120
|
-
pex/docs/html/scie.html,sha256=
|
|
121
|
-
pex/docs/html/search.html,sha256=
|
|
117
|
+
pex/docs/html/buildingpex.html,sha256=A-2JB8PUwvinP4ZM5L2QugN0fuqmuMmS0dnRXdiyNps,57407
|
|
118
|
+
pex/docs/html/genindex.html,sha256=_4zUYU6LYhjwNf9l-XkY7HTqA2XvJ1nLdIi7hOnMu2A,17198
|
|
119
|
+
pex/docs/html/index.html,sha256=5klxOaLKXAMmNAKeOCfmyfScn7d2LdPm0WmbboMXcwc,25028
|
|
120
|
+
pex/docs/html/recipes.html,sha256=XqIjbc6TF7GimOUHoGpIxEYtqjnKxdos8f5ykWc7mFk,35192
|
|
121
|
+
pex/docs/html/scie.html,sha256=66gdnSRxQSMqQSnCpIDraT5ZF1loOHA00g1eUTC1_3M,62182
|
|
122
|
+
pex/docs/html/search.html,sha256=IObGwtPkZ4WIi4LcFfQBPIqIJw6_a8hC4Ene3lbjjmg,18169
|
|
122
123
|
pex/docs/html/searchindex.js,sha256=R_L6Oveik_wlK5CmaE7YwRvmu81r6fd7jtnZUjfk1sA,18009
|
|
123
|
-
pex/docs/html/whatispex.html,sha256=
|
|
124
|
-
pex/docs/html/_pagefind/pagefind-entry.json,sha256=
|
|
124
|
+
pex/docs/html/whatispex.html,sha256=_UqCvOb0zIdPlx9u2qvEKCh0gdCckRelLJfOnHRQWVQ,22754
|
|
125
|
+
pex/docs/html/_pagefind/pagefind-entry.json,sha256=bxp1zyKMYdpmLCoYpbFYnnyTvVwY1dDHmsbn1tNba4M,90
|
|
125
126
|
pex/docs/html/_pagefind/pagefind-highlight.js,sha256=5hRyi7gOMY9tlTe-tbmDrVJpoxbnYxhbJeoGwtmCfXA,43944
|
|
126
127
|
pex/docs/html/_pagefind/pagefind-modular-ui.css,sha256=ZTqynk3lYp9t319vzfXSs-tTmowH__ila4ziFWpXB4g,7336
|
|
127
128
|
pex/docs/html/_pagefind/pagefind-modular-ui.js,sha256=-DCEOJ2cInrvjEGZFxCuYy81EMWbKHhMu4wivlJmUzE,14486
|
|
128
129
|
pex/docs/html/_pagefind/pagefind-ui.css,sha256=GL61nVezuyVA4ynNRJejhEwUBxhBtx4rDYVlAgI_W1U,14486
|
|
129
130
|
pex/docs/html/_pagefind/pagefind-ui.js,sha256=WQ3yec_CMkBKswl16Ig5N_zJzeCgL4z9y344TcJeKAQ,78367
|
|
130
|
-
pex/docs/html/_pagefind/pagefind.
|
|
131
|
+
pex/docs/html/_pagefind/pagefind.en_93a1239562.pf_meta,sha256=P4UpPI3k9For-PcYfGH2NFMZNYE3VgvV7MgzIK4gerk,152
|
|
131
132
|
pex/docs/html/_pagefind/pagefind.js,sha256=Q-4jKyPif6awDU9x8IoWXTWoJJR1JZicegUYQ-QI4MA,32912
|
|
132
133
|
pex/docs/html/_pagefind/wasm.en.pagefind,sha256=mG0TKIE7WXynsyg-tpiMZiVG2Hwebbt2UqFqlqdTTsE,70873
|
|
133
134
|
pex/docs/html/_pagefind/wasm.unknown.pagefind,sha256=eAREknqQnc_y96pbl8eYz9zqfUXsqe64B7HwrQE2SkY,67202
|
|
134
|
-
pex/docs/html/_pagefind/fragment/
|
|
135
|
-
pex/docs/html/_pagefind/fragment/
|
|
136
|
-
pex/docs/html/_pagefind/fragment/
|
|
137
|
-
pex/docs/html/_pagefind/fragment/
|
|
138
|
-
pex/docs/html/_pagefind/fragment/
|
|
139
|
-
pex/docs/html/_pagefind/fragment/
|
|
140
|
-
pex/docs/html/_pagefind/fragment/
|
|
141
|
-
pex/docs/html/_pagefind/fragment/
|
|
142
|
-
pex/docs/html/_pagefind/index/
|
|
135
|
+
pex/docs/html/_pagefind/fragment/en_124660d.pf_fragment,sha256=rONNc2GDFsf9yGf5GMLYfbfVa70wcM3BkO8BJrfbvZE,4848
|
|
136
|
+
pex/docs/html/_pagefind/fragment/en_38b2a67.pf_fragment,sha256=5kI0txspHl__y7tI_X4fJBVfq_JMLfaO2bIZ0tJZzP0,3648
|
|
137
|
+
pex/docs/html/_pagefind/fragment/en_6b11cb6.pf_fragment,sha256=DyPX5_Fnk3RYCaZUS7FQvwAOIFm0bDHrbqQ1vLjHiek,1158
|
|
138
|
+
pex/docs/html/_pagefind/fragment/en_796ed92.pf_fragment,sha256=AvgJCWo1SbX1qIqNLJFcL0487Dqzp51GxB-JiZPtzr4,3018
|
|
139
|
+
pex/docs/html/_pagefind/fragment/en_7d6b02f.pf_fragment,sha256=krk3CwQEf1G21BrkdhNX1IPO24BosxRdVDsCIyV99bQ,1143
|
|
140
|
+
pex/docs/html/_pagefind/fragment/en_9281638.pf_fragment,sha256=2SoPe2uXZK3R3kwQuRuRdpAZYcNO-1bEgWJAigS7dLY,370
|
|
141
|
+
pex/docs/html/_pagefind/fragment/en_a576e44.pf_fragment,sha256=QyYKSBvDxdTUhas6_iTlT_LJkPsfdf9TlMEgivNw3l0,6821
|
|
142
|
+
pex/docs/html/_pagefind/fragment/en_ed824c8.pf_fragment,sha256=92nYVANam1IYkfbj7Xeq4m1g__W2osMzmcMYuep2SJc,360
|
|
143
|
+
pex/docs/html/_pagefind/index/en_d486c12.pf_index,sha256=K_bevHpqjRDiE1JUhvNUG7hFEnB2G5L9EjaHDHcKkTo,28865
|
|
143
144
|
pex/docs/html/_sources/buildingpex.rst.txt,sha256=87P3ZO871MILL9pmpDM8_M7_YV1z5HjTYa9m8yuxTa4,19138
|
|
144
145
|
pex/docs/html/_sources/index.rst.txt,sha256=vWt1s6dirYeR-9mFJY1SClwWvbWqIqJSFCAF1CdZojc,1468
|
|
145
146
|
pex/docs/html/_sources/recipes.rst.txt,sha256=kerzvp8_t5io6eGl3YJODtNBQy7GmY2AA6RHaij9C-g,6958
|
|
@@ -149,7 +150,7 @@ pex/docs/html/_sources/api/vars.md.txt,sha256=C9gu5czyB-g788xRfYKF8P176ew_q97X6z
|
|
|
149
150
|
pex/docs/html/_static/basic.css,sha256=ZW_xus1vJg_H1xuX-cLx_L9pLchL9GnNlSA078ue7-0,14685
|
|
150
151
|
pex/docs/html/_static/debug.css,sha256=DQXNnnnVMjQwRmfAjwKXHeYZbA_8pZPDkDs2Z7QFWtY,1266
|
|
151
152
|
pex/docs/html/_static/doctools.js,sha256=KZLAnfkYJqjTPjtItkXud-RXrc98cS13aoFOHixEi0M,4322
|
|
152
|
-
pex/docs/html/_static/documentation_options.js,sha256=
|
|
153
|
+
pex/docs/html/_static/documentation_options.js,sha256=OF5vX6wmanabUn_FJ8CilkPnEZlETIFMr_rD40BI6xE,329
|
|
153
154
|
pex/docs/html/_static/file.png,sha256=XEvJoWrr84xLlQ9ZuOUByjZJUyjLnrYiIYvOkGSjXj4,286
|
|
154
155
|
pex/docs/html/_static/language_data.js,sha256=O8MRVjt_xegPyrL4Ypd0vzy2swICAA3zbf-OaVqQI7c,4598
|
|
155
156
|
pex/docs/html/_static/minus.png,sha256=R-f8UNs2mfHKQc6aL_ogLADF0dUYDFX2K6hZsb1swAg,90
|
|
@@ -169,7 +170,7 @@ pex/docs/html/_static/styles/furo-extensions.css,sha256=PSsCB3EaBzE9-2yLJyKV9fkx
|
|
|
169
170
|
pex/docs/html/_static/styles/furo-extensions.css.map,sha256=CzW267gfKqH8ruMlwJbWg-MsGAipIgZwoaP4gwDGkVw,7762
|
|
170
171
|
pex/docs/html/_static/styles/furo.css,sha256=666beINeSQtLZbSeNCMj62G7a13xiX1YwJVvij3jr-8,50749
|
|
171
172
|
pex/docs/html/_static/styles/furo.css.map,sha256=0k0kb9TwrJYQRT-2cbjTcOz7PQykGWHdy2BSuVMtrnY,76038
|
|
172
|
-
pex/docs/html/api/vars.html,sha256=
|
|
173
|
+
pex/docs/html/api/vars.html,sha256=l__otIMQjAn4w-Y6u5bHH3B89aMAEFBvlrqGrrSoQoE,34903
|
|
173
174
|
pex/fs/__init__.py,sha256=ues2bnsufy1lYRyoWsiP-G4kuPrV-tXaZ0x-HFJFpwY,3605
|
|
174
175
|
pex/fs/_posix.py,sha256=p-VkjEfRNXduBmkxcuEXWM1g6y6xrkufSYzEy93tqjA,1275
|
|
175
176
|
pex/fs/_windows.py,sha256=apacgHpxNutF5HkU6cYOLHq7yqaijRMsFBdsdKSviDo,3304
|
|
@@ -179,7 +180,7 @@ pex/http/server.py,sha256=7XdrBUF7aZm9CpvmQEsU-lP8jsTEljrZI7FbFqRFXA4,7045
|
|
|
179
180
|
pex/pip/__init__.py,sha256=hbVu8HKJGOAmXQlIyMjcEt0EsBK311HumeAwENvHHxY,107
|
|
180
181
|
pex/pip/download_observer.py,sha256=bDnVowpA_7_NFeJIBSZXr5byY2kcbyf5M2riieo7LKY,3719
|
|
181
182
|
pex/pip/installation.py,sha256=CFykX2FEPygqO0jxMzPG-rvd2Eos8YJ2cviyMsOUayU,21301
|
|
182
|
-
pex/pip/local_project.py,sha256=
|
|
183
|
+
pex/pip/local_project.py,sha256=0FO1hi2dFT6aKiEgw-1jyGj4jP-YsXCpF7IIze9TTaY,2038
|
|
183
184
|
pex/pip/log_analyzer.py,sha256=YLecIWrjTBvDZA_OwvQlcR1gf6-rI_eBt_LFZTA2E-U,4362
|
|
184
185
|
pex/pip/tailer.py,sha256=af7yJ1rxvtTltno1BEVgJ6lf1C0PPnCzCs6CWto7Y9s,4445
|
|
185
186
|
pex/pip/tool.py,sha256=CC9pN5b9cB9Poxt4aptsrOP19rx29dlZZotKHPwP8cY,37996
|
|
@@ -222,7 +223,7 @@ pex/resolve/script_metadata.py,sha256=6PdrBvUmKQGdTIPHfE-F07460drqjQB_HuBgz_35ql
|
|
|
222
223
|
pex/resolve/target_configuration.py,sha256=FFrVHKgceCMlse2xOgxTtdnQ7ENw3A59t4IId0F1GDw,10349
|
|
223
224
|
pex/resolve/target_options.py,sha256=6YoXvIWSyTKfkJ3fcEhqu7eDzF-TlUKhSoNlGoLApQI,12550
|
|
224
225
|
pex/resolve/target_system.py,sha256=6omSogiX5cYlSGjPrAMQpP5MwhxBu4R8X0Mw6c6Jx_M,29905
|
|
225
|
-
pex/resolve/venv_resolver.py,sha256=
|
|
226
|
+
pex/resolve/venv_resolver.py,sha256=khWc2_w7Rdrl5TtS20SKt9z8FzhW9iOfGi_CocwdDDw,26250
|
|
226
227
|
pex/resolve/lockfile/__init__.py,sha256=uASB5OU996Jax-h3kMmeZjG5Jdy9BYDR6A1swkBoFDg,107
|
|
227
228
|
pex/resolve/lockfile/create.py,sha256=2ryGMtQTYTRQjIOACLFExqKa05LQZUkPx0qJcrTxPWU,33673
|
|
228
229
|
pex/resolve/lockfile/download_manager.py,sha256=7mI_vUIIn4VxG3RDNxyT5yTpFLG9LH_IlGDKRMB_OJ0,9176
|
|
@@ -985,10 +986,10 @@ pex/windows/stubs/uv-trampoline-aarch64-console.exe,sha256=1S2aM-6CV7rKz-3ncM5X7
|
|
|
985
986
|
pex/windows/stubs/uv-trampoline-aarch64-gui.exe,sha256=mb8x1FpyH-wy11X5YgWfqh_VUwBb62M4Zf9aFr5V4EE,40448
|
|
986
987
|
pex/windows/stubs/uv-trampoline-x86_64-console.exe,sha256=nLopBrlCMMFjkKVRlY7Ke2zFGpQOyF5mSlLs0d7-HRQ,40960
|
|
987
988
|
pex/windows/stubs/uv-trampoline-x86_64-gui.exe,sha256=icnp1oXrOZpc-dHTGvDbTHjr-D8M0eamvRrC9bPI_KI,41984
|
|
988
|
-
pex-2.67.
|
|
989
|
-
pex-2.67.
|
|
990
|
-
pex-2.67.
|
|
991
|
-
pex-2.67.
|
|
992
|
-
pex-2.67.
|
|
993
|
-
pex-2.67.
|
|
994
|
-
pex-2.67.
|
|
989
|
+
pex-2.67.3.dist-info/METADATA,sha256=6JxCZvVs7hG401e19hf9OmjHOrfTnj_ayg_lxfOPURs,7476
|
|
990
|
+
pex-2.67.3.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
|
|
991
|
+
pex-2.67.3.dist-info/entry_points.txt,sha256=LD9tcxNxdsVLeIF6zR7dyH1vgo2eD9a-05TC1UraGMQ,174
|
|
992
|
+
pex-2.67.3.dist-info/top_level.txt,sha256=HlafJUPu7mfjxv3SDH-RbkxsHOWSVbPXTEBC1hzonpM,4
|
|
993
|
+
pex-2.67.3.dist-info/licenses/LICENSE,sha256=bcDgaNzzpbyOBUIFuFt3IOHUkmW7xkv1FdLPeRl99po,11323
|
|
994
|
+
pex-2.67.3.dist-info/pylock/pylock.toml,sha256=9TIk5X6BqnJ6lKu8eb0EnzwbBcOjs3QJWzcLMYx8M5k,7151
|
|
995
|
+
pex-2.67.3.dist-info/RECORD,,
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|