pex 2.62.1__py2.py3-none-any.whl → 2.64.0__py2.py3-none-any.whl

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

Potentially problematic release.


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

Files changed (50) hide show
  1. pex/cli/commands/lock.py +15 -0
  2. pex/cli/commands/venv.py +80 -15
  3. pex/dist_metadata.py +36 -9
  4. pex/docs/html/_pagefind/fragment/en_3046a3a.pf_fragment +0 -0
  5. pex/docs/html/_pagefind/fragment/en_3f5cca9.pf_fragment +0 -0
  6. pex/docs/html/_pagefind/fragment/en_5f2da5c.pf_fragment +0 -0
  7. pex/docs/html/_pagefind/fragment/en_7350892.pf_fragment +0 -0
  8. pex/docs/html/_pagefind/fragment/en_ac9b982.pf_fragment +0 -0
  9. pex/docs/html/_pagefind/fragment/en_d158da6.pf_fragment +0 -0
  10. pex/docs/html/_pagefind/fragment/en_e575d34.pf_fragment +0 -0
  11. pex/docs/html/_pagefind/fragment/en_fca878d.pf_fragment +0 -0
  12. pex/docs/html/_pagefind/index/en_23c894e.pf_index +0 -0
  13. pex/docs/html/_pagefind/pagefind-entry.json +1 -1
  14. pex/docs/html/_pagefind/pagefind.en_86ab41ad5d.pf_meta +0 -0
  15. pex/docs/html/_static/documentation_options.js +1 -1
  16. pex/docs/html/api/vars.html +5 -5
  17. pex/docs/html/buildingpex.html +5 -5
  18. pex/docs/html/genindex.html +5 -5
  19. pex/docs/html/index.html +5 -5
  20. pex/docs/html/recipes.html +5 -5
  21. pex/docs/html/scie.html +5 -5
  22. pex/docs/html/search.html +5 -5
  23. pex/docs/html/whatispex.html +5 -5
  24. pex/pip/tool.py +84 -11
  25. pex/pip/vcs.py +42 -25
  26. pex/resolve/lock_downloader.py +0 -1
  27. pex/resolve/locked_resolve.py +11 -11
  28. pex/resolve/locker.py +98 -18
  29. pex/resolve/lockfile/create.py +157 -27
  30. pex/resolve/lockfile/updater.py +11 -0
  31. pex/resolver.py +201 -4
  32. pex/venv/installer.py +37 -14
  33. pex/version.py +1 -1
  34. {pex-2.62.1.dist-info → pex-2.64.0.dist-info}/METADATA +4 -4
  35. {pex-2.62.1.dist-info → pex-2.64.0.dist-info}/RECORD +40 -40
  36. pex/docs/html/_pagefind/fragment/en_1bbeb07.pf_fragment +0 -0
  37. pex/docs/html/_pagefind/fragment/en_1befd43.pf_fragment +0 -0
  38. pex/docs/html/_pagefind/fragment/en_45eea4b.pf_fragment +0 -0
  39. pex/docs/html/_pagefind/fragment/en_7822de6.pf_fragment +0 -0
  40. pex/docs/html/_pagefind/fragment/en_87f76ba.pf_fragment +0 -0
  41. pex/docs/html/_pagefind/fragment/en_a89f2ec.pf_fragment +0 -0
  42. pex/docs/html/_pagefind/fragment/en_c2a647e.pf_fragment +0 -0
  43. pex/docs/html/_pagefind/fragment/en_d2f2c1b.pf_fragment +0 -0
  44. pex/docs/html/_pagefind/index/en_31a0754.pf_index +0 -0
  45. pex/docs/html/_pagefind/pagefind.en_32e8257caf.pf_meta +0 -0
  46. {pex-2.62.1.dist-info → pex-2.64.0.dist-info}/WHEEL +0 -0
  47. {pex-2.62.1.dist-info → pex-2.64.0.dist-info}/entry_points.txt +0 -0
  48. {pex-2.62.1.dist-info → pex-2.64.0.dist-info}/licenses/LICENSE +0 -0
  49. {pex-2.62.1.dist-info → pex-2.64.0.dist-info}/pylock/pylock.toml +0 -0
  50. {pex-2.62.1.dist-info → pex-2.64.0.dist-info}/top_level.txt +0 -0
pex/cli/commands/lock.py CHANGED
@@ -726,6 +726,18 @@ class Lock(OutputMixin, JsonMixin, BuildTimeCommand):
726
726
  def _add_lock_options(cls, parser):
727
727
  # type: (_ActionsContainer) -> None
728
728
  resolver_options.register_pex_lock_options(parser)
729
+ parser.add_argument(
730
+ "--avoid-downloads",
731
+ "--no-avoid-downloads",
732
+ dest="avoid_downloads",
733
+ default=True,
734
+ action=HandleBoolAction,
735
+ help=(
736
+ "When locking, prefer not downloading distributions unless necessary. This can "
737
+ "save time locking, although the downloads will need to happen later when using "
738
+ "the lock."
739
+ ),
740
+ )
729
741
 
730
742
  @classmethod
731
743
  def _add_create_arguments(cls, create_parser):
@@ -1254,6 +1266,7 @@ class Lock(OutputMixin, JsonMixin, BuildTimeCommand):
1254
1266
  targets=targets,
1255
1267
  pip_configuration=pip_configuration,
1256
1268
  dependency_configuration=dependency_config,
1269
+ avoid_downloads=self.options.avoid_downloads,
1257
1270
  )
1258
1271
  )
1259
1272
  )
@@ -1776,6 +1789,7 @@ class Lock(OutputMixin, JsonMixin, BuildTimeCommand):
1776
1789
  use_pip_config=pip_configuration.use_pip_config,
1777
1790
  dependency_configuration=dependency_config,
1778
1791
  pip_log=resolver_options.get_pip_log(self.options),
1792
+ avoid_downloads=self.options.avoid_downloads,
1779
1793
  )
1780
1794
 
1781
1795
  target_configuration = target_options.configure(
@@ -2279,6 +2293,7 @@ class Lock(OutputMixin, JsonMixin, BuildTimeCommand):
2279
2293
  targets=targets,
2280
2294
  pip_configuration=pip_configuration,
2281
2295
  dependency_configuration=dependency_config,
2296
+ avoid_downloads=self.options.avoid_downloads,
2282
2297
  )
2283
2298
  )
2284
2299
  if self.options.dry_run:
pex/cli/commands/venv.py CHANGED
@@ -12,10 +12,13 @@ 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
15
- from pex.dist_metadata import Distribution
15
+ from pex.dependency_configuration import DependencyConfiguration
16
+ from pex.dist_metadata import Distribution, Requirement
16
17
  from pex.enum import Enum
17
18
  from pex.executables import is_python_script, is_script
18
19
  from pex.executor import Executor
20
+ from pex.fingerprinted_distribution import FingerprintedDistribution
21
+ from pex.orderedset import OrderedSet
19
22
  from pex.pex import PEX
20
23
  from pex.pex_info import PexInfo
21
24
  from pex.resolve import configured_resolve, requirement_options, resolver_options, target_options
@@ -23,6 +26,7 @@ from pex.resolve.resolver_configuration import (
23
26
  LockRepositoryConfiguration,
24
27
  PexRepositoryConfiguration,
25
28
  PipConfiguration,
29
+ PylockRepositoryConfiguration,
26
30
  )
27
31
  from pex.result import Error, Ok, Result, try_
28
32
  from pex.targets import LocalInterpreter, Target, Targets
@@ -35,7 +39,7 @@ from pex.venv.installer_configuration import InstallerConfiguration
35
39
  from pex.venv.virtualenv import Virtualenv
36
40
 
37
41
  if TYPE_CHECKING:
38
- from typing import Any, Dict, Iterable, Optional
42
+ from typing import Any, Dict, Iterable, Optional, Sequence
39
43
 
40
44
 
41
45
  logger = logging.getLogger(__name__)
@@ -302,6 +306,8 @@ class Venv(OutputMixin, JsonMixin, BuildTimeCommand):
302
306
  pex = PEX(resolver_configuration.pex_repository, interpreter=target.get_interpreter())
303
307
  elif isinstance(resolver_configuration, LockRepositoryConfiguration):
304
308
  lock = resolver_configuration.lock_file_path
309
+ elif isinstance(resolver_configuration, PylockRepositoryConfiguration):
310
+ lock = resolver_configuration.lock_file_path
305
311
 
306
312
  with TRACER.timed(
307
313
  "Installing {count} {wheels} in {subject} at {dest_dir}".format(
@@ -312,10 +318,6 @@ class Venv(OutputMixin, JsonMixin, BuildTimeCommand):
312
318
  )
313
319
  ):
314
320
  hermetic_scripts = not update and installer_configuration.hermetic_scripts
315
- distributions = tuple(
316
- resolved_distribution.distribution
317
- for resolved_distribution in resolved.distributions
318
- )
319
321
  provenance = (
320
322
  Provenance.create(venv=venv)
321
323
  if venv
@@ -326,27 +328,41 @@ class Venv(OutputMixin, JsonMixin, BuildTimeCommand):
326
328
  pex=pex,
327
329
  installer_configuration=installer_configuration,
328
330
  provenance=provenance,
329
- distributions=distributions,
331
+ distributions=tuple(
332
+ resolved_distribution.distribution
333
+ for resolved_distribution in resolved.distributions
334
+ ),
330
335
  dest_dir=dest_dir,
331
336
  hermetic_scripts=hermetic_scripts,
332
337
  venv=venv,
333
338
  )
334
339
  elif venv:
335
- installer.populate_venv_distributions(
340
+ _install_from_resolve(
336
341
  venv=venv,
337
- distributions=distributions,
338
342
  provenance=provenance,
339
- copy_mode=(
340
- CopyMode.COPY
341
- if installer_configuration.site_packages_copies
342
- else CopyMode.LINK
343
+ installer_configuration=installer_configuration,
344
+ dependency_config=dependency_config,
345
+ requirements=tuple(
346
+ OrderedSet(
347
+ itertools.chain.from_iterable(
348
+ resolved_distribution.direct_requirements
349
+ for resolved_distribution in resolved.distributions
350
+ )
351
+ )
352
+ ),
353
+ distributions=tuple(
354
+ resolved_distribution.fingerprinted_distribution
355
+ for resolved_distribution in resolved.distributions
343
356
  ),
344
357
  hermetic_scripts=hermetic_scripts,
345
358
  )
346
359
  else:
347
360
  installer.populate_flat_distributions(
348
361
  dest_dir=dest_dir,
349
- distributions=distributions,
362
+ distributions=tuple(
363
+ resolved_distribution.distribution
364
+ for resolved_distribution in resolved.distributions
365
+ ),
350
366
  provenance=provenance,
351
367
  copy_mode=(
352
368
  CopyMode.COPY
@@ -370,7 +386,10 @@ class Venv(OutputMixin, JsonMixin, BuildTimeCommand):
370
386
  try_(
371
387
  installer.ensure_pip_installed(
372
388
  venv,
373
- distributions=distributions,
389
+ distributions=tuple(
390
+ resolved_distribution.distribution
391
+ for resolved_distribution in resolved.distributions
392
+ ),
374
393
  scope=installer_configuration.scope,
375
394
  collisions_ok=installer_configuration.collisions_ok,
376
395
  source=source,
@@ -443,3 +462,49 @@ def _install_from_pex(
443
462
  )
444
463
  else:
445
464
  installer.populate_flat_sources(dst=dest_dir, pex=pex, provenance=provenance)
465
+
466
+
467
+ def _install_from_resolve(
468
+ venv, # type: Virtualenv
469
+ provenance, # type: Provenance
470
+ installer_configuration, # type: InstallerConfiguration
471
+ dependency_config, # type: DependencyConfiguration
472
+ requirements, # type: Sequence[Requirement]
473
+ distributions, # type: Sequence[FingerprintedDistribution]
474
+ hermetic_scripts, # type: bool
475
+ ):
476
+ # type: (...) -> None
477
+
478
+ activated_dists = tuple(dist.distribution for dist in distributions)
479
+ installer.populate_venv_distributions(
480
+ venv=venv,
481
+ distributions=activated_dists,
482
+ provenance=provenance,
483
+ copy_mode=(
484
+ CopyMode.COPY if installer_configuration.site_packages_copies else CopyMode.LINK
485
+ ),
486
+ hermetic_scripts=hermetic_scripts,
487
+ )
488
+
489
+ pex_info = PexInfo.default()
490
+ pex_info.includes_tools = False
491
+ pex_info.venv = True
492
+ pex_info.venv_copies = installer_configuration.copies
493
+ pex_info.venv_site_packages_copies = installer_configuration.site_packages_copies
494
+ pex_info.venv_system_site_packages = installer_configuration.system_site_packages
495
+ pex_info.venv_hermetic_scripts = installer_configuration.hermetic_scripts
496
+ dependency_config.configure(pex_info)
497
+ for requirement in requirements:
498
+ pex_info.add_requirement(requirement)
499
+ for distribution in distributions:
500
+ pex_info.add_distribution(os.path.basename(distribution.location), distribution.fingerprint)
501
+
502
+ installer.install_pex_main(
503
+ target_dir=provenance.target_dir,
504
+ venv=venv,
505
+ pex_info=pex_info,
506
+ activated_dists=activated_dists,
507
+ shebang=provenance.calculate_shebang(hermetic_scripts=hermetic_scripts),
508
+ venv_python=provenance.target_python,
509
+ bin_path=installer_configuration.bin_path,
510
+ )
pex/dist_metadata.py CHANGED
@@ -948,19 +948,29 @@ class Requirement(Constraint):
948
948
  return Constraint(name=self.name, specifier=self.specifier, marker=self.marker)
949
949
 
950
950
 
951
- # N.B.: DistributionMetadata can have an expensive hash when a distribution has many requirements;
951
+ # N.B.: ProjectMetadata can have an expensive hash when a distribution has many requirements;
952
952
  # so we cache the hash. See: https://github.com/pex-tool/pex/issues/1928
953
953
  @attr.s(frozen=True, cache_hash=True)
954
+ class ProjectMetadata(object):
955
+ project_name = attr.ib() # type: ProjectName
956
+ version = attr.ib() # type: Version
957
+ requires_dists = attr.ib(default=()) # type: Tuple[Requirement, ...]
958
+ requires_python = attr.ib(default=SpecifierSet()) # type: Optional[SpecifierSet]
959
+
960
+
961
+ @attr.s(frozen=True)
954
962
  class DistMetadata(object):
955
963
  @classmethod
956
964
  def from_metadata_files(cls, metadata_files):
957
965
  # type: (MetadataFiles) -> DistMetadata
958
966
  return cls(
959
967
  files=metadata_files,
960
- project_name=metadata_files.metadata.project_name,
961
- version=metadata_files.metadata.version,
962
- requires_dists=tuple(requires_dists(metadata_files)),
963
- requires_python=requires_python(metadata_files),
968
+ project_metadata=ProjectMetadata(
969
+ project_name=metadata_files.metadata.project_name,
970
+ version=metadata_files.metadata.version,
971
+ requires_dists=tuple(requires_dists(metadata_files)),
972
+ requires_python=requires_python(metadata_files),
973
+ ),
964
974
  )
965
975
 
966
976
  @classmethod
@@ -980,10 +990,27 @@ class DistMetadata(object):
980
990
  return cls.from_metadata_files(metadata_files)
981
991
 
982
992
  files = attr.ib(eq=False) # type: MetadataFiles
983
- project_name = attr.ib() # type: ProjectName
984
- version = attr.ib() # type: Version
985
- requires_dists = attr.ib(default=()) # type: Tuple[Requirement, ...]
986
- requires_python = attr.ib(default=SpecifierSet()) # type: Optional[SpecifierSet]
993
+ project_metadata = attr.ib() # type: ProjectMetadata
994
+
995
+ @property
996
+ def project_name(self):
997
+ # type: () -> ProjectName
998
+ return self.project_metadata.project_name
999
+
1000
+ @property
1001
+ def version(self):
1002
+ # type: () -> Version
1003
+ return self.project_metadata.version
1004
+
1005
+ @property
1006
+ def requires_dists(self):
1007
+ # type: () -> Tuple[Requirement, ...]
1008
+ return self.project_metadata.requires_dists
1009
+
1010
+ @property
1011
+ def requires_python(self):
1012
+ # type: () -> Optional[SpecifierSet]
1013
+ return self.project_metadata.requires_python
987
1014
 
988
1015
  @property
989
1016
  def type(self):
@@ -1 +1 @@
1
- {"version":"1.3.0","languages":{"en":{"hash":"en_32e8257caf","wasm":"en","page_count":8}}}
1
+ {"version":"1.3.0","languages":{"en":{"hash":"en_86ab41ad5d","wasm":"en","page_count":8}}}
@@ -1,5 +1,5 @@
1
1
  const DOCUMENTATION_OPTIONS = {
2
- VERSION: '2.62.1',
2
+ VERSION: '2.64.0',
3
3
  LANGUAGE: 'en',
4
4
  COLLAPSE_INDEX: false,
5
5
  BUILDER: 'html',
@@ -8,7 +8,7 @@
8
8
  <link rel="prefetch" href="../_static/pex-logo-dark.png" as="image">
9
9
 
10
10
  <link rel="shortcut icon" href="../_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 -->
11
- <title>PEX runtime environment variables - Pex Docs (v2.62.1)</title>
11
+ <title>PEX runtime environment variables - Pex Docs (v2.64.0)</title>
12
12
  <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=d111a655" />
13
13
  <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=580074bf" />
14
14
  <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=8dab3a3b" />
@@ -163,7 +163,7 @@
163
163
  </label>
164
164
  </div>
165
165
  <div class="header-center">
166
- <a href="../index.html"><div class="brand">Pex Docs (v2.62.1)</div></a>
166
+ <a href="../index.html"><div class="brand">Pex Docs (v2.64.0)</div></a>
167
167
  </div>
168
168
  <div class="header-right">
169
169
  <div class="theme-toggle-container theme-toggle-header">
@@ -643,12 +643,12 @@
643
643
  </div>
644
644
  <div class="right-details">
645
645
  <div class="icons">
646
- <a class="muted-link " href="https://pypi.org/project/pex/2.62.1/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
646
+ <a class="muted-link " href="https://pypi.org/project/pex/2.64.0/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
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.62.1/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
651
+ <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.64.0/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
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=5c12aedb"></script>
674
+ </div><script src="../_static/documentation_options.js?v=07e49155"></script>
675
675
  <script src="../_static/doctools.js?v=9bcbadda"></script>
676
676
  <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
677
677
  <script src="../_static/scripts/furo.js?v=46bd48cc"></script>
@@ -8,7 +8,7 @@
8
8
  <link rel="prefetch" href="_static/pex-logo-dark.png" as="image">
9
9
 
10
10
  <link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 -->
11
- <title>Building .pex files - Pex Docs (v2.62.1)</title>
11
+ <title>Building .pex files - Pex Docs (v2.64.0)</title>
12
12
  <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
13
13
  <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=580074bf" />
14
14
  <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
@@ -163,7 +163,7 @@
163
163
  </label>
164
164
  </div>
165
165
  <div class="header-center">
166
- <a href="index.html"><div class="brand">Pex Docs (v2.62.1)</div></a>
166
+ <a href="index.html"><div class="brand">Pex Docs (v2.64.0)</div></a>
167
167
  </div>
168
168
  <div class="header-right">
169
169
  <div class="theme-toggle-container theme-toggle-header">
@@ -681,12 +681,12 @@ scary like <code class="docutils literal notranslate"><span class="pre">sudo</sp
681
681
  </div>
682
682
  <div class="right-details">
683
683
  <div class="icons">
684
- <a class="muted-link " href="https://pypi.org/project/pex/2.62.1/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
684
+ <a class="muted-link " href="https://pypi.org/project/pex/2.64.0/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
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.62.1/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
689
+ <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.64.0/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
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=5c12aedb"></script>
712
+ </div><script src="_static/documentation_options.js?v=07e49155"></script>
713
713
  <script src="_static/doctools.js?v=9bcbadda"></script>
714
714
  <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
715
715
  <script src="_static/scripts/furo.js?v=46bd48cc"></script>
@@ -6,7 +6,7 @@
6
6
  <link rel="prefetch" href="_static/pex-logo-light.png" as="image">
7
7
  <link rel="prefetch" href="_static/pex-logo-dark.png" as="image">
8
8
 
9
- <link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 --><title>Index - Pex Docs (v2.62.1)</title>
9
+ <link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 --><title>Index - Pex Docs (v2.64.0)</title>
10
10
  <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
11
11
  <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=580074bf" />
12
12
  <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
@@ -161,7 +161,7 @@
161
161
  </label>
162
162
  </div>
163
163
  <div class="header-center">
164
- <a href="index.html"><div class="brand">Pex Docs (v2.62.1)</div></a>
164
+ <a href="index.html"><div class="brand">Pex Docs (v2.64.0)</div></a>
165
165
  </div>
166
166
  <div class="header-right">
167
167
  <div class="theme-toggle-container theme-toggle-header">
@@ -260,12 +260,12 @@
260
260
  </div>
261
261
  <div class="right-details">
262
262
  <div class="icons">
263
- <a class="muted-link " href="https://pypi.org/project/pex/2.62.1/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
263
+ <a class="muted-link " href="https://pypi.org/project/pex/2.64.0/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
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.62.1/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
268
+ <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.64.0/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
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=5c12aedb"></script>
291
+ </div><script src="_static/documentation_options.js?v=07e49155"></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.62.1)</title>
11
+ <title>Pex Docs (v2.64.0)</title>
12
12
  <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
13
13
  <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=580074bf" />
14
14
  <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
@@ -163,7 +163,7 @@
163
163
  </label>
164
164
  </div>
165
165
  <div class="header-center">
166
- <a href="#"><div class="brand">Pex Docs (v2.62.1)</div></a>
166
+ <a href="#"><div class="brand">Pex Docs (v2.64.0)</div></a>
167
167
  </div>
168
168
  <div class="header-right">
169
169
  <div class="theme-toggle-container theme-toggle-header">
@@ -341,12 +341,12 @@ To go straight to building pex files, see <a class="reference internal" href="bu
341
341
  </div>
342
342
  <div class="right-details">
343
343
  <div class="icons">
344
- <a class="muted-link " href="https://pypi.org/project/pex/2.62.1/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
344
+ <a class="muted-link " href="https://pypi.org/project/pex/2.64.0/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
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.62.1/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
349
+ <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.64.0/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
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=5c12aedb"></script>
392
+ </div><script src="_static/documentation_options.js?v=07e49155"></script>
393
393
  <script src="_static/doctools.js?v=9bcbadda"></script>
394
394
  <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
395
395
  <script src="_static/scripts/furo.js?v=46bd48cc"></script>
@@ -8,7 +8,7 @@
8
8
  <link rel="prefetch" href="_static/pex-logo-dark.png" as="image">
9
9
 
10
10
  <link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 -->
11
- <title>PEX Recipes and Notes - Pex Docs (v2.62.1)</title>
11
+ <title>PEX Recipes and Notes - Pex Docs (v2.64.0)</title>
12
12
  <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
13
13
  <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=580074bf" />
14
14
  <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
@@ -163,7 +163,7 @@
163
163
  </label>
164
164
  </div>
165
165
  <div class="header-center">
166
- <a href="index.html"><div class="brand">Pex Docs (v2.62.1)</div></a>
166
+ <a href="index.html"><div class="brand">Pex Docs (v2.64.0)</div></a>
167
167
  </div>
168
168
  <div class="header-right">
169
169
  <div class="theme-toggle-container theme-toggle-header">
@@ -430,12 +430,12 @@ $<span class="w"> </span><span class="nb">export</span><span class="w"> </span><
430
430
  </div>
431
431
  <div class="right-details">
432
432
  <div class="icons">
433
- <a class="muted-link " href="https://pypi.org/project/pex/2.62.1/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
433
+ <a class="muted-link " href="https://pypi.org/project/pex/2.64.0/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
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.62.1/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
438
+ <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.64.0/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
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=5c12aedb"></script>
485
+ </div><script src="_static/documentation_options.js?v=07e49155"></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.62.1)</title>
11
+ <title>PEX with included Python interpreter - Pex Docs (v2.64.0)</title>
12
12
  <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
13
13
  <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=580074bf" />
14
14
  <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
@@ -163,7 +163,7 @@
163
163
  </label>
164
164
  </div>
165
165
  <div class="header-center">
166
- <a href="index.html"><div class="brand">Pex Docs (v2.62.1)</div></a>
166
+ <a href="index.html"><div class="brand">Pex Docs (v2.64.0)</div></a>
167
167
  </div>
168
168
  <div class="header-right">
169
169
  <div class="theme-toggle-container theme-toggle-header">
@@ -623,12 +623,12 @@ uuid
623
623
  </div>
624
624
  <div class="right-details">
625
625
  <div class="icons">
626
- <a class="muted-link " href="https://pypi.org/project/pex/2.62.1/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
626
+ <a class="muted-link " href="https://pypi.org/project/pex/2.64.0/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
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.62.1/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
631
+ <a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.64.0/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
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=5c12aedb"></script>
675
+ </div><script src="_static/documentation_options.js?v=07e49155"></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>