pex 2.59.4__py2.py3-none-any.whl → 2.60.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 (114) hide show
  1. pex/build_backend/wrap.py +25 -4
  2. pex/cache/dirs.py +14 -4
  3. pex/cli/commands/lock.py +8 -5
  4. pex/common.py +57 -7
  5. pex/compatibility.py +1 -1
  6. pex/dist_metadata.py +48 -6
  7. pex/docs/html/_pagefind/fragment/en_39c0488.pf_fragment +0 -0
  8. pex/docs/html/_pagefind/fragment/en_3eeaaf4.pf_fragment +0 -0
  9. pex/docs/html/_pagefind/fragment/en_a1dde36.pf_fragment +0 -0
  10. pex/docs/html/_pagefind/fragment/en_a755644.pf_fragment +0 -0
  11. pex/docs/html/_pagefind/fragment/en_b16e3bd.pf_fragment +0 -0
  12. pex/docs/html/_pagefind/fragment/{en_e323b0a.pf_fragment → en_c5d35a7.pf_fragment} +0 -0
  13. pex/docs/html/_pagefind/fragment/en_ec62bd2.pf_fragment +0 -0
  14. pex/docs/html/_pagefind/fragment/en_f32628f.pf_fragment +0 -0
  15. pex/docs/html/_pagefind/index/{en_9894162.pf_index → en_b211695.pf_index} +0 -0
  16. pex/docs/html/_pagefind/pagefind-entry.json +1 -1
  17. pex/docs/html/_pagefind/pagefind.en_e8a49380e5.pf_meta +0 -0
  18. pex/docs/html/_static/documentation_options.js +1 -1
  19. pex/docs/html/api/vars.html +5 -5
  20. pex/docs/html/buildingpex.html +5 -5
  21. pex/docs/html/genindex.html +5 -5
  22. pex/docs/html/index.html +5 -5
  23. pex/docs/html/recipes.html +5 -5
  24. pex/docs/html/scie.html +5 -5
  25. pex/docs/html/search.html +5 -5
  26. pex/docs/html/whatispex.html +5 -5
  27. pex/entry_points_txt.py +98 -0
  28. pex/environment.py +13 -10
  29. pex/finders.py +1 -1
  30. pex/installed_wheel.py +127 -0
  31. pex/interpreter.py +17 -5
  32. pex/interpreter_constraints.py +4 -4
  33. pex/pep_376.py +37 -385
  34. pex/pep_427.py +736 -248
  35. pex/pex_builder.py +4 -4
  36. pex/pex_info.py +8 -3
  37. pex/resolve/venv_resolver.py +98 -23
  38. pex/resolver.py +10 -3
  39. pex/sysconfig.py +5 -3
  40. pex/third_party/__init__.py +1 -1
  41. pex/tools/commands/repository.py +47 -24
  42. pex/vendor/__init__.py +4 -9
  43. pex/vendor/__main__.py +62 -41
  44. pex/vendor/_vendored/ansicolors/.layout.json +1 -1
  45. pex/vendor/_vendored/ansicolors/ansicolors-1.1.8.dist-info/RECORD +11 -0
  46. pex/vendor/_vendored/ansicolors/ansicolors-1.1.8.pex-info/original-whl-info.json +1 -0
  47. pex/vendor/_vendored/appdirs/.layout.json +1 -1
  48. pex/vendor/_vendored/appdirs/appdirs-1.4.4.dist-info/RECORD +7 -0
  49. pex/vendor/_vendored/appdirs/appdirs-1.4.4.pex-info/original-whl-info.json +1 -0
  50. pex/vendor/_vendored/attrs/.layout.json +1 -1
  51. pex/vendor/_vendored/attrs/attrs-21.5.0.dev0.dist-info/RECORD +37 -0
  52. pex/vendor/_vendored/attrs/attrs-21.5.0.dev0.pex-info/original-whl-info.json +1 -0
  53. pex/vendor/_vendored/packaging_20_9/.layout.json +1 -1
  54. pex/vendor/_vendored/packaging_20_9/packaging-20.9.dist-info/RECORD +20 -0
  55. pex/vendor/_vendored/packaging_20_9/packaging-20.9.pex-info/original-whl-info.json +1 -0
  56. pex/vendor/_vendored/packaging_20_9/pyparsing-2.4.7.dist-info/RECORD +7 -0
  57. pex/vendor/_vendored/packaging_20_9/pyparsing-2.4.7.pex-info/original-whl-info.json +1 -0
  58. pex/vendor/_vendored/packaging_21_3/.layout.json +1 -1
  59. pex/vendor/_vendored/packaging_21_3/packaging-21.3.dist-info/RECORD +20 -0
  60. pex/vendor/_vendored/packaging_21_3/packaging-21.3.pex-info/original-whl-info.json +1 -0
  61. pex/vendor/_vendored/packaging_21_3/pyparsing-3.0.7.dist-info/RECORD +18 -0
  62. pex/vendor/_vendored/packaging_21_3/pyparsing-3.0.7.pex-info/original-whl-info.json +1 -0
  63. pex/vendor/_vendored/packaging_24_0/.layout.json +1 -1
  64. pex/vendor/_vendored/packaging_24_0/packaging-24.0.dist-info/RECORD +22 -0
  65. pex/vendor/_vendored/packaging_24_0/packaging-24.0.pex-info/original-whl-info.json +1 -0
  66. pex/vendor/_vendored/packaging_25_0/.layout.json +1 -1
  67. pex/vendor/_vendored/packaging_25_0/packaging-25.0.dist-info/RECORD +24 -0
  68. pex/vendor/_vendored/packaging_25_0/packaging-25.0.pex-info/original-whl-info.json +1 -0
  69. pex/vendor/_vendored/pip/.layout.json +1 -1
  70. pex/vendor/_vendored/pip/pip/_vendor/certifi/cacert.pem +63 -1
  71. pex/vendor/_vendored/pip/pip-20.3.4.dist-info/RECORD +388 -0
  72. pex/vendor/_vendored/pip/pip-20.3.4.pex-info/original-whl-info.json +1 -0
  73. pex/vendor/_vendored/setuptools/.layout.json +1 -1
  74. pex/vendor/_vendored/setuptools/setuptools-44.0.0+3acb925dd708430aeaf197ea53ac8a752f7c1863.dist-info/RECORD +107 -0
  75. pex/vendor/_vendored/setuptools/setuptools-44.0.0+3acb925dd708430aeaf197ea53ac8a752f7c1863.pex-info/original-whl-info.json +1 -0
  76. pex/vendor/_vendored/toml/.layout.json +1 -1
  77. pex/vendor/_vendored/toml/toml-0.10.2.dist-info/RECORD +11 -0
  78. pex/vendor/_vendored/toml/toml-0.10.2.pex-info/original-whl-info.json +1 -0
  79. pex/vendor/_vendored/tomli/.layout.json +1 -1
  80. pex/vendor/_vendored/tomli/tomli-2.0.1.dist-info/RECORD +10 -0
  81. pex/vendor/_vendored/tomli/tomli-2.0.1.pex-info/original-whl-info.json +1 -0
  82. pex/venv/installer.py +9 -5
  83. pex/version.py +1 -1
  84. pex/wheel.py +79 -15
  85. pex/whl.py +67 -0
  86. pex/windows/__init__.py +14 -11
  87. {pex-2.59.4.dist-info → pex-2.60.0.dist-info}/METADATA +4 -4
  88. {pex-2.59.4.dist-info → pex-2.60.0.dist-info}/RECORD +93 -77
  89. pex/docs/html/_pagefind/fragment/en_144b803.pf_fragment +0 -0
  90. pex/docs/html/_pagefind/fragment/en_1df1379.pf_fragment +0 -0
  91. pex/docs/html/_pagefind/fragment/en_2c6c6cb.pf_fragment +0 -0
  92. pex/docs/html/_pagefind/fragment/en_a916b1c.pf_fragment +0 -0
  93. pex/docs/html/_pagefind/fragment/en_b33e5d4.pf_fragment +0 -0
  94. pex/docs/html/_pagefind/fragment/en_c1c571a.pf_fragment +0 -0
  95. pex/docs/html/_pagefind/fragment/en_fda06e7.pf_fragment +0 -0
  96. pex/docs/html/_pagefind/pagefind.en_84c8322e7a.pf_meta +0 -0
  97. pex/vendor/_vendored/ansicolors/ansicolors-1.1.8.dist-info/INSTALLER +0 -1
  98. pex/vendor/_vendored/appdirs/appdirs-1.4.4.dist-info/INSTALLER +0 -1
  99. pex/vendor/_vendored/attrs/attrs-21.5.0.dev0.dist-info/INSTALLER +0 -1
  100. pex/vendor/_vendored/packaging_20_9/packaging-20.9.dist-info/INSTALLER +0 -1
  101. pex/vendor/_vendored/packaging_20_9/pyparsing-2.4.7.dist-info/INSTALLER +0 -1
  102. pex/vendor/_vendored/packaging_21_3/packaging-21.3.dist-info/INSTALLER +0 -1
  103. pex/vendor/_vendored/packaging_21_3/pyparsing-3.0.7.dist-info/INSTALLER +0 -1
  104. pex/vendor/_vendored/packaging_24_0/packaging-24.0.dist-info/INSTALLER +0 -1
  105. pex/vendor/_vendored/packaging_25_0/packaging-25.0.dist-info/INSTALLER +0 -1
  106. pex/vendor/_vendored/pip/pip-20.3.4.dist-info/INSTALLER +0 -1
  107. pex/vendor/_vendored/setuptools/setuptools-44.0.0+3acb925dd708430aeaf197ea53ac8a752f7c1863.dist-info/INSTALLER +0 -1
  108. pex/vendor/_vendored/toml/toml-0.10.2.dist-info/INSTALLER +0 -1
  109. pex/vendor/_vendored/tomli/tomli-2.0.1.dist-info/INSTALLER +0 -1
  110. {pex-2.59.4.dist-info → pex-2.60.0.dist-info}/WHEEL +0 -0
  111. {pex-2.59.4.dist-info → pex-2.60.0.dist-info}/entry_points.txt +0 -0
  112. {pex-2.59.4.dist-info → pex-2.60.0.dist-info}/licenses/LICENSE +0 -0
  113. {pex-2.59.4.dist-info → pex-2.60.0.dist-info}/pylock/pylock.toml +0 -0
  114. {pex-2.59.4.dist-info → pex-2.60.0.dist-info}/top_level.txt +0 -0
pex/vendor/__main__.py CHANGED
@@ -6,11 +6,12 @@ from __future__ import absolute_import, print_function
6
6
  import glob
7
7
  import os
8
8
  import pkgutil
9
- import re
10
9
  import subprocess
11
10
  import sys
11
+ import zipfile
12
12
  from argparse import ArgumentParser
13
13
  from collections import OrderedDict, defaultdict
14
+ from contextlib import closing
14
15
  from typing import FrozenSet, Iterator, List
15
16
 
16
17
  import libcst
@@ -36,7 +37,15 @@ from libcst import (
36
37
  SimpleString,
37
38
  )
38
39
 
39
- from pex.common import safe_delete, safe_mkdir, safe_mkdtemp, safe_open, safe_rmtree
40
+ from pex.common import (
41
+ REPRODUCIBLE_BUILDS_ENV,
42
+ safe_delete,
43
+ safe_mkdir,
44
+ safe_mkdtemp,
45
+ safe_open,
46
+ safe_rmtree,
47
+ )
48
+ from pex.pep_427 import ZipMetadata
40
49
  from pex.typing import TYPE_CHECKING
41
50
  from pex.vendor import VendorSpec, iter_vendor_specs
42
51
 
@@ -362,10 +371,10 @@ def vendorize(root_dir, vendor_specs, prefix, update):
362
371
  # importable code must lie at the top of its vendored chroot. Although
363
372
  # `pex.pep_472.install_wheel_chroot` encodes the logic to achieve this layout, we can't run
364
373
  # that without 1st approximating that layout!. We take the tack of performing an importable
365
- # installation using `pip wheel ...` + `wheel unpack ...`. Although simply un-packing a wheel
374
+ # installation using `pip wheel ...` + `unzip ...`. Although simply unzipping a wheel
366
375
  # does not make it importable in general, it works for our pure-python vendored code.
367
376
 
368
- unpacked_wheel_chroots_by_vendor_spec = defaultdict(list)
377
+ unzipped_wheel_chroots_by_vendor_spec = defaultdict(list)
369
378
  for vendor_spec in vendor_specs:
370
379
  # NB: We set --no-build-isolation to prevent pip from installing the requirements listed in
371
380
  # its [build-system] config in its pyproject.toml.
@@ -387,6 +396,7 @@ def vendorize(root_dir, vendor_specs, prefix, update):
387
396
  cmd = [
388
397
  "pip",
389
398
  "wheel",
399
+ "--prefer-binary",
390
400
  "--no-build-isolation",
391
401
  "--no-cache-dir",
392
402
  "--wheel-dir",
@@ -408,7 +418,9 @@ def vendorize(root_dir, vendor_specs, prefix, update):
408
418
  if os.path.isfile(constraints_file):
409
419
  cmd.extend(["--constraint", constraints_file])
410
420
 
411
- result = subprocess.call(cmd)
421
+ env = os.environ.copy()
422
+ env.update(REPRODUCIBLE_BUILDS_ENV)
423
+ result = subprocess.call(cmd, env=env)
412
424
  if result != 0:
413
425
  raise VendorizeError("Failed to vendor {!r}".format(vendor_spec))
414
426
 
@@ -416,22 +428,17 @@ def vendorize(root_dir, vendor_specs, prefix, update):
416
428
  # later.
417
429
  safe_mkdir(vendor_spec.target_dir)
418
430
  for wheel_file in glob.glob(os.path.join(wheels_dir, "*.whl")):
419
- extract_dir = os.path.join(wheels_dir, ".extracted")
420
- output = subprocess.check_output(
421
- ["wheel", "unpack", "--dest", extract_dir, wheel_file]
422
- ).decode("utf-8")
423
- match = re.match(r"^Unpacking to: (?P<unpack_dir>.+)\.\.\.OK$", output)
424
- assert match is not None, (
425
- "Failed to determine {wheel_file} unpack dir from wheel unpack output:\n"
426
- "{output}".format(wheel_file=wheel_file, output=output)
431
+ unzipped_wheel_dir = os.path.join(
432
+ wheels_dir, ".extracted", os.path.basename(wheel_file)
433
+ )
434
+ with closing(zipfile.ZipFile(wheel_file)) as zf:
435
+ zf.extractall(unzipped_wheel_dir)
436
+ unzipped_wheel_chroots_by_vendor_spec[vendor_spec].append(
437
+ (unzipped_wheel_dir, wheel_file)
427
438
  )
428
- unpacked_to_dir = os.path.join(extract_dir, match["unpack_dir"])
429
- unpacked_wheel_dir = os.path.join(extract_dir, os.path.basename(wheel_file))
430
- os.rename(unpacked_to_dir, unpacked_wheel_dir)
431
- unpacked_wheel_chroots_by_vendor_spec[vendor_spec].append(unpacked_wheel_dir)
432
- for path in os.listdir(unpacked_wheel_dir):
439
+ for path in os.listdir(unzipped_wheel_dir):
433
440
  os.symlink(
434
- os.path.join(unpacked_wheel_dir, path),
441
+ os.path.join(unzipped_wheel_dir, path),
435
442
  os.path.join(vendor_spec.target_dir, path),
436
443
  )
437
444
 
@@ -484,7 +491,8 @@ def vendorize(root_dir, vendor_specs, prefix, update):
484
491
  # Import all code needed below now before we move any vendored bits it depends on temporarily
485
492
  # back to the prefix site-packages dir.
486
493
  from pex.dist_metadata import ProjectNameAndVersion, Requirement
487
- from pex.pep_427 import install_wheel_chroot
494
+ from pex.pep_427 import InstallableWheel, InstallPaths, install_wheel_chroot
495
+ from pex.wheel import Wheel
488
496
 
489
497
  for vendor_spec in vendor_specs:
490
498
  print(
@@ -512,29 +520,40 @@ def vendorize(root_dir, vendor_specs, prefix, update):
512
520
  # We want the primary artifact to own any special Pex wheel chroot metadata; so we arrange
513
521
  # a list of installs that place it last.
514
522
  primary_project = Requirement.parse(vendor_spec.requirement).project_name
515
- wheel_chroots_by_project_name = {
516
- ProjectNameAndVersion.from_filename(
517
- wheel_chroot
518
- ).canonicalized_project_name: wheel_chroot
519
- for wheel_chroot in unpacked_wheel_chroots_by_vendor_spec[vendor_spec]
520
- }
521
- primary_wheel_chroot = wheel_chroots_by_project_name.pop(primary_project)
523
+ wheel_chroots_by_project_name = OrderedDict()
524
+ for wheel_chroot, wheel_file in unzipped_wheel_chroots_by_vendor_spec[vendor_spec]:
525
+ pnav = ProjectNameAndVersion.from_filename(wheel_chroot)
526
+ wheel_chroots_by_project_name[pnav.canonicalized_project_name] = (
527
+ pnav.canonicalized_project_name,
528
+ pnav.canonicalized_version,
529
+ wheel_chroot,
530
+ wheel_file,
531
+ )
532
+
533
+ (
534
+ project_name,
535
+ version,
536
+ primary_wheel_chroot,
537
+ primary_wheel_file,
538
+ ) = wheel_chroots_by_project_name.pop(primary_project)
522
539
  wheels_chroots_to_install = list(wheel_chroots_by_project_name.values())
523
- wheels_chroots_to_install.append(primary_wheel_chroot)
524
-
525
- for wheel_chroot in wheels_chroots_to_install:
526
- dest_dir = safe_mkdtemp()
527
- subprocess.check_call(["wheel", "pack", "--dest-dir", dest_dir, wheel_chroot])
528
- wheel_files = glob.glob(os.path.join(dest_dir, "*.whl"))
529
- assert len(wheel_files) == 1, (
530
- "Expected re-packing {wheel_chroot} to produce one `.whl` file but found {count}:\n"
531
- "{wheel_files}"
532
- ).format(
533
- wheel_chroot=wheel_chroot,
534
- count=len(wheel_files),
535
- wheel_files="\n".join(os.path.basename(wheel_file) for wheel_file in wheel_files),
540
+ wheels_chroots_to_install.append(
541
+ (project_name, version, primary_wheel_chroot, primary_wheel_file)
542
+ )
543
+
544
+ for project_name, version, wheel_chroot, wheel_file in wheels_chroots_to_install:
545
+ with closing(zipfile.ZipFile(wheel_file)) as zf:
546
+ zip_metadata = ZipMetadata.from_zip(filename=wheel_file, info_list=zf.infolist())
547
+ install_wheel_chroot(
548
+ wheel=InstallableWheel(
549
+ wheel=Wheel.load(wheel_chroot),
550
+ install_paths=InstallPaths.wheel(
551
+ destination=wheel_chroot, project_name=project_name, version=version
552
+ ),
553
+ zip_metadata=zip_metadata,
554
+ ),
555
+ destination=vendor_spec.target_dir,
536
556
  )
537
- install_wheel_chroot(wheel=wheel_files[0], destination=vendor_spec.target_dir)
538
557
 
539
558
 
540
559
  if __name__ == "__main__":
@@ -551,6 +570,8 @@ if __name__ == "__main__":
551
570
  root_directory = VendorSpec.ROOT
552
571
  try:
553
572
  safe_rmtree(VendorSpec.vendor_root())
573
+ # Stabilize our umask to get the same file perms on any run.
574
+ os.umask(0o022)
554
575
  vendorize(
555
576
  root_dir=root_directory,
556
577
  vendor_specs=list(iter_vendor_specs()),
@@ -1 +1 @@
1
- {"fingerprint": "a175b8cdfaabde6458bf70a07cf4ea1a51d4a8edf2502dff5777a049b610f354", "record_relpath": "ansicolors-1.1.8.dist-info/RECORD", "root_is_purelib": true, "stash_dir": ".prefix"}
1
+ {"fingerprint":"93bbf4f9990c23d7f074400fbc7b72699025043cff2ba03c34196ad876cc265c","record_relpath":"ansicolors-1.1.8.dist-info/RECORD","root_is_purelib":true,"stash_dir":".prefix"}
@@ -0,0 +1,11 @@
1
+ ansicolors-1.1.8.dist-info/DESCRIPTION.rst,sha256=hgL3qWOqDdnS5m7OGbUJvvZ_gOnggqyKN0LzedMq3o4,7900
2
+ ansicolors-1.1.8.dist-info/METADATA,sha256=91m-dxXKkt0Fg_Zv_HA7Zlxx2f1bGDFRn0cMD-6YkvI,9006
3
+ ansicolors-1.1.8.dist-info/RECORD,,
4
+ ansicolors-1.1.8.dist-info/WHEEL,sha256=o2k-Qa-RMNIJmUdIc7KU6VWR_ErNRbWNlxDIpl7lm34,110
5
+ ansicolors-1.1.8.dist-info/metadata.json,sha256=jEvYWhL1nvf1IOuhZN76kIr3cS4QQN9_aql483E8Sd8,1181
6
+ ansicolors-1.1.8.dist-info/top_level.txt,sha256=igtcW1b_UlN1_x_2Ooi1-5-0ZZzr7UbkgT0OyOkOz1A,7
7
+ colors/__init__.py,sha256=7UV3RlAaU9ihmC33l1KnlJ19mV79q9knPrayzG0LA4g,119
8
+ colors/colors.py,sha256=VNM8dhjwb51Q3rbNFLhAfl-Xi3vd88NLnLT8BavVpXg,5603
9
+ colors/csscolors.py,sha256=pYW3Yisj3bGz-ocg23jxmqQ7YjNFoaZuLW38Lrqd8pg,6584
10
+ colors/version.py,sha256=1AmxhanHVlK7-ylUJmxvVmAhH674NXaZPyMgOYTXThQ,22
11
+ ansicolors-1.1.8.pex-info/original-whl-info.json,sha256=HbV2rpplaYIBPX3BXgmvHbJ3jE4Kai_UN1AI0iFOiAg,717
@@ -0,0 +1 @@
1
+ {"entries":[["colors/__init__.py",[2017,5,17,21,12,12],2175008768],["colors/colors.py",[2017,6,2,20,55,34],2175008768],["colors/csscolors.py",[2017,6,2,19,55,26],2175008768],["colors/version.py",[2017,6,2,21,17,26],2175008768],["ansicolors-1.1.8.dist-info/DESCRIPTION.rst",[2017,6,2,21,22,12],2175008768],["ansicolors-1.1.8.dist-info/metadata.json",[2017,6,2,21,22,12],2175008768],["ansicolors-1.1.8.dist-info/top_level.txt",[2017,6,2,21,22,12],2175008768],["ansicolors-1.1.8.dist-info/WHEEL",[2017,6,2,21,22,12],2175008768],["ansicolors-1.1.8.dist-info/METADATA",[2017,6,2,21,22,12],2175008768],["ansicolors-1.1.8.dist-info/RECORD",[2017,6,2,21,22,12],2175008768]],"filename":"ansicolors-1.1.8-py2.py3-none-any.whl"}
@@ -1 +1 @@
1
- {"fingerprint": "383339ca0d10d6c4144fc79e24b2c65304bdfcfbebabcf10c8ec6e9b73ee64fd", "record_relpath": "appdirs-1.4.4.dist-info/RECORD", "root_is_purelib": true, "stash_dir": ".prefix"}
1
+ {"fingerprint":"24fd20ba81e67b247f15013f7f14f1932d342923d2f07d3a2cc73f264d01ca28","record_relpath":"appdirs-1.4.4.dist-info/RECORD","root_is_purelib":true,"stash_dir":".prefix"}
@@ -0,0 +1,7 @@
1
+ appdirs.py,sha256=g99s2sXhnvTEm79oj4bWI0Toapc-_SmKKNXvOXHkVic,24720
2
+ appdirs-1.4.4.dist-info/LICENSE.txt,sha256=Nt200KdFqTqyAyA9cZCBSxuJcn0lTK_0jHp6-71HAAs,1097
3
+ appdirs-1.4.4.dist-info/METADATA,sha256=k5TVfXMNKGHTfp2wm6EJKTuGwGNuoQR5TqQgH8iwG8M,8981
4
+ appdirs-1.4.4.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110
5
+ appdirs-1.4.4.dist-info/top_level.txt,sha256=nKncE8CUqZERJ6VuQWL4_bkunSPDNfn7KZqb4Tr5YEM,8
6
+ appdirs-1.4.4.dist-info/RECORD,,
7
+ appdirs-1.4.4.pex-info/original-whl-info.json,sha256=JGLXb1lcQ1mCmCous2iCwcoSL-PRXEU0XwIvlUrxRqU,449
@@ -0,0 +1 @@
1
+ {"entries":[["appdirs.py",[2020,5,10,23,54,42],2175008768],["appdirs-1.4.4.dist-info/LICENSE.txt",[2020,5,11,7,49,18],2175008768],["appdirs-1.4.4.dist-info/METADATA",[2020,5,11,7,49,18],2175008768],["appdirs-1.4.4.dist-info/WHEEL",[2020,5,11,7,49,18],2175008768],["appdirs-1.4.4.dist-info/top_level.txt",[2020,5,11,7,49,18],2175008768],["appdirs-1.4.4.dist-info/RECORD",[2020,5,11,7,49,18],28573696]],"filename":"appdirs-1.4.4-py2.py3-none-any.whl"}
@@ -1 +1 @@
1
- {"fingerprint": "f827748f286aa52ec78b7f6d7f0ae069555adff917b19b0097afa8b7ea45389a", "record_relpath": "attrs-21.5.0.dev0.dist-info/RECORD", "root_is_purelib": true, "stash_dir": ".prefix"}
1
+ {"fingerprint":"60e0467569716898b2972fe5a3d4c9949a86cabb361124271abdc4fda2aabc8c","record_relpath":"attrs-21.5.0.dev0.dist-info/RECORD","root_is_purelib":true,"stash_dir":".prefix"}
@@ -0,0 +1,37 @@
1
+ attr/__init__.py,sha256=HLLlMhzttVknGFFJ3WtFVf5aZB2LE3IRGWm46Cl0_Is,1672
2
+ attr/__init__.pyi,sha256=ubRkstoRHPpQN17iA0OCh8waIwZ5NeJgbz0lwI8XUjY,15100
3
+ attr/_cmp.py,sha256=JP0N7OIyTqIR3prUDfMZOR4DV4tlV_xXf39-bQg7xOo,4165
4
+ attr/_cmp.pyi,sha256=oyjJVytrwwkUJOoe332IiYzp6pCVZEKKcKveH-ev604,317
5
+ attr/_compat.py,sha256=i8u27AAK_4SzQnmTf3aliGV27UdYbJxdZ-O0tOHbLU8,8396
6
+ attr/_config.py,sha256=aj1Lh8t2CuVa5nSxgCrLQtg_ZSdO8ZKeNJQd6RvpIp8,892
7
+ attr/_funcs.py,sha256=sm_D12y2IyRW_bCnR7M-O7U5qHaieXr0BzINwJ7_K38,14753
8
+ attr/_make.py,sha256=3sBkj8T3EkP-Jb_1HOzzEWeq59rK0uHOZzfoX35kB74,102691
9
+ attr/_next_gen.py,sha256=kZVQUsM4hhs26s--kwKcKOky8oevJvXpagnZ0xzAnbc,5728
10
+ attr/_version_info.py,sha256=sxD9yNai0jGbur_-RGEQHbgV2YX5_5G9PhrhBA5pA54,2194
11
+ attr/_version_info.pyi,sha256=x_M3L3WuB7r_ULXAWjx959udKQ4HLB8l-hsc1FDGNvk,209
12
+ attr/converters.py,sha256=uiiWTz8GLJe8I1Ty7UICK1DegVUnqHTXbOSnar7g7Nk,4078
13
+ attr/converters.pyi,sha256=MQo7iEzPNVoFpKqD30sVwgVpdNoIeSCF2nsXvoxLZ-Y,416
14
+ attr/exceptions.py,sha256=BMg7AljkJnvG-irMwL2TBHYlaLBXhSKnzoEWo4e42Zw,1981
15
+ attr/exceptions.pyi,sha256=zZq8bCUnKAy9mDtBEw42ZhPhAUIHoTKedDQInJD883M,539
16
+ attr/filters.py,sha256=JGZgvPGkdOfttkoL6XhXS6ZCoaVV5nZ8GCYeZNUN_mE,1124
17
+ attr/filters.pyi,sha256=_Sm80jGySETX_Clzdkon5NHVjQWRl3Y3liQKZX1czXc,215
18
+ attr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
+ attr/setters.py,sha256=rH_UtQuHgQEC7hfZyMO_SJW0R1Gus7-a83U8igZfqs8,1466
20
+ attr/setters.pyi,sha256=7dM10rqpQVDW0y-iJUnq8rabdO5Wx2Sbo5LwNa0IXl0,573
21
+ attr/validators.py,sha256=jVE9roaSOmTf0dJNSLHNaQNilkrlzc3pNNBKmv0g7pk,15966
22
+ attr/validators.pyi,sha256=adn6rNbIXmRXlg_FKrTmWj0dOX0vKTsGG82Jd3YcJbQ,2268
23
+ attrs/__init__.py,sha256=aX2i9JFdrtqLG9y6EYU_T5WB6Q_wRdQSCz3oSYo4vjs,1787
24
+ attrs/__init__.pyi,sha256=57aCxUJukK9lZlrUgk9RuWiBiPY5DzDKJAJkhbrStYw,1982
25
+ attrs/converters.py,sha256=Qest7tYhZchJXF5lqfLGkUhEYYT4NmKg8Ril1_g0Ooo,216
26
+ attrs/exceptions.py,sha256=0bGHmll9g3D8T0q6FCer3NWlaNFwY2nKJeO4Y6GK-0M,216
27
+ attrs/filters.py,sha256=nXj6QjEP-gY_2d0oR7njS_jXJ82wEVdd9P5xXf46eW0,210
28
+ attrs/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
+ attrs/setters.py,sha256=pDIk-WAal-Qk05-porL8BAmd8AoP1PL6yLiyZMHg7RM,210
30
+ attrs/validators.py,sha256=wM1oQrUTrlyY9_bey9ivrdUXk9mELYbwwwU_USDQYTo,216
31
+ attrs-21.5.0.dev0.dist-info/AUTHORS.rst,sha256=wsqCNbGz_mklcJrt54APIZHZpoTIJLkXqEhhn4Nd8hc,752
32
+ attrs-21.5.0.dev0.dist-info/LICENSE,sha256=v2WaKLSSQGAvVrvfSQy-LsUJsVuY-Z17GaUsdA4yeGM,1082
33
+ attrs-21.5.0.dev0.dist-info/METADATA,sha256=-t3LVgMrh0oyIepApHAVYSGj-Yoj1ROrr3UsX0XZt0I,9810
34
+ attrs-21.5.0.dev0.dist-info/WHEEL,sha256=ADKeyaGyKF5DwBNE0sRE5pvW-bSkFMJfBuhzZ3rceP4,110
35
+ attrs-21.5.0.dev0.dist-info/top_level.txt,sha256=AGbmKnOtYpdkLRsDRQVSBIwfL32pAQ6BSo1mt-BxI7M,11
36
+ attrs-21.5.0.dev0.dist-info/RECORD,,
37
+ attrs-21.5.0.dev0.pex-info/original-whl-info.json,sha256=tci_1h9VD9j8cIrPFSQd8qGT7aM-uL1UXofO4PR2Mmo,1968
@@ -0,0 +1 @@
1
+ {"entries":[["attr/__init__.py",[1980,1,1,0,0,0],2175008768],["attr/__init__.pyi",[1980,1,1,0,0,0],2175008768],["attr/_cmp.py",[1980,1,1,0,0,0],2175008768],["attr/_cmp.pyi",[1980,1,1,0,0,0],2175008768],["attr/_compat.py",[1980,1,1,0,0,0],2175008768],["attr/_config.py",[1980,1,1,0,0,0],2175008768],["attr/_funcs.py",[1980,1,1,0,0,0],2175008768],["attr/_make.py",[1980,1,1,0,0,0],2175008768],["attr/_next_gen.py",[1980,1,1,0,0,0],2175008768],["attr/_version_info.py",[1980,1,1,0,0,0],2175008768],["attr/_version_info.pyi",[1980,1,1,0,0,0],2175008768],["attr/converters.py",[1980,1,1,0,0,0],2175008768],["attr/converters.pyi",[1980,1,1,0,0,0],2175008768],["attr/exceptions.py",[1980,1,1,0,0,0],2175008768],["attr/exceptions.pyi",[1980,1,1,0,0,0],2175008768],["attr/filters.py",[1980,1,1,0,0,0],2175008768],["attr/filters.pyi",[1980,1,1,0,0,0],2175008768],["attr/py.typed",[1980,1,1,0,0,0],2175008768],["attr/setters.py",[1980,1,1,0,0,0],2175008768],["attr/setters.pyi",[1980,1,1,0,0,0],2175008768],["attr/validators.py",[1980,1,1,0,0,0],2175008768],["attr/validators.pyi",[1980,1,1,0,0,0],2175008768],["attrs/__init__.py",[1980,1,1,0,0,0],2175008768],["attrs/__init__.pyi",[1980,1,1,0,0,0],2175008768],["attrs/converters.py",[1980,1,1,0,0,0],2175008768],["attrs/exceptions.py",[1980,1,1,0,0,0],2175008768],["attrs/filters.py",[1980,1,1,0,0,0],2175008768],["attrs/py.typed",[1980,1,1,0,0,0],2175008768],["attrs/setters.py",[1980,1,1,0,0,0],2175008768],["attrs/validators.py",[1980,1,1,0,0,0],2175008768],["attrs-21.5.0.dev0.dist-info/AUTHORS.rst",[1980,1,1,0,0,0],2175008768],["attrs-21.5.0.dev0.dist-info/LICENSE",[1980,1,1,0,0,0],2175008768],["attrs-21.5.0.dev0.dist-info/METADATA",[1980,1,1,0,0,0],2175008768],["attrs-21.5.0.dev0.dist-info/WHEEL",[1980,1,1,0,0,0],2175008768],["attrs-21.5.0.dev0.dist-info/top_level.txt",[1980,1,1,0,0,0],2175008768],["attrs-21.5.0.dev0.dist-info/RECORD",[1980,1,1,0,0,0],28573696]],"filename":"attrs-21.5.0.dev0-py2.py3-none-any.whl"}
@@ -1 +1 @@
1
- {"fingerprint": "3946db78a8f564b5e0f20648918e6352f64be213519585fe08750b080a1a21c3", "record_relpath": "packaging-20.9.dist-info/RECORD", "root_is_purelib": true, "stash_dir": ".prefix"}
1
+ {"fingerprint":"e781ec09b3aa335b5436874df6b22577ddce0818a227be1c81ccc86aff78e850","record_relpath":"packaging-20.9.dist-info/RECORD","root_is_purelib":true,"stash_dir":".prefix"}
@@ -0,0 +1,20 @@
1
+ packaging/__about__.py,sha256=j4B7IMMSqpUnYzcYd5H5WZlILXevD7Zm_n9lj_TROTw,726
2
+ packaging/__init__.py,sha256=6enbp5XgRfjBjsI9-bn00HjHf5TH21PDMOKkJW8xw-w,562
3
+ packaging/_compat.py,sha256=MXdsGpSE_W-ZrHoC87andI4LV2FAwU7HLL-eHe_CjhU,1128
4
+ packaging/_structures.py,sha256=ozkCX8Q8f2qE1Eic3YiQ4buDVfgz2iYevY9e7R2y3iY,2022
5
+ packaging/_typing.py,sha256=x59EhQ57TMT-kTRyLZV25HZvYGGwbucTo6iKh_O0tMw,1812
6
+ packaging/markers.py,sha256=4ZyE7J0_j6Vj-3A13sKdirWa6ZIwQfOhXk9GsEtbuvw,9766
7
+ packaging/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
+ packaging/requirements.py,sha256=mltyb1A8XamaZeRtKuzVn0Rk5q7gMPG3V-lvv_cXwDA,5413
9
+ packaging/specifiers.py,sha256=RaxQ-JKyCqI5QBm6gDvboZ2K6jjLVd-pxq0kvYf28kc,32208
10
+ packaging/tags.py,sha256=BMEL_3W3E8nXK_AXAWqmlYccsvoznFKkTBkTPR48DB8,29561
11
+ packaging/utils.py,sha256=5vUxwCVYSmaNJFgd7KaCBpxHXQN89KIvRLvCsDzao0k,4385
12
+ packaging/version.py,sha256=t7FpsZKmDncMn6EG28dEu_5NBZUa9_HVoiG-fsDo3oc,15974
13
+ packaging-20.9.dist-info/LICENSE,sha256=ytHvW9NA1z4HS6YU0m996spceUDD2MNIUuZcSQlobEg,197
14
+ packaging-20.9.dist-info/LICENSE.APACHE,sha256=DVQuDIgE45qn836wDaWnYhSdxoLXgpRRKH4RuTjpRZQ,10174
15
+ packaging-20.9.dist-info/LICENSE.BSD,sha256=tw5-m3QvHMb5SLNMFqo5_-zpQZY2S8iP8NIYDwAo-sU,1344
16
+ packaging-20.9.dist-info/METADATA,sha256=rLxNembuaMRrFbibyM7Twl76eRsNmPlHYPm2URn1o0s,13299
17
+ packaging-20.9.dist-info/WHEEL,sha256=Z-nyYpwrcSqxfdux5Mbn_DQ525iP7J2DG3JgGvOYyTQ,110
18
+ packaging-20.9.dist-info/top_level.txt,sha256=zFdHrhWnPslzsiP455HutQsqPB6v0KCtNUMtUtrefDw,10
19
+ packaging-20.9.dist-info/RECORD,,
20
+ packaging-20.9.pex-info/original-whl-info.json,sha256=LfxX9D2qg_rTtBO9M27q1I086FpdjJ4Vq_fBWUpIrbE,1237
@@ -0,0 +1 @@
1
+ {"entries":[["packaging/__about__.py",[2021,1,29,20,22,48],2175008768],["packaging/__init__.py",[2020,12,11,23,44,40],2175008768],["packaging/_compat.py",[2020,5,2,17,34,34],2175008768],["packaging/_structures.py",[2019,10,5,0,21,0],2175008768],["packaging/_typing.py",[2020,5,2,17,34,34],2175008768],["packaging/markers.py",[2021,1,25,2,19,6],2175008768],["packaging/py.typed",[2019,11,8,18,53,20],2175008768],["packaging/requirements.py",[2021,1,25,2,19,6],2175008768],["packaging/specifiers.py",[2021,1,25,2,19,6],2175008768],["packaging/tags.py",[2021,1,25,2,19,6],2175008768],["packaging/utils.py",[2021,1,29,3,13,40],2175008768],["packaging/version.py",[2020,11,14,0,44,2],2175008768],["packaging-20.9.dist-info/LICENSE",[2021,1,29,20,22,56],2175008768],["packaging-20.9.dist-info/LICENSE.APACHE",[2021,1,29,20,22,56],2175008768],["packaging-20.9.dist-info/LICENSE.BSD",[2021,1,29,20,22,56],2175008768],["packaging-20.9.dist-info/METADATA",[2021,1,29,20,22,56],2175008768],["packaging-20.9.dist-info/WHEEL",[2021,1,29,20,22,56],2175008768],["packaging-20.9.dist-info/top_level.txt",[2021,1,29,20,22,56],2175008768],["packaging-20.9.dist-info/RECORD",[2021,1,29,20,22,56],28573696]],"filename":"packaging-20.9-py2.py3-none-any.whl"}
@@ -0,0 +1,7 @@
1
+ pyparsing.py,sha256=oxX_ZOz8t-eros-UWY7nJgcdUgD-rQ53Ck0qp7_v3Ig,273365
2
+ pyparsing-2.4.7.dist-info/LICENSE,sha256=ENUSChaAWAT_2otojCIL-06POXQbVzIGBNRVowngGXI,1023
3
+ pyparsing-2.4.7.dist-info/METADATA,sha256=Ry40soZZiZrAkSMQT_KU1_1REe6FKa5UWzbT6YA8Mxs,3636
4
+ pyparsing-2.4.7.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110
5
+ pyparsing-2.4.7.dist-info/top_level.txt,sha256=eUOjGzJVhlQ3WS2rFAy2mN3LX_7FKTM5GSJ04jfnLmU,10
6
+ pyparsing-2.4.7.dist-info/RECORD,,
7
+ pyparsing-2.4.7.pex-info/original-whl-info.json,sha256=u4VqXTrVJm7IFikaLDH2Y39YxeWguQyq6K1iqnxk1HQ,458
@@ -0,0 +1 @@
1
+ {"entries":[["pyparsing.py",[2020,3,31,2,48,56],2176057344],["pyparsing-2.4.7.dist-info/LICENSE",[2020,4,5,22,19,32],2175008768],["pyparsing-2.4.7.dist-info/METADATA",[2020,4,5,22,19,32],2176057344],["pyparsing-2.4.7.dist-info/WHEEL",[2020,4,5,22,19,32],2176057344],["pyparsing-2.4.7.dist-info/top_level.txt",[2020,4,5,22,19,32],2175008768],["pyparsing-2.4.7.dist-info/RECORD",[2020,4,5,22,19,32],28573696]],"filename":"pyparsing-2.4.7-py2.py3-none-any.whl"}
@@ -1 +1 @@
1
- {"fingerprint": "84b4c176f8bac2d9fc042dd1618394580af666252a61e1d88544b4f6bbf66523", "record_relpath": "packaging-21.3.dist-info/RECORD", "root_is_purelib": true, "stash_dir": ".prefix"}
1
+ {"fingerprint":"17df8d37531246cbaf3690d78527842b5679ffc7cd4361d0c4bfceb5bf395346","record_relpath":"packaging-21.3.dist-info/RECORD","root_is_purelib":true,"stash_dir":".prefix"}
@@ -0,0 +1,20 @@
1
+ packaging/__about__.py,sha256=ugASIO2w1oUyH8_COqQ2X_s0rDhjbhQC3yJocD03h2c,661
2
+ packaging/__init__.py,sha256=b9Kk5MF7KxhhLgcDmiUWukN-LatWFxPdNug0joPhHSk,497
3
+ packaging/_manylinux.py,sha256=XcbiXB-qcjv3bcohp6N98TMpOP4_j3m-iOA8ptK2GWY,11488
4
+ packaging/_musllinux.py,sha256=_KGgY_qc7vhMGpoqss25n2hiLCNKRtvz9mCrS7gkqyc,4378
5
+ packaging/_structures.py,sha256=q3eVNmbWJGG_S0Dit_S3Ao8qQqz_5PYTXFAKBZe5yr4,1431
6
+ packaging/markers.py,sha256=DQY_Q3tWQ4FQSLQTa3oM40cxkivEDOHhDL7CfKFMRFw,8781
7
+ packaging/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
+ packaging/requirements.py,sha256=NT4ek1vbyuC1yuYOrOK-tnpX-5b2oMWx2RRS9HsXyFw,4973
9
+ packaging/specifiers.py,sha256=LRQ0kFsHrl5qfcFNEEJrIFYsnIHQUJXY9fIsakTrrqE,30110
10
+ packaging/tags.py,sha256=lmsnGNiJ8C4D_Pf9PbM0qgbZvD9kmB9lpZBQUZa3R_Y,15699
11
+ packaging/utils.py,sha256=dJjeat3BS-TYn1RrUFVwufUMasbtzLfYRoy_HXENeFQ,4200
12
+ packaging/version.py,sha256=_fLRNrFrxYcHVfyo8vk9j8s6JM8N_xsSxVFr6RJyco8,14665
13
+ packaging-21.3.dist-info/LICENSE,sha256=ytHvW9NA1z4HS6YU0m996spceUDD2MNIUuZcSQlobEg,197
14
+ packaging-21.3.dist-info/LICENSE.APACHE,sha256=DVQuDIgE45qn836wDaWnYhSdxoLXgpRRKH4RuTjpRZQ,10174
15
+ packaging-21.3.dist-info/LICENSE.BSD,sha256=tw5-m3QvHMb5SLNMFqo5_-zpQZY2S8iP8NIYDwAo-sU,1344
16
+ packaging-21.3.dist-info/METADATA,sha256=KuKIy6qDLP3svIt6ejCbxBDhvq11ebkgUN55MeyKFyc,15147
17
+ packaging-21.3.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92
18
+ packaging-21.3.dist-info/top_level.txt,sha256=zFdHrhWnPslzsiP455HutQsqPB6v0KCtNUMtUtrefDw,10
19
+ packaging-21.3.dist-info/RECORD,,
20
+ packaging-21.3.pex-info/original-whl-info.json,sha256=cHaQy2j4tTYmpq7kGSoHe5O1p3G4rSedLZ5ByxG_2zw,1244
@@ -0,0 +1 @@
1
+ {"entries":[["packaging/__about__.py",[2021,11,18,0,38,54],2175008768],["packaging/__init__.py",[2021,2,12,20,13,2],2175008768],["packaging/_manylinux.py",[2021,7,1,21,38,24],2175008768],["packaging/_musllinux.py",[2021,11,16,16,25,30],2175008768],["packaging/_structures.py",[2021,11,16,16,25,30],2175008768],["packaging/markers.py",[2021,2,12,20,13,2],2175008768],["packaging/py.typed",[2019,11,8,18,53,20],2175008768],["packaging/requirements.py",[2021,2,12,20,13,2],2175008768],["packaging/specifiers.py",[2021,11,16,16,25,30],2175008768],["packaging/tags.py",[2021,11,16,16,25,30],2175008768],["packaging/utils.py",[2021,6,19,18,45,38],2175008768],["packaging/version.py",[2021,2,12,20,13,2],2175008768],["packaging-21.3.dist-info/LICENSE",[2021,11,18,0,39,0],2175008768],["packaging-21.3.dist-info/LICENSE.APACHE",[2021,11,18,0,39,0],2175008768],["packaging-21.3.dist-info/LICENSE.BSD",[2021,11,18,0,39,0],2175008768],["packaging-21.3.dist-info/METADATA",[2021,11,18,0,39,0],2175008768],["packaging-21.3.dist-info/WHEEL",[2021,11,18,0,39,0],2175008768],["packaging-21.3.dist-info/top_level.txt",[2021,11,18,0,39,0],2175008768],["packaging-21.3.dist-info/RECORD",[2021,11,18,0,39,0],28573696]],"filename":"packaging-21.3-py3-none-any.whl"}
@@ -0,0 +1,18 @@
1
+ pyparsing/__init__.py,sha256=EguTHn-CBY6m15vm0jKxaGHdLgqIt7nwCIkVwbOfSbM,9095
2
+ pyparsing/actions.py,sha256=60v7mETOBzc01YPH_qQD5isavgcSJpAfIKpzgjM3vaU,6429
3
+ pyparsing/common.py,sha256=lFL97ooIeR75CmW5hjURZqwDCTgruqltcTCZ-ulLO2Q,12936
4
+ pyparsing/core.py,sha256=KQEemy1LU-uwf_8MRB-NhGqcSvW8iJqgYky2Ez5KmkI,212214
5
+ pyparsing/exceptions.py,sha256=H4D9gqMavqmAFSsdrU_J6bO-jA-T-A7yvtXWZpooIUA,9030
6
+ pyparsing/helpers.py,sha256=kqpIZFG-y0fQ3g_TmloYllo9we6YCYiewZMXIK0y5wc,38299
7
+ pyparsing/results.py,sha256=4D-oURF1cLeL7k0d3zMqUuWH_gTjop_OrZwik9O0HXU,25339
8
+ pyparsing/testing.py,sha256=szs8AKZREZMhL0y0vsMfaTVAnpqPHetg6VKJBNmc4QY,13388
9
+ pyparsing/unicode.py,sha256=IR-ioeGY29cZ49tG8Ts7ITPWWNP5G2DcZs58oa8zn44,10381
10
+ pyparsing/util.py,sha256=kq772O5YSeXOSdP-M31EWpbH_ayj7BMHImBYo9xPD5M,6805
11
+ pyparsing/diagram/__init__.py,sha256=HgXKfDWj11krDF6LhpP5pXPxjMT63M8G46rAOnn816w,22450
12
+ pyparsing/diagram/template.jinja2,sha256=SfQ8SLktSBqI5W1DGcUVH1vdflRD6x2sQBApxrcNg7s,589
13
+ pyparsing-3.0.7.dist-info/LICENSE,sha256=ENUSChaAWAT_2otojCIL-06POXQbVzIGBNRVowngGXI,1023
14
+ pyparsing-3.0.7.dist-info/METADATA,sha256=w1anBp3KPsXUNknLll-Sg-kL-qPowO-djCrONTvVkHA,4205
15
+ pyparsing-3.0.7.dist-info/WHEEL,sha256=OqRkF0eY5GHssMorFjlbTIq072vpHpF60fIQA6lS9xA,92
16
+ pyparsing-3.0.7.dist-info/top_level.txt,sha256=eUOjGzJVhlQ3WS2rFAy2mN3LX_7FKTM5GSJ04jfnLmU,10
17
+ pyparsing-3.0.7.dist-info/RECORD,,
18
+ pyparsing-3.0.7.pex-info/original-whl-info.json,sha256=hznFZyN7QJXBMZBH1g49eG-efp3XOqD08pLrRvX2Ibo,1103
@@ -0,0 +1 @@
1
+ {"entries":[["pyparsing/__init__.py",[2022,1,20,22,11,34],2176057344],["pyparsing/actions.py",[2021,10,2,5,27,50],2176057344],["pyparsing/common.py",[2021,10,23,2,39,52],2176057344],["pyparsing/core.py",[2022,1,20,22,11,34],2176057344],["pyparsing/exceptions.py",[2021,11,7,17,32,54],2176057344],["pyparsing/helpers.py",[2022,1,20,22,11,34],2176057344],["pyparsing/results.py",[2022,1,20,22,11,34],2176057344],["pyparsing/testing.py",[2021,10,30,8,26,30],2176057344],["pyparsing/unicode.py",[2022,1,20,22,11,34],2176057344],["pyparsing/util.py",[2022,1,20,22,11,34],2176057344],["pyparsing/diagram/__init__.py",[2021,10,30,8,26,30],2176057344],["pyparsing/diagram/template.jinja2",[2020,12,23,3,53,56],2176057344],["pyparsing-3.0.7.dist-info/LICENSE",[2022,1,21,4,9,38],2176057344],["pyparsing-3.0.7.dist-info/METADATA",[2022,1,21,4,9,38],2176057344],["pyparsing-3.0.7.dist-info/WHEEL",[2022,1,21,4,9,38],2176057344],["pyparsing-3.0.7.dist-info/top_level.txt",[2022,1,21,4,9,38],2176057344],["pyparsing-3.0.7.dist-info/RECORD",[2022,1,21,4,9,38],28573696]],"filename":"pyparsing-3.0.7-py3-none-any.whl"}
@@ -1 +1 @@
1
- {"fingerprint": "2752c146bc83b54ff1b8e075b9c0be67eb08afa19a3b140c4bd6455ea71fab5e", "record_relpath": "packaging-24.0.dist-info/RECORD", "root_is_purelib": true, "stash_dir": ".prefix"}
1
+ {"fingerprint":"2688e613bb54c0b61a1c101acb2aa489d06d2c524bfc9502c56768eedeb2f6eb","record_relpath":"packaging-24.0.dist-info/RECORD","root_is_purelib":true,"stash_dir":".prefix"}
@@ -0,0 +1,22 @@
1
+ packaging/__init__.py,sha256=UzotcV07p8vcJzd80S-W0srhgY8NMVD_XvJcZ7JN-tA,496
2
+ packaging/_elffile.py,sha256=hbmK8OD6Z7fY6hwinHEUcD1by7czkGiNYu7ShnFEk2k,3266
3
+ packaging/_manylinux.py,sha256=1ng_TqyH49hY6s3W_zVHyoJIaogbJqbIF1jJ0fAehc4,9590
4
+ packaging/_musllinux.py,sha256=kgmBGLFybpy8609-KTvzmt2zChCPWYvhp5BWP4JX7dE,2676
5
+ packaging/_parser.py,sha256=zlsFB1FpMRjkUdQb6WLq7xON52ruQadxFpYsDXWhLb4,10347
6
+ packaging/_structures.py,sha256=q3eVNmbWJGG_S0Dit_S3Ao8qQqz_5PYTXFAKBZe5yr4,1431
7
+ packaging/_tokenizer.py,sha256=alCtbwXhOFAmFGZ6BQ-wCTSFoRAJ2z-ysIf7__MTJ_k,5292
8
+ packaging/markers.py,sha256=eH-txS2zq1HdNpTd9LcZUcVIwewAiNU0grmq5wjKnOk,8208
9
+ packaging/metadata.py,sha256=w7jPEg6mDf1FTZMn79aFxFuk4SKtynUJtxr2InTxlV4,33036
10
+ packaging/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
+ packaging/requirements.py,sha256=dgoBeVprPu2YE6Q8nGfwOPTjATHbRa_ZGLyXhFEln6Q,2933
12
+ packaging/specifiers.py,sha256=dB2DwbmvSbEuVilEyiIQ382YfW5JfwzXTfRRPVtaENY,39784
13
+ packaging/tags.py,sha256=fedHXiOHkBxNZTXotXv8uXPmMFU9ae-TKBujgYHigcA,18950
14
+ packaging/utils.py,sha256=XgdmP3yx9-wQEFjO7OvMj9RjEf5JlR5HFFR69v7SQ9E,5268
15
+ packaging/version.py,sha256=XjRBLNK17UMDgLeP8UHnqwiY3TdSi03xFQURtec211A,16236
16
+ packaging-24.0.dist-info/LICENSE,sha256=ytHvW9NA1z4HS6YU0m996spceUDD2MNIUuZcSQlobEg,197
17
+ packaging-24.0.dist-info/LICENSE.APACHE,sha256=DVQuDIgE45qn836wDaWnYhSdxoLXgpRRKH4RuTjpRZQ,10174
18
+ packaging-24.0.dist-info/LICENSE.BSD,sha256=tw5-m3QvHMb5SLNMFqo5_-zpQZY2S8iP8NIYDwAo-sU,1344
19
+ packaging-24.0.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
20
+ packaging-24.0.dist-info/METADATA,sha256=0dESdhY_wHValuOrbgdebiEw04EbX4dkujlxPdEsFus,3203
21
+ packaging-24.0.dist-info/RECORD,,
22
+ packaging-24.0.pex-info/original-whl-info.json,sha256=Lo36t6W9UqFYPvWib0F-dHl5YKZzvKJxlUOOECsWWMM,1328
@@ -0,0 +1 @@
1
+ {"entries":[["packaging/__init__.py",[2024,3,10,9,38,56],2175008768],["packaging/_elffile.py",[2023,1,30,15,29,48],2175008768],["packaging/_manylinux.py",[2024,3,10,9,34,40],2175008768],["packaging/_musllinux.py",[2023,10,1,13,58,58],2175008768],["packaging/_parser.py",[2024,3,10,9,34,40],2175008768],["packaging/_structures.py",[2023,1,30,15,29,48],2175008768],["packaging/_tokenizer.py",[2023,4,12,17,5,6],2175008768],["packaging/markers.py",[2023,4,12,17,5,28],2175008768],["packaging/metadata.py",[2024,1,6,20,39,22],2175008768],["packaging/py.typed",[2023,1,30,15,29,48],2175008768],["packaging/requirements.py",[2024,3,10,9,34,40],2175008768],["packaging/specifiers.py",[2024,3,10,9,34,40],2175008768],["packaging/tags.py",[2024,1,6,20,39,22],2175008768],["packaging/utils.py",[2023,10,1,13,58,58],2175008768],["packaging/version.py",[2023,10,1,13,58,58],2175008768],["packaging-24.0.dist-info/LICENSE",[2021,7,23,8,28,26],2175008768],["packaging-24.0.dist-info/LICENSE.APACHE",[2021,7,23,8,28,26],2175008768],["packaging-24.0.dist-info/LICENSE.BSD",[2021,7,23,8,28,26],2175008768],["packaging-24.0.dist-info/WHEEL",[2016,1,1,0,0,0],2175008768],["packaging-24.0.dist-info/METADATA",[2016,1,1,0,0,0],2175008768],["packaging-24.0.dist-info/RECORD",[2016,1,1,0,0,0],2175008768]],"filename":"packaging-24.0-py3-none-any.whl"}
@@ -1 +1 @@
1
- {"fingerprint": "4390b6077435abbfa59ee50812f10d070650a9169b2bac4c0885764cbc6d2453", "record_relpath": "packaging-25.0.dist-info/RECORD", "root_is_purelib": true, "stash_dir": ".prefix"}
1
+ {"fingerprint":"c042647020954d0559e1bc7ae62bb4c2e5d6c586504b564a397a16b1fabd5f96","record_relpath":"packaging-25.0.dist-info/RECORD","root_is_purelib":true,"stash_dir":".prefix"}
@@ -0,0 +1,24 @@
1
+ packaging/__init__.py,sha256=_0cDiPVf2S-bNfVmZguxxzmrIYWlyASxpqph4qsJWUc,494
2
+ packaging/_elffile.py,sha256=UkrbDtW7aeq3qqoAfU16ojyHZ1xsTvGke_WqMTKAKd0,3286
3
+ packaging/_manylinux.py,sha256=t4y_-dTOcfr36gLY-ztiOpxxJFGO2ikC11HgfysGxiM,9596
4
+ packaging/_musllinux.py,sha256=p9ZqNYiOItGee8KcZFeHF_YcdhVwGHdK6r-8lgixvGQ,2694
5
+ packaging/_parser.py,sha256=gYfnj0pRHflVc4RHZit13KNTyN9iiVcU2RUCGi22BwM,10221
6
+ packaging/_structures.py,sha256=q3eVNmbWJGG_S0Dit_S3Ao8qQqz_5PYTXFAKBZe5yr4,1431
7
+ packaging/_tokenizer.py,sha256=OYzt7qKxylOAJ-q0XyK1qAycyPRYLfMPdGQKRXkZWyI,5310
8
+ packaging/markers.py,sha256=P0we27jm1xUzgGMJxBjtUFCIWeBxTsMeJTOJ6chZmAY,12049
9
+ packaging/metadata.py,sha256=8IZErqQQnNm53dZZuYq4FGU4_dpyinMeH1QFBIWIkfE,34739
10
+ packaging/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
+ packaging/requirements.py,sha256=gYyRSAdbrIyKDY66ugIDUQjRMvxkH2ALioTmX3tnL6o,2947
12
+ packaging/specifiers.py,sha256=gtPu5DTc-F9baLq3FTGEK6dPhHGCuwwZetaY0PSV2gs,40055
13
+ packaging/tags.py,sha256=41s97W9Zatrq2Ed7Rc3qeBDaHe8pKKvYq2mGjwahfXk,22745
14
+ packaging/utils.py,sha256=0F3Hh9OFuRgrhTgGZUl5K22Fv1YP2tZl1z_2gO6kJiA,5050
15
+ packaging/version.py,sha256=olfyuk_DPbflNkJ4wBWetXQ17c74x3DB501degUv7DY,16676
16
+ packaging/licenses/__init__.py,sha256=mMl06HTXljKnwrshid3C9pSh_5lSDsx2ArhVR66m1iI,5893
17
+ packaging/licenses/_spdx.py,sha256=oAm1ztPFwlsmCKe7lAAsv_OIOfS1cWDu9bNBkeu-2ns,48398
18
+ packaging-25.0.dist-info/licenses/LICENSE,sha256=ytHvW9NA1z4HS6YU0m996spceUDD2MNIUuZcSQlobEg,197
19
+ packaging-25.0.dist-info/licenses/LICENSE.APACHE,sha256=DVQuDIgE45qn836wDaWnYhSdxoLXgpRRKH4RuTjpRZQ,10174
20
+ packaging-25.0.dist-info/licenses/LICENSE.BSD,sha256=tw5-m3QvHMb5SLNMFqo5_-zpQZY2S8iP8NIYDwAo-sU,1344
21
+ packaging-25.0.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
22
+ packaging-25.0.dist-info/METADATA,sha256=W2EaYJw4_vw9YWv0XSCuyY-31T8kXayp4sMPyFx6woI,3281
23
+ packaging-25.0.dist-info/RECORD,,
24
+ packaging-25.0.pex-info/original-whl-info.json,sha256=uXOqEQcWzymvMM-zwg1pqwsx2d6SLLvxcQIEHu9DShI,1490
@@ -0,0 +1 @@
1
+ {"entries":[["packaging/__init__.py",[2025,4,19,12,48,36],2175008768],["packaging/_elffile.py",[2025,4,19,12,45,16],2175008768],["packaging/_manylinux.py",[2025,4,19,12,45,16],2175008768],["packaging/_musllinux.py",[2024,6,10,0,16,42],2175008768],["packaging/_parser.py",[2025,4,19,12,45,16],2175008768],["packaging/_structures.py",[2024,3,10,10,7,16],2175008768],["packaging/_tokenizer.py",[2025,4,19,12,45,16],2175008768],["packaging/markers.py",[2025,4,19,12,45,16],2175008768],["packaging/metadata.py",[2025,4,19,12,45,16],2175008768],["packaging/py.typed",[2023,1,30,15,29,48],2175008768],["packaging/requirements.py",[2024,6,10,0,16,42],2175008768],["packaging/specifiers.py",[2025,4,19,12,45,16],2175008768],["packaging/tags.py",[2025,4,19,12,45,16],2175008768],["packaging/utils.py",[2024,11,8,9,41,38],2175008768],["packaging/version.py",[2024,11,8,9,41,38],2175008768],["packaging/licenses/__init__.py",[2025,4,19,12,45,16],2175008768],["packaging/licenses/_spdx.py",[2024,11,8,9,41,38],2175008768],["packaging-25.0.dist-info/licenses/LICENSE",[2021,7,23,8,28,26],2175008768],["packaging-25.0.dist-info/licenses/LICENSE.APACHE",[2021,7,23,8,28,26],2175008768],["packaging-25.0.dist-info/licenses/LICENSE.BSD",[2021,7,23,8,28,26],2175008768],["packaging-25.0.dist-info/WHEEL",[2016,1,1,0,0,0],2175008768],["packaging-25.0.dist-info/METADATA",[2016,1,1,0,0,0],2175008768],["packaging-25.0.dist-info/RECORD",[2016,1,1,0,0,0],2175008768]],"filename":"packaging-25.0-py3-none-any.whl"}
@@ -1 +1 @@
1
- {"fingerprint": "41d61b8d13d898e82f6a921c03b5f6aa90a2e835922ed84a9d811cf61e1d364d", "record_relpath": "pip-20.3.4.dist-info/RECORD", "root_is_purelib": true, "stash_dir": ".prefix"}
1
+ {"fingerprint":"93065fed46b0a0db8737c4a33aa24819d527ace9c84e9cdb8f9e41e9e2bd926a","record_relpath":"pip-20.3.4.dist-info/RECORD","root_is_purelib":true,"stash_dir":".prefix"}
@@ -1,4 +1,4 @@
1
- # Updated via `nox -e update-certifi-cacert-pem` using certifi 2025.8.3
1
+ # Updated via `nox -e update-certifi-cacert-pem` using certifi 2025.10.5
2
2
 
3
3
 
4
4
  # Issuer: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc.
@@ -4739,3 +4739,65 @@ rk4N3hY9A4GzJl5LuEsAz/+MF7psYC0nhzck5npgL7XTgwSqT0N1osGDsieYK7EO
4739
4739
  gLrAhV5Cud+xYJHT6xh+cHiudoO+cVrQkOPKwRYlZ0rwtnu64ZzZ
4740
4740
  -----END CERTIFICATE-----
4741
4741
 
4742
+ # Issuer: CN=OISTE Server Root ECC G1 O=OISTE Foundation
4743
+ # Subject: CN=OISTE Server Root ECC G1 O=OISTE Foundation
4744
+ # Label: "OISTE Server Root ECC G1"
4745
+ # Serial: 47819833811561661340092227008453318557
4746
+ # MD5 Fingerprint: 42:a7:d2:35:ae:02:92:db:19:76:08:de:2f:05:b4:d4
4747
+ # SHA1 Fingerprint: 3b:f6:8b:09:ae:2a:92:7b:ba:e3:8d:3f:11:95:d9:e6:44:0c:45:e2
4748
+ # SHA256 Fingerprint: ee:c9:97:c0:c3:0f:21:6f:7e:3b:8b:30:7d:2b:ae:42:41:2d:75:3f:c8:21:9d:af:d1:52:0b:25:72:85:0f:49
4749
+ -----BEGIN CERTIFICATE-----
4750
+ MIICNTCCAbqgAwIBAgIQI/nD1jWvjyhLH/BU6n6XnTAKBggqhkjOPQQDAzBLMQsw
4751
+ CQYDVQQGEwJDSDEZMBcGA1UECgwQT0lTVEUgRm91bmRhdGlvbjEhMB8GA1UEAwwY
4752
+ T0lTVEUgU2VydmVyIFJvb3QgRUNDIEcxMB4XDTIzMDUzMTE0NDIyOFoXDTQ4MDUy
4753
+ NDE0NDIyN1owSzELMAkGA1UEBhMCQ0gxGTAXBgNVBAoMEE9JU1RFIEZvdW5kYXRp
4754
+ b24xITAfBgNVBAMMGE9JU1RFIFNlcnZlciBSb290IEVDQyBHMTB2MBAGByqGSM49
4755
+ AgEGBSuBBAAiA2IABBcv+hK8rBjzCvRE1nZCnrPoH7d5qVi2+GXROiFPqOujvqQy
4756
+ cvO2Ackr/XeFblPdreqqLiWStukhEaivtUwL85Zgmjvn6hp4LrQ95SjeHIC6XG4N
4757
+ 2xml4z+cKrhAS93mT6NjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBQ3
4758
+ TYhlz/w9itWj8UnATgwQb0K0nDAdBgNVHQ4EFgQUN02IZc/8PYrVo/FJwE4MEG9C
4759
+ tJwwDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2kAMGYCMQCpKjAd0MKfkFFR
4760
+ QD6VVCHNFmb3U2wIFjnQEnx/Yxvf4zgAOdktUyBFCxxgZzFDJe0CMQCSia7pXGKD
4761
+ YmH5LVerVrkR3SW+ak5KGoJr3M/TvEqzPNcum9v4KGm8ay3sMaE641c=
4762
+ -----END CERTIFICATE-----
4763
+
4764
+ # Issuer: CN=OISTE Server Root RSA G1 O=OISTE Foundation
4765
+ # Subject: CN=OISTE Server Root RSA G1 O=OISTE Foundation
4766
+ # Label: " OISTE Server Root RSA G1"
4767
+ # Serial: 113845518112613905024960613408179309848
4768
+ # MD5 Fingerprint: 23:a7:9e:d4:70:b8:b9:14:57:41:8a:7e:44:59:e2:68
4769
+ # SHA1 Fingerprint: f7:00:34:25:94:88:68:31:e4:34:87:3f:70:fe:86:b3:86:9f:f0:6e
4770
+ # SHA256 Fingerprint: 9a:e3:62:32:a5:18:9f:fd:db:35:3d:fd:26:52:0c:01:53:95:d2:27:77:da:c5:9d:b5:7b:98:c0:89:a6:51:e6
4771
+ -----BEGIN CERTIFICATE-----
4772
+ MIIFgzCCA2ugAwIBAgIQVaXZZ5Qoxu0M+ifdWwFNGDANBgkqhkiG9w0BAQwFADBL
4773
+ MQswCQYDVQQGEwJDSDEZMBcGA1UECgwQT0lTVEUgRm91bmRhdGlvbjEhMB8GA1UE
4774
+ AwwYT0lTVEUgU2VydmVyIFJvb3QgUlNBIEcxMB4XDTIzMDUzMTE0MzcxNloXDTQ4
4775
+ MDUyNDE0MzcxNVowSzELMAkGA1UEBhMCQ0gxGTAXBgNVBAoMEE9JU1RFIEZvdW5k
4776
+ YXRpb24xITAfBgNVBAMMGE9JU1RFIFNlcnZlciBSb290IFJTQSBHMTCCAiIwDQYJ
4777
+ KoZIhvcNAQEBBQADggIPADCCAgoCggIBAKqu9KuCz/vlNwvn1ZatkOhLKdxVYOPM
4778
+ vLO8LZK55KN68YG0nnJyQ98/qwsmtO57Gmn7KNByXEptaZnwYx4M0rH/1ow00O7b
4779
+ rEi56rAUjtgHqSSY3ekJvqgiG1k50SeH3BzN+Puz6+mTeO0Pzjd8JnduodgsIUzk
4780
+ ik/HEzxux9UTl7Ko2yRpg1bTacuCErudG/L4NPKYKyqOBGf244ehHa1uzjZ0Dl4z
4781
+ O8vbUZeUapU8zhhabkvG/AePLhq5SvdkNCncpo1Q4Y2LS+VIG24ugBA/5J8bZT8R
4782
+ tOpXaZ+0AOuFJJkk9SGdl6r7NH8CaxWQrbueWhl/pIzY+m0o/DjH40ytas7ZTpOS
4783
+ jswMZ78LS5bOZmdTaMsXEY5Z96ycG7mOaES3GK/m5Q9l3JUJsJMStR8+lKXHiHUh
4784
+ sd4JJCpM4rzsTGdHwimIuQq6+cF0zowYJmXa92/GjHtoXAvuY8BeS/FOzJ8vD+Ho
4785
+ mnqT8eDI278n5mUpezbgMxVz8p1rhAhoKzYHKyfMeNhqhw5HdPSqoBNdZH702xSu
4786
+ +zrkL8Fl47l6QGzwBrd7KJvX4V84c5Ss2XCTLdyEr0YconosP4EmQufU2MVshGYR
4787
+ i3drVByjtdgQ8K4p92cIiBdcuJd5z+orKu5YM+Vt6SmqZQENghPsJQtdLEByFSnT
4788
+ kCz3GkPVavBpAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU
4789
+ 8snBDw1jALvsRQ5KH7WxszbNDo0wHQYDVR0OBBYEFPLJwQ8NYwC77EUOSh+1sbM2
4790
+ zQ6NMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQwFAAOCAgEANGd5sjrG5T33
4791
+ I3K5Ce+SrScfoE4KsvXaFwyihdJ+klH9FWXXXGtkFu6KRcoMQzZENdl//nk6HOjG
4792
+ 5D1rd9QhEOP28yBOqb6J8xycqd+8MDoX0TJD0KqKchxRKEzdNsjkLWd9kYccnbz8
4793
+ qyiWXmFcuCIzGEgWUOrKL+mlSdx/PKQZvDatkuK59EvV6wit53j+F8Bdh3foZ3dP
4794
+ AGav9LEDOr4SfEE15fSmG0eLy3n31r8Xbk5l8PjaV8GUgeV6Vg27Rn9vkf195hfk
4795
+ gSe7BYhW3SCl95gtkRlpMV+bMPKZrXJAlszYd2abtNUOshD+FKrDgHGdPY3ofRRs
4796
+ YWSGRqbXVMW215AWRqWFyp464+YTFrYVI8ypKVL9AMb2kI5Wj4kI3Zaq5tNqqYY1
4797
+ 9tVFeEJKRvwDyF7YZvZFZSS0vod7VSCd9521Kvy5YhnLbDuv0204bKt7ph6N/Ome
4798
+ /msVuduCmsuY33OhkKCgxeDoAaijFJzIwZqsFVAzje18KotzlUBDJvyBpCpfOZC3
4799
+ J8tRd/iWkx7P8nd9H0aTolkelUTFLXVksNb54Dxp6gS1HAviRkRNQzuXSXERvSS2
4800
+ wq1yVAb+axj5d9spLFKebXd7Yv0PTY6YMjAwcRLWJTXjn/hvnLXrahut6hDTlhZy
4801
+ BiElxky8j3C7DOReIoMt0r7+hVu05L0=
4802
+ -----END CERTIFICATE-----
4803
+