From 3d3eebe1d8c9a44a6b39bc6597a4ebfa6963fd82 Mon Sep 17 00:00:00 2001 From: Ayan Sinha Mahapatra Date: Sat, 1 Mar 2025 02:45:47 +0530 Subject: [PATCH 1/3] Refactor package assembly for installed wheels Reference: https://github.com/aboutcode-org/scancode-toolkit/issues/4167 Signed-off-by: Ayan Sinha Mahapatra --- src/packagedcode/pypi.py | 72 ++++--------------- .../data/pypi/site-packages/codebase/bin/pip | 0 .../click-8.0.4.dist-info/RECORD | 1 + .../site-packages/site-packages-expected.json | 26 +++++++ 4 files changed, 42 insertions(+), 57 deletions(-) create mode 100644 tests/packagedcode/data/pypi/site-packages/codebase/bin/pip diff --git a/src/packagedcode/pypi.py b/src/packagedcode/pypi.py index 2e7a78e1b06..31b0261f158 100644 --- a/src/packagedcode/pypi.py +++ b/src/packagedcode/pypi.py @@ -390,7 +390,11 @@ def assign_package_to_resources(cls, package, resource, codebase, package_adder) Assign files to package for an installed wheel. This requires a bit of navigation around as the files can be in multiple places. """ - site_packages = resource.parent(codebase).parent(codebase) + dist_info_dir = resource.parent(codebase) + if not dist_info_dir: + return + + site_packages = dist_info_dir.parent(codebase) if not site_packages: return package_data = resource.package_data @@ -400,9 +404,7 @@ def assign_package_to_resources(cls, package, resource, codebase, package_adder) ) package_data = models.PackageData.from_dict(package_data[0]) - package_uid = package.package_uid - if package_uid: # save thyself! package_adder(package_uid, resource, codebase) @@ -414,76 +416,32 @@ def assign_package_to_resources(cls, package, resource, codebase, package_adder) # relative paths need special treatment # most of thense are references to bin ../../../bin/wheel cannot_resolve = False - ref_resource = None + ref_resource = site_packages while path_ref.startswith('..'): _, _, path_ref = path_ref.partition('../') - ref_resource = site_packages.parent(codebase) + ref_resource = ref_resource.parent(codebase) if not ref_resource: cannot_resolve = True break + if cannot_resolve or not ref_resource: # TODO:w e should log these kind of things continue else: - if package_uid: + ref_resource = codebase.get_resource( + path=os.path.join(ref_resource.path, path_ref) + ) + if ref_resource and package_uid: package_adder(package_uid, ref_resource, codebase) else: - ref_resource = get_resource_for_path( - path=path_ref, - root=site_packages, - codebase=codebase, + # These are absolute paths from the site-packages directory + ref_resource = codebase.get_resource( + path=os.path.join(site_packages.path, path_ref) ) if ref_resource and package_uid: package_adder(package_uid, ref_resource, codebase) -def get_resource_for_path(path, root, codebase): - """ - Return a resource in ``codebase`` that has a ``path`` relative to the - ``root` Resource - - For example, say we start from this: - path: this/is/that therefore segments [this, is, that] - root: /usr/foo - - We would have these iterations: - iteration1 - root = /usr/foo - segments = [this, is, that] - seg this - segments = [is, that] - children = [/usr/foo/this] - root = /usr/foo/this - - iteration2 - root = /usr/foo/this - segments = [is, that] - seg is - segments = [that] - children = [/usr/foo/this/is] - root = /usr/foo/this/is - - iteration3 - root = /usr/foo/this/is - segments = [that] - seg that - segments = [] - children = [/usr/foo/this/is/that] - root = /usr/foo/this/is/that - - finally return root as /usr/foo/this/is/that - """ - segments = path.strip('/').split('/') - while segments: - seg = segments.pop(0) - children = [c for c in root.children(codebase) if c.name == seg] - if len(children) != 1: - return - else: - root = children[0] - return root - - class PyprojectTomlHandler(BaseExtractedPythonLayout): datasource_id = 'pypi_pyproject_toml' path_patterns = ('*pyproject.toml',) diff --git a/tests/packagedcode/data/pypi/site-packages/codebase/bin/pip b/tests/packagedcode/data/pypi/site-packages/codebase/bin/pip new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/click-8.0.4.dist-info/RECORD b/tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/click-8.0.4.dist-info/RECORD index ba7172c4fb0..cd24b8559f0 100644 --- a/tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/click-8.0.4.dist-info/RECORD +++ b/tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/click-8.0.4.dist-info/RECORD @@ -39,3 +39,4 @@ click/termui.py,sha256=mZ12uc3-loFaV__vr8buxn9uIjAhy7QwVuZOQ8jDdjc,28873 click/testing.py,sha256=ptpMYgRY7dVfE3UDgkgwayu9ePw98sQI3D7zZXiCpj4,16063 click/types.py,sha256=rj2g3biAXKkNKV8vlwbIKSUlixhXybH84N84fwCYqUU,35092 click/utils.py,sha256=M8tuplcFFHROha3vQ60ZRSakSB_ng6w9e8Uc1AugPZ0,18934 +../../../bin/pip,, diff --git a/tests/packagedcode/data/pypi/site-packages/site-packages-expected.json b/tests/packagedcode/data/pypi/site-packages/site-packages-expected.json index 3ed210de848..b2362c26b58 100644 --- a/tests/packagedcode/data/pypi/site-packages/site-packages-expected.json +++ b/tests/packagedcode/data/pypi/site-packages/site-packages-expected.json @@ -325,6 +325,23 @@ ], "scan_errors": [] }, + { + "path": "bin", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "bin/pip", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:pypi/pyjpstring@0.0.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:pypi/click@8.0.4?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, { "path": "lib", "type": "directory", @@ -849,6 +866,15 @@ "sha256": "33cb6ea6570514744e85adef43ad194526a4481fe783ac3d7bc51cd40ba03d9d", "sha512": null, "extra_data": {} + }, + { + "path": "../../../bin/pip", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} } ], "is_private": false, From 92b7dae73a2ff6f4383f620bee29d510f294e085 Mon Sep 17 00:00:00 2001 From: Ayan Sinha Mahapatra Date: Tue, 4 Mar 2025 16:17:38 +0530 Subject: [PATCH 2/3] Address feedback from reviews Signed-off-by: Ayan Sinha Mahapatra --- src/packagedcode/pypi.py | 8 +- .../pypi/site-packages/codebase/bin/pip-3.8 | 0 .../data/pypi/site-packages/codebase/bin/pip3 | 0 .../click-8.0.4.dist-info/RECORD | 36 +- .../pip-20.2.2.dist-info/INSTALLER | 0 .../pip-20.2.2.dist-info/LICENSE.txt | 0 .../pip-20.2.2.dist-info/METADATA | 34 + .../site-packages/pip-20.2.2.dist-info/RECORD | 17 + .../site-packages}/pip-20.2.2.dist-info/WHEEL | 0 .../pip-20.2.2.dist-info/entry_points.txt | 0 .../pip-20.2.2.dist-info/top_level.txt | 0 .../pip-20.2.2.dist-info-expected.json | 271 + .../site-packages/site-packages-expected.json | 647 +- .../pip-20.2.2.dist-info-expected.json | 7354 ----------------- .../pip-20.2.2.dist-info/METADATA | 88 - .../metadata-2.1/pip-20.2.2.dist-info/RECORD | 804 -- tests/packagedcode/test_pypi.py | 4 +- 17 files changed, 740 insertions(+), 8523 deletions(-) create mode 100644 tests/packagedcode/data/pypi/site-packages/codebase/bin/pip-3.8 create mode 100644 tests/packagedcode/data/pypi/site-packages/codebase/bin/pip3 rename tests/packagedcode/data/pypi/{unpacked_wheel/metadata-2.1 => site-packages/codebase/lib/python3.9/site-packages}/pip-20.2.2.dist-info/INSTALLER (100%) rename tests/packagedcode/data/pypi/{unpacked_wheel/metadata-2.1 => site-packages/codebase/lib/python3.9/site-packages}/pip-20.2.2.dist-info/LICENSE.txt (100%) create mode 100644 tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/METADATA create mode 100644 tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/RECORD rename tests/packagedcode/data/pypi/{unpacked_wheel/metadata-2.1 => site-packages/codebase/lib/python3.9/site-packages}/pip-20.2.2.dist-info/WHEEL (100%) rename tests/packagedcode/data/pypi/{unpacked_wheel/metadata-2.1 => site-packages/codebase/lib/python3.9/site-packages}/pip-20.2.2.dist-info/entry_points.txt (100%) rename tests/packagedcode/data/pypi/{unpacked_wheel/metadata-2.1 => site-packages/codebase/lib/python3.9/site-packages}/pip-20.2.2.dist-info/top_level.txt (100%) create mode 100644 tests/packagedcode/data/pypi/site-packages/pip-20.2.2.dist-info-expected.json delete mode 100644 tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info-expected.json delete mode 100644 tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info/METADATA delete mode 100644 tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info/RECORD diff --git a/src/packagedcode/pypi.py b/src/packagedcode/pypi.py index 31b0261f158..be928b51e61 100644 --- a/src/packagedcode/pypi.py +++ b/src/packagedcode/pypi.py @@ -13,6 +13,7 @@ import json import logging import os +import posixpath import re import sys import tempfile @@ -394,9 +395,11 @@ def assign_package_to_resources(cls, package, resource, codebase, package_adder) if not dist_info_dir: return + # This could be a regular directory too which is not `site-packages` site_packages = dist_info_dir.parent(codebase) if not site_packages: return + package_data = resource.package_data assert len(resource.package_data) == 1, ( f'Unsupported Pypi METADATA wheel structure: {resource.path!r} ' @@ -417,6 +420,7 @@ def assign_package_to_resources(cls, package, resource, codebase, package_adder) # most of thense are references to bin ../../../bin/wheel cannot_resolve = False ref_resource = site_packages + # note that resolving leading ".." always stays in the codebase while path_ref.startswith('..'): _, _, path_ref = path_ref.partition('../') ref_resource = ref_resource.parent(codebase) @@ -429,14 +433,14 @@ def assign_package_to_resources(cls, package, resource, codebase, package_adder) continue else: ref_resource = codebase.get_resource( - path=os.path.join(ref_resource.path, path_ref) + path=posixpath.join(ref_resource.path, path_ref) ) if ref_resource and package_uid: package_adder(package_uid, ref_resource, codebase) else: # These are absolute paths from the site-packages directory ref_resource = codebase.get_resource( - path=os.path.join(site_packages.path, path_ref) + path=posixpath.join(site_packages.path, path_ref) ) if ref_resource and package_uid: package_adder(package_uid, ref_resource, codebase) diff --git a/tests/packagedcode/data/pypi/site-packages/codebase/bin/pip-3.8 b/tests/packagedcode/data/pypi/site-packages/codebase/bin/pip-3.8 new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/packagedcode/data/pypi/site-packages/codebase/bin/pip3 b/tests/packagedcode/data/pypi/site-packages/codebase/bin/pip3 new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/click-8.0.4.dist-info/RECORD b/tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/click-8.0.4.dist-info/RECORD index cd24b8559f0..029b1957503 100644 --- a/tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/click-8.0.4.dist-info/RECORD +++ b/tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/click-8.0.4.dist-info/RECORD @@ -5,38 +5,4 @@ click-8.0.4.dist-info/RECORD,, click-8.0.4.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92 click-8.0.4.dist-info/top_level.txt,sha256=J1ZQogalYS4pphY_lPECoNMfw0HzTSrZglC4Yfwo4xA,6 click/__init__.py,sha256=bOKrvMqmR9rN07vN_ycyrdF-EcTCl-EmuAjq-Fp4yPM,3243 -click/__pycache__/__init__.cpython-36.pyc,, -click/__pycache__/_compat.cpython-36.pyc,, -click/__pycache__/_termui_impl.cpython-36.pyc,, -click/__pycache__/_textwrap.cpython-36.pyc,, -click/__pycache__/_unicodefun.cpython-36.pyc,, -click/__pycache__/_winconsole.cpython-36.pyc,, -click/__pycache__/core.cpython-36.pyc,, -click/__pycache__/decorators.cpython-36.pyc,, -click/__pycache__/exceptions.cpython-36.pyc,, -click/__pycache__/formatting.cpython-36.pyc,, -click/__pycache__/globals.cpython-36.pyc,, -click/__pycache__/parser.cpython-36.pyc,, -click/__pycache__/shell_completion.cpython-36.pyc,, -click/__pycache__/termui.cpython-36.pyc,, -click/__pycache__/testing.cpython-36.pyc,, -click/__pycache__/types.cpython-36.pyc,, -click/__pycache__/utils.cpython-36.pyc,, -click/_compat.py,sha256=JIHLYs7Jzz4KT9t-ds4o4jBzLjnwCiJQKqur-5iwCKI,18810 -click/_termui_impl.py,sha256=qK6Cfy4mRFxvxE8dya8RBhLpSC8HjF-lvBc6aNrPdwg,23451 -click/_textwrap.py,sha256=10fQ64OcBUMuK7mFvh8363_uoOxPlRItZBmKzRJDgoY,1353 -click/_unicodefun.py,sha256=JKSh1oSwG_zbjAu4TBCa9tQde2P9FiYcf4MBfy5NdT8,3201 -click/_winconsole.py,sha256=5ju3jQkcZD0W27WEMGqmEP4y_crUVzPCqsX_FYb7BO0,7860 -click/core.py,sha256=MYYmvqVa_dh4x4f-mr7VyNi6197ucYbJ0fsWW5EnCrA,111432 -click/decorators.py,sha256=5ZngOD72Flo8VLN29iarI0A5u_F-dxmqtUqx4KN8hOg,14879 -click/exceptions.py,sha256=7gDaLGuFZBeCNwY9ERMsF2-Z3R9Fvq09Zc6IZSKjseo,9167 -click/formatting.py,sha256=Frf0-5W33-loyY_i9qrwXR8-STnW3m5gvyxLVUdyxyk,9706 -click/globals.py,sha256=TP-qM88STzc7f127h35TD_v920FgfOD2EwzqA0oE8XU,1961 -click/parser.py,sha256=cAEt1uQR8gq3-S9ysqbVU-fdAZNvilxw4ReJ_T1OQMk,19044 -click/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -click/shell_completion.py,sha256=HHH0wMwlDW4WQhs8rRcS9M8MAo9gltGBN6V2PEbsTp0,18003 -click/termui.py,sha256=mZ12uc3-loFaV__vr8buxn9uIjAhy7QwVuZOQ8jDdjc,28873 -click/testing.py,sha256=ptpMYgRY7dVfE3UDgkgwayu9ePw98sQI3D7zZXiCpj4,16063 -click/types.py,sha256=rj2g3biAXKkNKV8vlwbIKSUlixhXybH84N84fwCYqUU,35092 -click/utils.py,sha256=M8tuplcFFHROha3vQ60ZRSakSB_ng6w9e8Uc1AugPZ0,18934 -../../../bin/pip,, +click/core.py,sha256=MYYmvqVa_dh4x4f-mr7VyNi6197ucYbJ0fsWW5EnCrA,111432 \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info/INSTALLER b/tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/INSTALLER similarity index 100% rename from tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info/INSTALLER rename to tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/INSTALLER diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info/LICENSE.txt b/tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/LICENSE.txt similarity index 100% rename from tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info/LICENSE.txt rename to tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/LICENSE.txt diff --git a/tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/METADATA b/tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/METADATA new file mode 100644 index 00000000000..88909e20002 --- /dev/null +++ b/tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/METADATA @@ -0,0 +1,34 @@ +Metadata-Version: 2.1 +Name: pip +Version: 20.2.2 +Summary: The PyPA recommended tool for installing Python packages. +Home-page: https://pip.pypa.io/ +Author: The pip developers +Author-email: distutils-sig@python.org +License: MIT +Project-URL: Documentation, https://pip.pypa.io +Project-URL: Source, https://github.com/pypa/pip +Project-URL: Changelog, https://pip.pypa.io/en/stable/news/ +Keywords: distutils easy_install egg setuptools wheel virtualenv +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Topic :: Software Development :: Build Tools +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy +Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.* + +pip - The Python Package Installer +================================== + +pip is the `package installer`_ for Python. You can use pip to install packages from the `Python Package Index`_ and other indexes. + diff --git a/tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/RECORD b/tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/RECORD new file mode 100644 index 00000000000..4a6658670b9 --- /dev/null +++ b/tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/RECORD @@ -0,0 +1,17 @@ +pip/__init__.py,sha256=fZ401OZGdv55YGsuCEhsvdNa4YCZLmK457SN3qrstJk,455 +pip/__main__.py,sha256=bqCAM1cj1HwHCDx3WJa-LJxOBXimGxE8OjBqAvnhVg0,911 +pip/_internal/__init__.py,sha256=2si23JBW1erg19xIJ8CD6tfGknz0ijtXmzuXjGfGMGE,495 +pip/_internal/main.py,sha256=IVBnUQ-FG7DK6617uEXRB5_QJqspAsBFmTmTesYkbdQ,437 +pip/_internal/cli/main.py,sha256=Hxc9dZyW3xiDsYZX-_J2cGXT5DWNLNn_Y7o9oUme-Ec,2616 +pip-20.2.2.dist-info/LICENSE.txt,sha256=W6Ifuwlk-TatfRU2LR7W1JMcyMj5_y1NkRkOEJvnRDE,1090 +pip-20.2.2.dist-info/METADATA,sha256=ZMrQjU30hfRVRViE4qoVrwZzDSRyGCT8OdkDkkTMBv8,3708 +pip-20.2.2.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110 +pip-20.2.2.dist-info/entry_points.txt,sha256=HtfDOwpUlr9s73jqLQ6wF9V0_0qvUXJwCBz7Vwx0Ue0,125 +pip-20.2.2.dist-info/top_level.txt,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +pip-20.2.2.dist-info/RECORD,, +../../../bin/pip-3.8,, +../../../bin/pip3,, +pip-20.2.2.dist-info/__pycache__,, +../../../bin/pip,, +pip-20.2.2.virtualenv,, +../../../bin/pip3.8,, diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info/WHEEL b/tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/WHEEL similarity index 100% rename from tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info/WHEEL rename to tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/WHEEL diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info/entry_points.txt b/tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/entry_points.txt similarity index 100% rename from tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info/entry_points.txt rename to tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/entry_points.txt diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info/top_level.txt b/tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/top_level.txt similarity index 100% rename from tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info/top_level.txt rename to tests/packagedcode/data/pypi/site-packages/codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/top_level.txt diff --git a/tests/packagedcode/data/pypi/site-packages/pip-20.2.2.dist-info-expected.json b/tests/packagedcode/data/pypi/site-packages/pip-20.2.2.dist-info-expected.json new file mode 100644 index 00000000000..dd82ec6e1d2 --- /dev/null +++ b/tests/packagedcode/data/pypi/site-packages/pip-20.2.2.dist-info-expected.json @@ -0,0 +1,271 @@ +[ + { + "type": "pypi", + "namespace": null, + "name": "pip", + "version": "20.2.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "Python", + "description": "The PyPA recommended tool for installing Python packages.\npip - The Python Package Installer\n==================================\n\npip is the `package installer`_ for Python. You can use pip to install packages from the `Python Package Index`_ and other indexes.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "The pip developers", + "email": "distutils-sig@python.org", + "url": null + } + ], + "keywords": [ + "distutils easy_install egg setuptools wheel virtualenv", + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Topic :: Software Development :: Build Tools", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy" + ], + "homepage_url": "https://pip.pypa.io/", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": "https://github.com/pypa/pip", + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": null, + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 1, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_url": null, + "matched_text": "MIT" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": null, + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", + "matched_text": "- 'License :: OSI Approved :: MIT License'" + } + ], + "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "license: MIT\nclassifiers:\n - 'License :: OSI Approved :: MIT License'\n", + "notice_text": null, + "source_packages": [], + "file_references": [ + { + "path": "pip/__init__.py", + "size": 455, + "sha1": null, + "md5": null, + "sha256": "7d9e34d4e64676fe79606b2e08486cbdd35ae180992e62b8e7b48ddeaaecb499", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/__main__.py", + "size": 911, + "sha1": null, + "md5": null, + "sha256": "6ea080335723d47c07083c775896be2c9c4e0578a61b113c3a306a02f9e1560d", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/__init__.py", + "size": 495, + "sha1": null, + "md5": null, + "sha256": "dac8b6dc9056d5eae0d7dc4827c083ead7c6927cf48a3b579b3b978c67c63061", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/main.py", + "size": 437, + "sha1": null, + "md5": null, + "sha256": "215067510f851bb0caebad7bb845d1079fd026ab2902c0459939937ac6246dd4", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/main.py", + "size": 2616, + "sha1": null, + "md5": null, + "sha256": "1f173d759c96df1883b18657fbf2767065d3e4358d2cd9ff63ba3da1499ef847", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip-20.2.2.dist-info/LICENSE.txt", + "size": 1090, + "sha1": null, + "md5": null, + "sha256": "5ba21fbb0964f936ad7d15362d1ed6d4931cc8c8f9ff2d4d91190e109be74431", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip-20.2.2.dist-info/METADATA", + "size": 3708, + "sha1": null, + "md5": null, + "sha256": "64cad08d4df485f455455884e2aa15af06730d24721824fc39d9039244cc06ff", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip-20.2.2.dist-info/WHEEL", + "size": 110, + "sha1": null, + "md5": null, + "sha256": "9064fbe0b5b245466b2f85602e1ebf835d8879597ff6ef5956169dae05d95046", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip-20.2.2.dist-info/entry_points.txt", + "size": 125, + "sha1": null, + "md5": null, + "sha256": "1ed7c33b0a5496bf6cef78ea2d0eb017d574ff4aaf517270081cfb570c7451ed", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip-20.2.2.dist-info/top_level.txt", + "size": 4, + "sha1": null, + "md5": null, + "sha256": "ceebae7b8927a3227e5303cf5e0f1f7b34bb542ad7250ac03fbcde36ec2f1508", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip-20.2.2.dist-info/RECORD", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "../../../bin/pip-3.8", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "../../../bin/pip3", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip-20.2.2.dist-info/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "../../../bin/pip", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip-20.2.2.virtualenv", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "../../../bin/pip3.8", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "is_private": false, + "is_virtual": false, + "extra_data": { + "Documentation": "https://pip.pypa.io", + "Changelog": "https://pip.pypa.io/en/stable/news/" + }, + "dependencies": [], + "repository_homepage_url": "https://pypi.org/project/pip", + "repository_download_url": "https://pypi.org/packages/source/p/pip/pip-20.2.2.tar.gz", + "api_data_url": "https://pypi.org/pypi/pip/20.2.2/json", + "datasource_id": "pypi_wheel_metadata", + "purl": "pkg:pypi/pip@20.2.2" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/site-packages/site-packages-expected.json b/tests/packagedcode/data/pypi/site-packages/site-packages-expected.json index b2362c26b58..7ab0b11fa1b 100644 --- a/tests/packagedcode/data/pypi/site-packages/site-packages-expected.json +++ b/tests/packagedcode/data/pypi/site-packages/site-packages-expected.json @@ -200,6 +200,125 @@ "pypi_wheel_metadata" ], "purl": "pkg:pypi/click@8.0.4" + }, + { + "type": "pypi", + "namespace": null, + "name": "pip", + "version": "20.2.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "Python", + "description": "The PyPA recommended tool for installing Python packages.\npip - The Python Package Installer\n==================================\n\npip is the `package installer`_ for Python. You can use pip to install packages from the `Python Package Index`_ and other indexes.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "The pip developers", + "email": "distutils-sig@python.org", + "url": null + } + ], + "keywords": [ + "distutils easy_install egg setuptools wheel virtualenv", + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Topic :: Software Development :: Build Tools", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy" + ], + "homepage_url": "https://pip.pypa.io/", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": "https://github.com/pypa/pip", + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/METADATA", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 1, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_url": null, + "matched_text": "MIT" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/METADATA", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", + "matched_text": "- 'License :: OSI Approved :: MIT License'" + } + ], + "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "license: MIT\nclassifiers:\n - 'License :: OSI Approved :: MIT License'\n", + "notice_text": null, + "source_packages": [], + "is_private": false, + "is_virtual": false, + "extra_data": { + "Documentation": "https://pip.pypa.io", + "Changelog": "https://pip.pypa.io/en/stable/news/" + }, + "repository_homepage_url": "https://pypi.org/project/pip", + "repository_download_url": "https://pypi.org/packages/source/p/pip/pip-20.2.2.tar.gz", + "api_data_url": "https://pypi.org/pypi/pip/20.2.2/json", + "package_uid": "pkg:pypi/pip@20.2.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "lib/python3.9/site-packages/pip-20.2.2.dist-info/METADATA" + ], + "datasource_ids": [ + "pypi_wheel_metadata" + ], + "purl": "pkg:pypi/pip@20.2.2" } ], "dependencies": [ @@ -338,7 +457,27 @@ "package_data": [], "for_packages": [ "pkg:pypi/pyjpstring@0.0.3?uuid=fixed-uid-done-for-testing-5642512d1758", - "pkg:pypi/click@8.0.4?uuid=fixed-uid-done-for-testing-5642512d1758" + "pkg:pypi/pip@20.2.2?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "bin/pip-3.8", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:pypi/pyjpstring@0.0.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:pypi/pip@20.2.2?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "bin/pip3", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:pypi/pyjpstring@0.0.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:pypi/pip@20.2.2?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -562,124 +701,319 @@ "extra_data": {} }, { - "path": "click/__pycache__/__init__.cpython-36.pyc", - "size": null, + "path": "click/core.py", + "size": 111432, "sha1": null, "md5": null, - "sha256": null, + "sha256": "318626bea55afdd878c787fe9abed5c8d8bad7deee7186c9d1fb165b91270ab0", "sha512": null, "extra_data": {} - }, + } + ], + "is_private": false, + "is_virtual": false, + "extra_data": { + "Donate": "https://palletsprojects.com/donate", + "Documentation": "https://click.palletsprojects.com/", + "Changes": "https://click.palletsprojects.com/changes/", + "Twitter": "https://twitter.com/PalletsTeam", + "Chat": "https://discord.gg/pallets" + }, + "dependencies": [ { - "path": "click/__pycache__/_compat.cpython-36.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, + "purl": "pkg:pypi/colorama", + "extracted_requirement": null, + "scope": "install", + "is_runtime": true, + "is_optional": false, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, "extra_data": {} }, { - "path": "click/__pycache__/_termui_impl.cpython-36.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} + "purl": "pkg:pypi/importlib-metadata", + "extracted_requirement": null, + "scope": "install", + "is_runtime": true, + "is_optional": false, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": { + "python_version": "< 3.8" + } + } + ], + "repository_homepage_url": "https://pypi.org/project/click", + "repository_download_url": "https://pypi.org/packages/source/c/click/click-8.0.4.tar.gz", + "api_data_url": "https://pypi.org/pypi/click/8.0.4/json", + "datasource_id": "pypi_wheel_metadata", + "purl": "pkg:pypi/click@8.0.4" + } + ], + "for_packages": [ + "pkg:pypi/click@8.0.4?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "lib/python3.9/site-packages/click-8.0.4.dist-info/RECORD", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:pypi/click@8.0.4?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "lib/python3.9/site-packages/click-8.0.4.dist-info/WHEEL", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:pypi/click@8.0.4?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "lib/python3.9/site-packages/click-8.0.4.dist-info/top_level.txt", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:pypi/click@8.0.4?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "lib/python3.9/site-packages/click/core.py", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:pypi/click@8.0.4?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "lib/python3.9/site-packages/pip-20.2.2.dist-info", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "lib/python3.9/site-packages/pip-20.2.2.dist-info/INSTALLER", + "type": "file", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "lib/python3.9/site-packages/pip-20.2.2.dist-info/LICENSE.txt", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:pypi/pip@20.2.2?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "lib/python3.9/site-packages/pip-20.2.2.dist-info/METADATA", + "type": "file", + "package_data": [ + { + "type": "pypi", + "namespace": null, + "name": "pip", + "version": "20.2.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "Python", + "description": "The PyPA recommended tool for installing Python packages.\npip - The Python Package Installer\n==================================\n\npip is the `package installer`_ for Python. You can use pip to install packages from the `Python Package Index`_ and other indexes.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "The pip developers", + "email": "distutils-sig@python.org", + "url": null + } + ], + "keywords": [ + "distutils easy_install egg setuptools wheel virtualenv", + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Topic :: Software Development :: Build Tools", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy" + ], + "homepage_url": "https://pip.pypa.io/", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": "https://github.com/pypa/pip", + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/METADATA", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 1, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_url": null, + "matched_text": "MIT" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" }, { - "path": "click/__pycache__/_textwrap.cpython-36.pyc", - "size": null, + "license_expression": "mit", + "license_expression_spdx": "MIT", + "matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/METADATA", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", + "matched_text": "- 'License :: OSI Approved :: MIT License'" + } + ], + "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "license: MIT\nclassifiers:\n - 'License :: OSI Approved :: MIT License'\n", + "notice_text": null, + "source_packages": [], + "file_references": [ + { + "path": "pip/__init__.py", + "size": 455, "sha1": null, "md5": null, - "sha256": null, + "sha256": "7d9e34d4e64676fe79606b2e08486cbdd35ae180992e62b8e7b48ddeaaecb499", "sha512": null, "extra_data": {} }, { - "path": "click/__pycache__/_unicodefun.cpython-36.pyc", - "size": null, + "path": "pip/__main__.py", + "size": 911, "sha1": null, "md5": null, - "sha256": null, + "sha256": "6ea080335723d47c07083c775896be2c9c4e0578a61b113c3a306a02f9e1560d", "sha512": null, "extra_data": {} }, { - "path": "click/__pycache__/_winconsole.cpython-36.pyc", - "size": null, + "path": "pip/_internal/__init__.py", + "size": 495, "sha1": null, "md5": null, - "sha256": null, + "sha256": "dac8b6dc9056d5eae0d7dc4827c083ead7c6927cf48a3b579b3b978c67c63061", "sha512": null, "extra_data": {} }, { - "path": "click/__pycache__/core.cpython-36.pyc", - "size": null, + "path": "pip/_internal/main.py", + "size": 437, "sha1": null, "md5": null, - "sha256": null, + "sha256": "215067510f851bb0caebad7bb845d1079fd026ab2902c0459939937ac6246dd4", "sha512": null, "extra_data": {} }, { - "path": "click/__pycache__/decorators.cpython-36.pyc", - "size": null, + "path": "pip/_internal/cli/main.py", + "size": 2616, "sha1": null, "md5": null, - "sha256": null, + "sha256": "1f173d759c96df1883b18657fbf2767065d3e4358d2cd9ff63ba3da1499ef847", "sha512": null, "extra_data": {} }, { - "path": "click/__pycache__/exceptions.cpython-36.pyc", - "size": null, + "path": "pip-20.2.2.dist-info/LICENSE.txt", + "size": 1090, "sha1": null, "md5": null, - "sha256": null, + "sha256": "5ba21fbb0964f936ad7d15362d1ed6d4931cc8c8f9ff2d4d91190e109be74431", "sha512": null, "extra_data": {} }, { - "path": "click/__pycache__/formatting.cpython-36.pyc", - "size": null, + "path": "pip-20.2.2.dist-info/METADATA", + "size": 3708, "sha1": null, "md5": null, - "sha256": null, + "sha256": "64cad08d4df485f455455884e2aa15af06730d24721824fc39d9039244cc06ff", "sha512": null, "extra_data": {} }, { - "path": "click/__pycache__/globals.cpython-36.pyc", - "size": null, + "path": "pip-20.2.2.dist-info/WHEEL", + "size": 110, "sha1": null, "md5": null, - "sha256": null, + "sha256": "9064fbe0b5b245466b2f85602e1ebf835d8879597ff6ef5956169dae05d95046", "sha512": null, "extra_data": {} }, { - "path": "click/__pycache__/parser.cpython-36.pyc", - "size": null, + "path": "pip-20.2.2.dist-info/entry_points.txt", + "size": 125, "sha1": null, "md5": null, - "sha256": null, + "sha256": "1ed7c33b0a5496bf6cef78ea2d0eb017d574ff4aaf517270081cfb570c7451ed", "sha512": null, "extra_data": {} }, { - "path": "click/__pycache__/shell_completion.cpython-36.pyc", - "size": null, + "path": "pip-20.2.2.dist-info/top_level.txt", + "size": 4, "sha1": null, "md5": null, - "sha256": null, + "sha256": "ceebae7b8927a3227e5303cf5e0f1f7b34bb542ad7250ac03fbcde36ec2f1508", "sha512": null, "extra_data": {} }, { - "path": "click/__pycache__/termui.cpython-36.pyc", + "path": "pip-20.2.2.dist-info/RECORD", "size": null, "sha1": null, "md5": null, @@ -688,7 +1022,7 @@ "extra_data": {} }, { - "path": "click/__pycache__/testing.cpython-36.pyc", + "path": "../../../bin/pip-3.8", "size": null, "sha1": null, "md5": null, @@ -697,7 +1031,7 @@ "extra_data": {} }, { - "path": "click/__pycache__/types.cpython-36.pyc", + "path": "../../../bin/pip3", "size": null, "sha1": null, "md5": null, @@ -706,7 +1040,7 @@ "extra_data": {} }, { - "path": "click/__pycache__/utils.cpython-36.pyc", + "path": "pip-20.2.2.dist-info/__pycache__", "size": null, "sha1": null, "md5": null, @@ -715,160 +1049,25 @@ "extra_data": {} }, { - "path": "click/_compat.py", - "size": 18810, - "sha1": null, - "md5": null, - "sha256": "2481cb62cec9cf3e0a4fdb7e76ce28e230732e39f00a22502aababfb98b008a2", - "sha512": null, - "extra_data": {} - }, - { - "path": "click/_termui_impl.py", - "size": 23451, - "sha1": null, - "md5": null, - "sha256": "a8ae827f2e26445c6fc44f1dc9af110612e9482f078c5fa5bc173a68dacf7708", - "sha512": null, - "extra_data": {} - }, - { - "path": "click/_textwrap.py", - "size": 1353, - "sha1": null, - "md5": null, - "sha256": "d747d0eb839c05432e2bb985be1f37eb7feea0ec4f95122d64198acd12438286", - "sha512": null, - "extra_data": {} - }, - { - "path": "click/_unicodefun.py", - "size": 3201, - "sha1": null, - "md5": null, - "sha256": "24a4a1d684b01bfcdb8c0bb84c109af6d41d7b63fd16261c7f83017f2e4d753f", - "sha512": null, - "extra_data": {} - }, - { - "path": "click/_winconsole.py", - "size": 7860, - "sha1": null, - "md5": null, - "sha256": "e63bb78d091c643d16dbb584306aa610fe32fdcad45733c2aac5ff1586fb04ed", - "sha512": null, - "extra_data": {} - }, - { - "path": "click/core.py", - "size": 111432, - "sha1": null, - "md5": null, - "sha256": "318626bea55afdd878c787fe9abed5c8d8bad7deee7186c9d1fb165b91270ab0", - "sha512": null, - "extra_data": {} - }, - { - "path": "click/decorators.py", - "size": 14879, - "sha1": null, - "md5": null, - "sha256": "e599e0383ef6165a3c54b376f626ab234039bbf17e7719aab54ab1e0a37c84e8", - "sha512": null, - "extra_data": {} - }, - { - "path": "click/exceptions.py", - "size": 9167, - "sha1": null, - "md5": null, - "sha256": "ee00da2c6b8564178237063d11132c176f99dd1f45bead3d65ce886522a3b1ea", - "sha512": null, - "extra_data": {} - }, - { - "path": "click/formatting.py", - "size": 9706, - "sha1": null, - "md5": null, - "sha256": "16b7f4fb95b7dfe968c98fe2f6aaf05d1f3e4939d6de6e60bf2c4b554772c729", - "sha512": null, - "extra_data": {} - }, - { - "path": "click/globals.py", - "size": 1961, - "sha1": null, - "md5": null, - "sha256": "4cffaa33cf124f373b7f5dbb877e530ffbfddb41607ce0f6130cea034a04f175", - "sha512": null, - "extra_data": {} - }, - { - "path": "click/parser.py", - "size": 19044, - "sha1": null, - "md5": null, - "sha256": "70012dd6e411f20ab7f92f72b2a6d553e7dd01936f8a5c70e11789fd3d4e40c9", - "sha512": null, - "extra_data": {} - }, - { - "path": "click/py.typed", - "size": 0, - "sha1": null, - "md5": null, - "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "sha512": null, - "extra_data": {} - }, - { - "path": "click/shell_completion.py", - "size": 18003, - "sha1": null, - "md5": null, - "sha256": "1c71f4c0cc250d6e16421b3cad1712f4cf0c028f6096d18137a5763c46ec4e9d", - "sha512": null, - "extra_data": {} - }, - { - "path": "click/termui.py", - "size": 28873, - "sha1": null, - "md5": null, - "sha256": "999d76b9cdfe96815a57ffefafc6eec67f6e223021cbb43056e64e43c8c37637", - "sha512": null, - "extra_data": {} - }, - { - "path": "click/testing.py", - "size": 16063, - "sha1": null, - "md5": null, - "sha256": "a6da4c620458edd55f1375038248306b2bbd78fc3df2c408dc3ef3657882a63e", - "sha512": null, - "extra_data": {} - }, - { - "path": "click/types.py", - "size": 35092, + "path": "../../../bin/pip", + "size": null, "sha1": null, "md5": null, - "sha256": "ae3da0ddb8805ca90d295f2f9706c82925258b1857c9b1fce0df387f0098a945", + "sha256": null, "sha512": null, "extra_data": {} }, { - "path": "click/utils.py", - "size": 18934, + "path": "pip-20.2.2.virtualenv", + "size": null, "sha1": null, "md5": null, - "sha256": "33cb6ea6570514744e85adef43ad194526a4481fe783ac3d7bc51cd40ba03d9d", + "sha256": null, "sha512": null, "extra_data": {} }, { - "path": "../../../bin/pip", + "path": "../../../bin/pip3.8", "size": null, "sha1": null, "md5": null, @@ -880,83 +1079,55 @@ "is_private": false, "is_virtual": false, "extra_data": { - "Donate": "https://palletsprojects.com/donate", - "Documentation": "https://click.palletsprojects.com/", - "Changes": "https://click.palletsprojects.com/changes/", - "Twitter": "https://twitter.com/PalletsTeam", - "Chat": "https://discord.gg/pallets" + "Documentation": "https://pip.pypa.io", + "Changelog": "https://pip.pypa.io/en/stable/news/" }, - "dependencies": [ - { - "purl": "pkg:pypi/colorama", - "extracted_requirement": null, - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_pinned": false, - "is_direct": true, - "resolved_package": {}, - "extra_data": {} - }, - { - "purl": "pkg:pypi/importlib-metadata", - "extracted_requirement": null, - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_pinned": false, - "is_direct": true, - "resolved_package": {}, - "extra_data": { - "python_version": "< 3.8" - } - } - ], - "repository_homepage_url": "https://pypi.org/project/click", - "repository_download_url": "https://pypi.org/packages/source/c/click/click-8.0.4.tar.gz", - "api_data_url": "https://pypi.org/pypi/click/8.0.4/json", + "dependencies": [], + "repository_homepage_url": "https://pypi.org/project/pip", + "repository_download_url": "https://pypi.org/packages/source/p/pip/pip-20.2.2.tar.gz", + "api_data_url": "https://pypi.org/pypi/pip/20.2.2/json", "datasource_id": "pypi_wheel_metadata", - "purl": "pkg:pypi/click@8.0.4" + "purl": "pkg:pypi/pip@20.2.2" } ], "for_packages": [ - "pkg:pypi/click@8.0.4?uuid=fixed-uid-done-for-testing-5642512d1758" + "pkg:pypi/pip@20.2.2?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, { - "path": "lib/python3.9/site-packages/click-8.0.4.dist-info/RECORD", + "path": "lib/python3.9/site-packages/pip-20.2.2.dist-info/RECORD", "type": "file", "package_data": [], "for_packages": [ - "pkg:pypi/click@8.0.4?uuid=fixed-uid-done-for-testing-5642512d1758" + "pkg:pypi/pip@20.2.2?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, { - "path": "lib/python3.9/site-packages/click-8.0.4.dist-info/WHEEL", + "path": "lib/python3.9/site-packages/pip-20.2.2.dist-info/WHEEL", "type": "file", "package_data": [], "for_packages": [ - "pkg:pypi/click@8.0.4?uuid=fixed-uid-done-for-testing-5642512d1758" + "pkg:pypi/pip@20.2.2?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, { - "path": "lib/python3.9/site-packages/click-8.0.4.dist-info/top_level.txt", + "path": "lib/python3.9/site-packages/pip-20.2.2.dist-info/entry_points.txt", "type": "file", "package_data": [], "for_packages": [ - "pkg:pypi/click@8.0.4?uuid=fixed-uid-done-for-testing-5642512d1758" + "pkg:pypi/pip@20.2.2?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, { - "path": "lib/python3.9/site-packages/click/core.py", + "path": "lib/python3.9/site-packages/pip-20.2.2.dist-info/top_level.txt", "type": "file", "package_data": [], "for_packages": [ - "pkg:pypi/click@8.0.4?uuid=fixed-uid-done-for-testing-5642512d1758" + "pkg:pypi/pip@20.2.2?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info-expected.json deleted file mode 100644 index 0e8a3b96e44..00000000000 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info-expected.json +++ /dev/null @@ -1,7354 +0,0 @@ -[ - { - "type": "pypi", - "namespace": null, - "name": "pip", - "version": "20.2.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "Python", - "description": "The PyPA recommended tool for installing Python packages.\npip - The Python Package Installer\n==================================\n\n.. image:: https://img.shields.io/pypi/v/pip.svg\n :target: https://pypi.org/project/pip/\n\n.. image:: https://readthedocs.org/projects/pip/badge/?version=latest\n :target: https://pip.pypa.io/en/latest\n\npip is the `package installer`_ for Python. You can use pip to install packages from the `Python Package Index`_ and other indexes.\n\nPlease take a look at our documentation for how to install and use pip:\n\n* `Installation`_\n* `Usage`_\n\nWe release updates regularly, with a new version every 3 months. Find more details in our documentation:\n\n* `Release notes`_\n* `Release process`_\n\nIn 2020, we're working on improvements to the heart of pip. Please `learn more and take our survey`_ to help us do it right.\n\nIf you find bugs, need help, or want to talk to the developers, please use our mailing lists or chat rooms:\n\n* `Issue tracking`_\n* `Discourse channel`_\n* `User IRC`_\n\nIf you want to get involved head over to GitHub to get the source code, look at our development documentation and feel free to jump on the developer mailing lists and chat rooms:\n\n* `GitHub page`_\n* `Development documentation`_\n* `Development mailing list`_\n* `Development IRC`_\n\nCode of Conduct\n---------------\n\nEveryone interacting in the pip project's codebases, issue trackers, chat\nrooms, and mailing lists is expected to follow the `PyPA Code of Conduct`_.\n\n.. _package installer: https://packaging.python.org/guides/tool-recommendations/\n.. _Python Package Index: https://pypi.org\n.. _Installation: https://pip.pypa.io/en/stable/installing.html\n.. _Usage: https://pip.pypa.io/en/stable/\n.. _Release notes: https://pip.pypa.io/en/stable/news.html\n.. _Release process: https://pip.pypa.io/en/latest/development/release-process/\n.. _GitHub page: https://github.com/pypa/pip\n.. _Development documentation: https://pip.pypa.io/en/latest/development\n.. _learn more and take our survey: https://pyfound.blogspot.com/2020/03/new-pip-resolver-to-roll-out-this-year.html\n.. _Issue tracking: https://github.com/pypa/pip/issues\n.. _Discourse channel: https://discuss.python.org/c/packaging\n.. _Development mailing list: https://mail.python.org/mailman3/lists/distutils-sig.python.org/\n.. _User IRC: https://webchat.freenode.net/?channels=%23pypa\n.. _Development IRC: https://webchat.freenode.net/?channels=%23pypa-dev\n.. _PyPA Code of Conduct: https://www.pypa.io/en/latest/code-of-conduct/", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "The pip developers", - "email": "distutils-sig@python.org", - "url": null - } - ], - "keywords": [ - "distutils easy_install egg setuptools wheel virtualenv", - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "Topic :: Software Development :: Build Tools", - "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: Implementation :: CPython", - "Programming Language :: Python :: Implementation :: PyPy" - ], - "homepage_url": "https://pip.pypa.io/", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": "https://github.com/pypa/pip", - "vcs_url": null, - "copyright": null, - "holder": null, - "declared_license_expression": "mit", - "declared_license_expression_spdx": "MIT", - "license_detections": [ - { - "license_expression": "mit", - "license_expression_spdx": "MIT", - "matches": [ - { - "license_expression": "mit", - "license_expression_spdx": "MIT", - "from_file": null, - "start_line": 1, - "end_line": 1, - "matcher": "1-spdx-id", - "score": 100.0, - "matched_length": 1, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", - "rule_url": null, - "matched_text": "MIT" - } - ], - "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" - }, - { - "license_expression": "mit", - "license_expression_spdx": "MIT", - "matches": [ - { - "license_expression": "mit", - "license_expression_spdx": "MIT", - "from_file": null, - "start_line": 1, - "end_line": 1, - "matcher": "1-hash", - "score": 100.0, - "matched_length": 5, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "pypi_mit_license.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "- 'License :: OSI Approved :: MIT License'" - } - ], - "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" - } - ], - "other_license_expression": null, - "other_license_expression_spdx": null, - "other_license_detections": [], - "extracted_license_statement": "license: MIT\nclassifiers:\n - 'License :: OSI Approved :: MIT License'\n", - "notice_text": null, - "source_packages": [], - "file_references": [ - { - "path": "pip/__init__.py", - "size": 455, - "sha1": null, - "md5": null, - "sha256": "7d9e34d4e64676fe79606b2e08486cbdd35ae180992e62b8e7b48ddeaaecb499", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/__main__.py", - "size": 911, - "sha1": null, - "md5": null, - "sha256": "6ea080335723d47c07083c775896be2c9c4e0578a61b113c3a306a02f9e1560d", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/__init__.py", - "size": 495, - "sha1": null, - "md5": null, - "sha256": "dac8b6dc9056d5eae0d7dc4827c083ead7c6927cf48a3b579b3b978c67c63061", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/build_env.py", - "size": 8088, - "sha1": null, - "md5": null, - "sha256": "f7f51a4367e9b01be92808e2dbb7fb6cf022dafde66f4701bc361c7a3c0528d3", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cache.py", - "size": 12249, - "sha1": null, - "md5": null, - "sha256": "a53d7b555c60cd92b7d9aa98e45452f06c8023bdcb2b334c17c65e950ece8e6d", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/configuration.py", - "size": 14115, - "sha1": null, - "md5": null, - "sha256": "f86c73d89f8abafc62a96209f45f979d8559e652a1364ed53baa277446c7e043", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/exceptions.py", - "size": 12637, - "sha1": null, - "md5": null, - "sha256": "655a40af142b4a59b8a8032d1da6379c7bc6fede5e4a2dd60a7328c1d9bf9bc2", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/locations.py", - "size": 6732, - "sha1": null, - "md5": null, - "sha256": "ed88f3272d82ae8403f0604c7a69c759197de38f01488b7495f1fdf01f8391df", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/main.py", - "size": 437, - "sha1": null, - "md5": null, - "sha256": "215067510f851bb0caebad7bb845d1079fd026ab2902c0459939937ac6246dd4", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/pyproject.py", - "size": 7400, - "sha1": null, - "md5": null, - "sha256": "5492acad73911a21a80cf54a09086ebb8b569504933a1a2246554b44dbb8af1e", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/self_outdated_check.py", - "size": 6779, - "sha1": null, - "md5": null, - "sha256": "abafe7a941cfa6df8349cc03f7b87b1424aa7789c8d6cfb1929388e08e596b76", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/wheel_builder.py", - "size": 9522, - "sha1": null, - "md5": null, - "sha256": "eb0d553d7ae952f0823e5574708d7035a0aa373e25685e81eb086f6b197d727b", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/__init__.py", - "size": 132, - "sha1": null, - "md5": null, - "sha256": "1641c1829c716fefe077aaf51639cd85f30ecc0518c97a17289e9a6e28df7055", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/autocompletion.py", - "size": 6547, - "sha1": null, - "md5": null, - "sha256": "7a418db5c0c8d29eeb15573eeece13f536ecb382606fbbec07ae3d5c921b9518", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/base_command.py", - "size": 8810, - "sha1": null, - "md5": null, - "sha256": "0564f3b4ce1bea1f21a1d0c70ca8e027cda36927abbb60082c02718b577f20ff", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/cmdoptions.py", - "size": 28782, - "sha1": null, - "md5": null, - "sha256": "33f06dbaa7b2469640514632b6db37a60b81085d91686ba45690cf1349e2ae82", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/command_context.py", - "size": 975, - "sha1": null, - "md5": null, - "sha256": "ca0315a13cb68e936294a4feeb8d7a805490a5a06daca4416d56e2d9fcbffc45", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/main.py", - "size": 2616, - "sha1": null, - "md5": null, - "sha256": "1f173d759c96df1883b18657fbf2767065d3e4358d2cd9ff63ba3da1499ef847", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/main_parser.py", - "size": 2843, - "sha1": null, - "md5": null, - "sha256": "be802d8e8e1654f2187aeec5a9a6ef6bd497681dc18c6d201fddc605f7ba8c74", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/parser.py", - "size": 9480, - "sha1": null, - "md5": null, - "sha256": "e057f05bcc41f380ab90bb37e6e77dd1992109c5b2564c75ed70fa8f75c25bb7", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/progress_bars.py", - "size": 9121, - "sha1": null, - "md5": null, - "sha256": "275cf292dd8b23881b05e5e8adf6119985791605e1716e31debeb113f6bb67b7", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/req_command.py", - "size": 15132, - "sha1": null, - "md5": null, - "sha256": "122cfc4d5cdeab31bee34b7ba8b0b5bcefafce3091bd7f42faa5ccc9fc3d0f52", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/spinners.py", - "size": 5509, - "sha1": null, - "md5": null, - "sha256": "3d2f6ce772c1e5a0cf7a5227f0584a7ab2b76ce76079e7c51f9c12589d8f0b32", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/status_codes.py", - "size": 156, - "sha1": null, - "md5": null, - "sha256": "17ab831ba1a3ed134a4095039ddf3b40aa88d7a52cfadf81d303c5ff840ca567", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/__init__.py", - "size": 4100, - "sha1": null, - "md5": null, - "sha256": "ca82c09e61178e842061f0eec2cb961b7473cc3d7da1e1e86c61219a9218b01e", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/cache.py", - "size": 5676, - "sha1": null, - "md5": null, - "sha256": "537acb8e5b3400c30ef0fc67857570229ec18b2be7b3cfa005384a4c7ded5fb6", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/check.py", - "size": 1677, - "sha1": null, - "md5": null, - "sha256": "7ea46bcf6b8a3c2f10b31dab80bca0003d916ebfaac69d50e79cd4a3267307d4", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/completion.py", - "size": 3081, - "sha1": null, - "md5": null, - "sha256": "39bb2c33beeab9feb5aaf6ee484e972f0501766fd671622f5c523e1f2d5106c2", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/configuration.py", - "size": 9344, - "sha1": null, - "md5": null, - "sha256": "20dd90045eb9dec462454efea474e99d9ebf83289734a51090b88b68d44b28dc", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/debug.py", - "size": 7314, - "sha1": null, - "md5": null, - "sha256": "a2d0599e99e8b2d5f69266323a5ea0e827822e693a1f4d13b23d820ec0ad157c", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/download.py", - "size": 4918, - "sha1": null, - "md5": null, - "sha256": "10a1658ff71e1941098fac820f0ecfeb0ef2528075e8870d1e14f6aa70850cd4", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/freeze.py", - "size": 3452, - "sha1": null, - "md5": null, - "sha256": "bcb0413f577cc20117ae6961d3a85bcffc7f4359961d47625836bd34fd9e28b1", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/hash.py", - "size": 1843, - "sha1": null, - "md5": null, - "sha256": "bf69d80a212c108f6711a9b5a7a1b0746f31ca3e6016ffb85abaaf35ec4a99e6", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/help.py", - "size": 1270, - "sha1": null, - "md5": null, - "sha256": "af2b8c0eddad73b89cdcd2583238e83511f9afa2eb076c90559bde8409bc6cbb", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/install.py", - "size": 28683, - "sha1": null, - "md5": null, - "sha256": "8762fcbd2eadd836c601db6d91d66632e70ad9e246d8262f7308436bb01d2ab4", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/list.py", - "size": 11312, - "sha1": null, - "md5": null, - "sha256": "da8deb630dfb102ae17b8f81bb9b3fd82d1bc21620821878f37dccc5c58012e8", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/search.py", - "size": 5756, - "sha1": null, - "md5": null, - "sha256": "d473c0154fad9a02ab1e1af8c4dba4df13283de4b30ffa03bc30e2505659d791", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/show.py", - "size": 6996, - "sha1": null, - "md5": null, - "sha256": "afaf7e1bc1c87a90ca9b849ec9e1e3d04cf53fdc688a1ae9554c979ba3665d86", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/uninstall.py", - "size": 3311, - "sha1": null, - "md5": null, - "sha256": "62cf21c05b20d24bef1ad2c6606de26cbe412af5118654a5097e74650fa1b079", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/wheel.py", - "size": 6419, - "sha1": null, - "md5": null, - "sha256": "f87488484e40576f48ef9d80ab0e03766ba5ac677cac1fd94ce7696c9e93f223", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/distributions/__init__.py", - "size": 959, - "sha1": null, - "md5": null, - "sha256": "1020545b91adbbd4e3270c852ef8a6fa2ea450c615ba290d87d2396ac2fab5b0", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/distributions/base.py", - "size": 1425, - "sha1": null, - "md5": null, - "sha256": "aeea6ba4cfcbd93d87362dca2d41e56c78a6675b16570fb74342dbf0eed30c02", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/distributions/installed.py", - "size": 760, - "sha1": null, - "md5": null, - "sha256": "62a96404aafa4d53f5300612e921bca23b9ddb5c153982cc67c8cc2c97bd3125", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/distributions/sdist.py", - "size": 4086, - "sha1": null, - "md5": null, - "sha256": "0f85d33250b080f94aebd97ad862d890d4954d57bdf5f479880715b7611b1a89", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/distributions/wheel.py", - "size": 1294, - "sha1": null, - "md5": null, - "sha256": "f79b83f937da628ab72a228177393d60c378451a89dbc2cda124d2d8ae3a81e9", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/index/__init__.py", - "size": 30, - "sha1": null, - "md5": null, - "sha256": "be9b7e25e4d979f87c6be142db665e0525c555bb817174868882e141925a3694", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/index/collector.py", - "size": 22838, - "sha1": null, - "md5": null, - "sha256": "acc7467400013abbc89740d89423165ebee6228aab536546790a42b9688fbb54", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/index/package_finder.py", - "size": 37364, - "sha1": null, - "md5": null, - "sha256": "21289e0dddb474e4a774c3726da7c2bb7a4ed8947704a39f1eff7605eb348f44", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/__init__.py", - "size": 63, - "sha1": null, - "md5": null, - "sha256": "dc31d477fab1a4fa337f3a2ea2a6bd83db6cd42cebe6a6877c5c5b9f1ae27a93", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/candidate.py", - "size": 1195, - "sha1": null, - "md5": null, - "sha256": "80009e0921d321a5ae07a44078b9862676c515b29fa7fe3b504443a02fe574e5", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/direct_url.py", - "size": 6900, - "sha1": null, - "md5": null, - "sha256": "32704b3dc8b5844f4d761e9dde6d0b02a07b857ddc8bcd020894c4e5e7ab15a4", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/format_control.py", - "size": 2823, - "sha1": null, - "md5": null, - "sha256": "45d9e7997c55269a42656cd6126153afecc3fe6dc6d22ccf2ea262e88a29ef93", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/index.py", - "size": 1161, - "sha1": null, - "md5": null, - "sha256": "71aaefc71693ee6272a04929b5a1021d466235a03a47936bb06179e736b0367f", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/link.py", - "size": 7470, - "sha1": null, - "md5": null, - "sha256": "14c971bea2a62e88fbc5341280aa9f3b67a113559c803e02e4398406e0bf428b", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/scheme.py", - "size": 778, - "sha1": null, - "md5": null, - "sha256": "1213e44ffe86d0c77ce094cb495a2962ca791ff2ba051118985bd4f07eb030af", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/search_scope.py", - "size": 4751, - "sha1": null, - "md5": null, - "sha256": "2ee9b4998e3fa5d47d0c3072e87579c4718830fa7f914f2f32ca982851d98a9e", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/selection_prefs.py", - "size": 2044, - "sha1": null, - "md5": null, - "sha256": "a603634df81e3cf897d51e52d92f1873aa1d39f53d3731bb60ffe6fe09d2d24c", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/target_python.py", - "size": 4034, - "sha1": null, - "md5": null, - "sha256": "47bb405c8d7907f720c3b1609eae5c23d17ee388285199dc1fd24cb44f295d1c", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/wheel.py", - "size": 2772, - "sha1": null, - "md5": null, - "sha256": "1537f355be1621b7c87a1c61765015bc28a5fcc434f96e38a32379e9c13a3477", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/network/__init__.py", - "size": 50, - "sha1": null, - "md5": null, - "sha256": "8dfe93b799d5ffbce401106b2a88c85c8b607a3be87a054954a51b8406b92287", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/network/auth.py", - "size": 11652, - "sha1": null, - "md5": null, - "sha256": "76ddcdbd3449f35f364b756975814464c3d3d0984e287c85b51f8ef893252482", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/network/cache.py", - "size": 2329, - "sha1": null, - "md5": null, - "sha256": "e9c083ed736baa1d5dd6539263953ed195ce1b5630120318b3e561459572ccc0", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/network/download.py", - "size": 5151, - "sha1": null, - "md5": null, - "sha256": "5531833b4d7f9d7fb930275ab5de0872fd05f3cfccf0ddd69d6e817af03a6b4a", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/network/lazy_wheel.py", - "size": 8138, - "sha1": null, - "md5": null, - "sha256": "45771020b4f9bf950eea4c60bfbe824a770b4ea44bdbda3e3976da5b668aeede", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/network/session.py", - "size": 15208, - "sha1": null, - "md5": null, - "sha256": "66cd2e8b23f14e97e9812bfe648f612bd4e36ac993a6506e062bce4dc52224c1", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/network/utils.py", - "size": 4172, - "sha1": null, - "md5": null, - "sha256": "64f1e0eeee8311c83612f20b21d3c40a7bcf2e9db538f1f135599e5df332fa7d", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/network/xmlrpc.py", - "size": 1882, - "sha1": null, - "md5": null, - "sha256": "3c50a25ff9e7c18c42f121487fb277b6b3f8d040868c0e9f976f8854d85b90f3", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/__init__.py", - "size": 0, - "sha1": null, - "md5": null, - "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/check.py", - "size": 5215, - "sha1": null, - "md5": null, - "sha256": "2580ec54bbe917226e26ad2db52b6083c4d129b7349b260500c9df9e740e4443", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/freeze.py", - "size": 10373, - "sha1": null, - "md5": null, - "sha256": "fef2526701c1373055d06a515125e1509cf706b18575c4f6693716c47d4be0fd", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/prepare.py", - "size": 19903, - "sha1": null, - "md5": null, - "sha256": "46ded887bc35d3f43ebc8ddbed1d7092dd91e973d7f1855474e0e4f9368623d7", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/build/__init__.py", - "size": 0, - "sha1": null, - "md5": null, - "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/build/metadata.py", - "size": 1254, - "sha1": null, - "md5": null, - "sha256": "d9a20b8160904c5d5a2215ae087f134d28effe4626037c75dbad9f4f6150ea94", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/build/metadata_legacy.py", - "size": 2011, - "sha1": null, - "md5": null, - "sha256": "560cc14e4f276883bcfbc37f89f11817b640c56503869856548695959d85a983", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/build/wheel.py", - "size": 1465, - "sha1": null, - "md5": null, - "sha256": "df7bdd9314cefa036aaed587d5e34bfee668e08adac7ce66a03c76a3dcda7b73", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/build/wheel_legacy.py", - "size": 3356, - "sha1": null, - "md5": null, - "sha256": "3756aa359c86511057d018fac0f981d2de3cebaa0c6f1a075290bda73e85c93d", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/install/__init__.py", - "size": 51, - "sha1": null, - "md5": null, - "sha256": "997ee1c83d863413b69851a8903437d2bfc65efed8fcf2ddb71714bf5e387beb", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/install/editable_legacy.py", - "size": 1488, - "sha1": null, - "md5": null, - "sha256": "ac9ff1b36aad0d48e9636fa7e9e62557266236829b3ad65766b62b7272042ede", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/install/legacy.py", - "size": 4281, - "sha1": null, - "md5": null, - "sha256": "ceedc6c39e1d807b65bb25b99fc8f9a8a70049c89d41726fa81f1f6f4a0b07ee", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/install/wheel.py", - "size": 31310, - "sha1": null, - "md5": null, - "sha256": "9c998e48e618de47a4b1777fdc616e84059e7a82af18eca84866e35c0063678d", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/req/__init__.py", - "size": 3133, - "sha1": null, - "md5": null, - "sha256": "b3e139571c6aaa972cef17d8e6063af681e882c589e2c2db9d4883a169a41ce5", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/req/constructors.py", - "size": 16387, - "sha1": null, - "md5": null, - "sha256": "2eb4876d11eee76fa1e87335a89286ebca35270e6af0cbc919faf802cea3dae5", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/req/req_file.py", - "size": 19448, - "sha1": null, - "md5": null, - "sha256": "a7b9f7634ab6ef9122b2a7f1774bed7e7c58be54fa4c2098d2d8fbe69fb288e6", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/req/req_install.py", - "size": 33080, - "sha1": null, - "md5": null, - "sha256": "86a40c9bab3b7f56b644019ab32021cb8ede646a26dce04a7a244ceb4c7174f8", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/req/req_set.py", - "size": 7886, - "sha1": null, - "md5": null, - "sha256": "77171f6e279661f6244c9344d3b53cc5a3b8d332f197c06158e7081d51539a8a", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/req/req_tracker.py", - "size": 4690, - "sha1": null, - "md5": null, - "sha256": "a966a27a334aea8e9ca9ec9338818a214d42a32ad709caa0307622ddca9e94e0", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/req/req_uninstall.py", - "size": 23706, - "sha1": null, - "md5": null, - "sha256": "a293060c66fb65a162a6945b69aac96a58edce5d823599811845129d3b9b13e0", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/__init__.py", - "size": 0, - "sha1": null, - "md5": null, - "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/base.py", - "size": 682, - "sha1": null, - "md5": null, - "sha256": "c62ef6626212fa5123c8ad773cdff7aa4186b61038c86a0ad02eaa5b29f21eb1", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/legacy/__init__.py", - "size": 0, - "sha1": null, - "md5": null, - "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/legacy/resolver.py", - "size": 18755, - "sha1": null, - "md5": null, - "sha256": "77ea96e945316d9a8ac97997d9baa75b90bc52d9ced1972c42e2b0fd05ee6a57", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/resolvelib/__init__.py", - "size": 0, - "sha1": null, - "md5": null, - "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/resolvelib/base.py", - "size": 2342, - "sha1": null, - "md5": null, - "sha256": "9fc46295e6bd8c2ce195bb458892b00b021048f5b40138c42ac09cd15a66f3de", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/resolvelib/candidates.py", - "size": 20339, - "sha1": null, - "md5": null, - "sha256": "447a3dafd836e455b3b9f2aff774e2f674b886f00f52b8408d20cbec609914d4", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/resolvelib/factory.py", - "size": 17169, - "sha1": null, - "md5": null, - "sha256": "fbe6a162cafeafdcc885dc8927566e11381a42b5a23c8ab020b5a23039f52085", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/resolvelib/provider.py", - "size": 6134, - "sha1": null, - "md5": null, - "sha256": "04ff27874ed9d4595c4fe21ac3815b95133e0e351e524888b4a74a01161e33a3", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/resolvelib/requirements.py", - "size": 4511, - "sha1": null, - "md5": null, - "sha256": "946be81d1864bac45f6b3e1c171601a1036ac52e937ae3b72baf2a96e8ba83ed", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/resolvelib/resolver.py", - "size": 10149, - "sha1": null, - "md5": null, - "sha256": "908f20d0d565608b03311983a65590768c7a58efb41fb088db037ed62c6769ec", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/__init__.py", - "size": 0, - "sha1": null, - "md5": null, - "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/appdirs.py", - "size": 1349, - "sha1": null, - "md5": null, - "sha256": "459cd41be0648766fe9a25f40d2677bfbd37ffe6e02bebf43df5820a3c1513d8", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/compat.py", - "size": 8865, - "sha1": null, - "md5": null, - "sha256": "1a809250ca1499319e8398ab4062c367bbf5d80b3cef21eb3330571247be9e38", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/compatibility_tags.py", - "size": 5439, - "sha1": null, - "md5": null, - "sha256": "12d0498fea6cb63fd4d124d467c163946ed80d38ee459532e8663570cf3acaff", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/datetime.py", - "size": 295, - "sha1": null, - "md5": null, - "sha256": "28bfaf21d194f49229181e4d6249b05d6907f86ff69afbc0065991b68499b1aa", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/deprecation.py", - "size": 3318, - "sha1": null, - "md5": null, - "sha256": "a419cda20a00e14193c5afc90e73d7051458a4a31b1310215e9070030925381b", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/direct_url_helpers.py", - "size": 4359, - "sha1": null, - "md5": null, - "sha256": "6d90813703d05726696068d7fd57289af56f447bcac3ef49cc457e16dd3d2d07", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/distutils_args.py", - "size": 1350, - "sha1": null, - "md5": null, - "sha256": "6b9ea66e537193d04689f6e91044c6eb59a606baa18ed8d1909e07627fa83841", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/encoding.py", - "size": 1284, - "sha1": null, - "md5": null, - "sha256": "c070c9db9c824ff4f8c92b1c08bdcff7bf0ea4badf0c2a62b60f03eb82045cc6", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/entrypoints.py", - "size": 1152, - "sha1": null, - "md5": null, - "sha256": "bc770da6792c0afea69658a153a85f89f76c28f123c1c689d5a2c85c46b29da5", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/filesystem.py", - "size": 6943, - "sha1": null, - "md5": null, - "sha256": "f9f5375ed7820082707fff45bc2654eef872c2fb779ee7ff72a902770832d58f", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/filetypes.py", - "size": 571, - "sha1": null, - "md5": null, - "sha256": "476170ce8797edbfab6402ce5f1e5cb8ef153cf321510e277bbc26de7dc87160", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/glibc.py", - "size": 3297, - "sha1": null, - "md5": null, - "sha256": "2ce78d1a06b008a4bee247bd7e28bbf1fc170fbdddb4d6afdeec73d417fe01bf", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/hashes.py", - "size": 4358, - "sha1": null, - "md5": null, - "sha256": "c479aba8dc02d5e04dd2863447f4572c92d71af15da3983099bcffa5ab3de24f", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/inject_securetransport.py", - "size": 810, - "sha1": null, - "md5": null, - "sha256": "335ed9945558eba02981e01256328a2ca373d0b01f93e4b25341d9e1907a3262", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/logging.py", - "size": 13093, - "sha1": null, - "md5": null, - "sha256": "6087ee0d412499d9fd708450fc473cae05ecd66e673b00c40ad66a3380811f95", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/misc.py", - "size": 28001, - "sha1": null, - "md5": null, - "sha256": "41065630990a2800cf4964189abc256ac73c6f4dde09c8219f4c83369ad882b2", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/models.py", - "size": 1201, - "sha1": null, - "md5": null, - "sha256": "1ea88156d4db5bf6ff526be3d9f8e10d6387a3644a84fc12cf8880624419ebcf", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/packaging.py", - "size": 3035, - "sha1": null, - "md5": null, - "sha256": "56d8b070000becb062eed18bda37bb2de5b86c4d7528c1c60ac2753596395ed3", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/parallel.py", - "size": 3404, - "sha1": null, - "md5": null, - "sha256": "edacf769a4cc0a4aa968b15ba5860ebe4d2b8fb1eee581f534f5d7a26aa381fe", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/pkg_resources.py", - "size": 1254, - "sha1": null, - "md5": null, - "sha256": "657fa4ed5e6afda356c83b1ef769cdee8acdd5a0a944bb1ac73a64059d572b35", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/setuptools_build.py", - "size": 5058, - "sha1": null, - "md5": null, - "sha256": "1352acc08ef07cd9c20c4e51e86f1cf596c1c84369bbb36aa1c8d8dba3c2403c", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/subprocess.py", - "size": 9924, - "sha1": null, - "md5": null, - "sha256": "5243def3d81c8f104cc7bdeebada1e257803de4c1d94be983b5e819230dd5522", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/temp_dir.py", - "size": 8378, - "sha1": null, - "md5": null, - "sha256": "6e5986d2312f1207716d852dfd5d796e071320922bc59c00c3c4199424c96031", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/typing.py", - "size": 1401, - "sha1": null, - "md5": null, - "sha256": "c6463039e1e57f8cec1d70430b8df5d07b44ab08507185c53eada1df94dcae5d", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/unpacking.py", - "size": 9488, - "sha1": null, - "md5": null, - "sha256": "60501c921aaabe67a103c29a9f9bddddbd6437ff5369faa63a4e1bfb2cf87e1a", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/urls.py", - "size": 1527, - "sha1": null, - "md5": null, - "sha256": "ab6af0d643228a283f5d9728c894ac58c250a98c3edb0526acca124f89825bf2", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/virtualenv.py", - "size": 3706, - "sha1": null, - "md5": null, - "sha256": "7cd1ab469fbc42634be4ecd76a305dfb3ecf6f03acc755d8e86f8054c0217eca", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/wheel.py", - "size": 7303, - "sha1": null, - "md5": null, - "sha256": "c05ce7de1f06a98be0b3258f66d5329f445bdcc2739adc8fde8c0c3a12a798bd", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/vcs/__init__.py", - "size": 617, - "sha1": null, - "md5": null, - "sha256": "be2271251a9113f99549cba6f396e04085c077aa34a3316dd7c5690bea8826b3", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/vcs/bazaar.py", - "size": 3887, - "sha1": null, - "md5": null, - "sha256": "e6b451d36b836532dac504fe47939b77c1590ce3254a1a9876cfa9c1548926cf", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/vcs/git.py", - "size": 13985, - "sha1": null, - "md5": null, - "sha256": "92f07bdbdc2b298d0e58c4a0392d69525cb82e8b19a7cbadaddde4390b166a50", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/vcs/mercurial.py", - "size": 5162, - "sha1": null, - "md5": null, - "sha256": "173086998cd566f07ebf233bddf29c424d81e2330d5c69d7950d9b27b9e68253", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/vcs/subversion.py", - "size": 12399, - "sha1": null, - "md5": null, - "sha256": "ae575c9fd643b79b708cd3f3167fc52919f8a9d7e48e5c4730912c4763057e80", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/vcs/versioncontrol.py", - "size": 25966, - "sha1": null, - "md5": null, - "sha256": "5a9c5e4d10b4368181dae5c97667eae293f163ea7bb24d6b57f5a4c4cc60cd00", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/__init__.py", - "size": 4588, - "sha1": null, - "md5": null, - "sha256": "0acc67a583db8bfd9a82b0c8efd890ac299079945cc30205d02e9c9bfd51ca75", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/appdirs.py", - "size": 25907, - "sha1": null, - "md5": null, - "sha256": "33a218449b5d6609923c25c248c051074553dcff0c7456d60836d22eb07611b8", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/contextlib2.py", - "size": 16915, - "sha1": null, - "md5": null, - "sha256": "e478c67e5533c160147dc20b852982d86aafa1875967317355f203ced1e2814b", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distro.py", - "size": 43628, - "sha1": null, - "md5": null, - "sha256": "c713088766b72a68a9a5e5841f3ca74dd1d3dff8d9334a3ea68b3474058944e3", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/ipaddress.py", - "size": 79875, - "sha1": null, - "md5": null, - "sha256": "fb4466bab237d5780068ddb45828b4ceb72ea1ab7dd27340ef4ffac86971d8f5", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pyparsing.py", - "size": 273394, - "sha1": null, - "md5": null, - "sha256": "2756f8cf74bf2b0c895bb84a1a7a0dfa15d6f6980c23320fe904e1c98e7226ae", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/retrying.py", - "size": 9972, - "sha1": null, - "md5": null, - "sha256": "9377df95fe7f326d17708258841ed38f7e1ba8208f8540e461bc7536f5b614f1", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/six.py", - "size": 34159, - "sha1": null, - "md5": null, - "sha256": "53867fcafe77e16e423728d8f62f15d4e5d8d928c09f2f32d8be6f0cb8614e13", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/vendor.txt", - "size": 437, - "sha1": null, - "md5": null, - "sha256": "6d65226918cc261b94b2a1591c4264047ffa949fc0be5f5c3b2b33708ef8207b", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/__init__.py", - "size": 302, - "sha1": null, - "md5": null, - "sha256": "a49b40694c4eb0c3e7cad2350378ee009917603afc92b7529ec838620dce0448", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/_cmd.py", - "size": 1295, - "sha1": null, - "md5": null, - "sha256": "511184d0aac0f3b41e9021b74863dab6548f4f9ef57594c38cd6be6575f7a437", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/adapter.py", - "size": 4882, - "sha1": null, - "md5": null, - "sha256": "b12c1a49877ddc821f085538b4e3204a8e9bd8b0adfe0052690523f24b4914e0", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/cache.py", - "size": 805, - "sha1": null, - "md5": null, - "sha256": "d5f738c093fc1d8b75c9c9c95de130e690a97812f60aac71ea0f456f40180d64", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/compat.py", - "size": 695, - "sha1": null, - "md5": null, - "sha256": "90736f31176deacfd7c2aabff6a266afda2edf060c38c50cc4f3dcc0dc53f0c7", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/controller.py", - "size": 14149, - "sha1": null, - "md5": null, - "sha256": "096117de979d20cf6ceb4b2e7f8cd93ed9bf26f5609efa203062bf3a2046e45f", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/filewrapper.py", - "size": 2533, - "sha1": null, - "md5": null, - "sha256": "bc008a3bc2e5ceefd95b28d5d45c67d4c0384c653ad0de4ddc64ab0057406364", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/heuristics.py", - "size": 4070, - "sha1": null, - "md5": null, - "sha256": "045187277c90731bd98b37e8f742cb674e13fd9e574825ef168b6ba7b52cd2c7", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/serialize.py", - "size": 7091, - "sha1": null, - "md5": null, - "sha256": "bc86b88efab8c7f29238b74421e7689275f669760742e8cb0c5578f85db50e7a", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/wrapper.py", - "size": 690, - "sha1": null, - "md5": null, - "sha256": "e4b5f4b89c2435052d612130dda1a61aef5663cc068a977cd6627c946d1dd0ce", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/caches/__init__.py", - "size": 86, - "sha1": null, - "md5": null, - "sha256": "fa01cd298bda783d243a4e4cef878eaec4a020a52d0ba8ba19f6e6ba01b0784a", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/caches/file_cache.py", - "size": 4153, - "sha1": null, - "md5": null, - "sha256": "9d854ab09b5787a8095ef767d625b2ae1c6f930a50acaf9e2a8311cee8b090a9", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/caches/redis_cache.py", - "size": 856, - "sha1": null, - "md5": null, - "sha256": "1f17a5329342a3e758af67e2243c0cde1861466c5462d079b579b51a90004f86", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/certifi/__init__.py", - "size": 62, - "sha1": null, - "md5": null, - "sha256": "bb513f0eb4868ff9e71242b956096f12a3fc0fcd0aa6084b5562f403fa6ae350", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/certifi/__main__.py", - "size": 255, - "sha1": null, - "md5": null, - "sha256": "d64dc2afde6f0b1c464460e58eb5b7c0c76965d2f73617f4bb59fe936a9db026", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/certifi/cacert.pem", - "size": 282394, - "sha1": null, - "md5": null, - "sha256": "1a14f6e1fd11efff72e1863f8645f090eec1b616614460c210c3b7e3c13d4b5e", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/certifi/core.py", - "size": 2315, - "sha1": null, - "md5": null, - "sha256": "8c1af02845a91b420a72ea332b4050d871c6a7c69d5c03b204f0bb75d811eaf3", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/__init__.py", - "size": 1559, - "sha1": null, - "md5": null, - "sha256": "62c3f9c1096c1c9d9ab85d516497f2a624ab080eff6d08919b7112fcd23bebe6", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/big5freq.py", - "size": 31254, - "sha1": null, - "md5": null, - "sha256": "0ffccae46cb3a15b117acd0790b2738a5b45417d1b2822ceac57bdff10ef3bff", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/big5prober.py", - "size": 1757, - "sha1": null, - "md5": null, - "sha256": "901c476dd7ad0693deef1ae56fe7bdf748a8b7ae20fde1922dddf6941eff8773", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/chardistribution.py", - "size": 9411, - "sha1": null, - "md5": null, - "sha256": "df0a164bad8aac6a282b2ab3e334129e315b2696ba57b834d9d68089b4f0725f", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/charsetgroupprober.py", - "size": 3787, - "sha1": null, - "md5": null, - "sha256": "e9b0eef1822246e49c5f871af4881bd14ebd4c0d8f1975c37a3e82738ffd90ee", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/charsetprober.py", - "size": 5110, - "sha1": null, - "md5": null, - "sha256": "2929b0244ae3ca9ca3d1b459982e45e5e33b73c61080b6088d95e29ed64db2d8", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/codingstatemachine.py", - "size": 3590, - "sha1": null, - "md5": null, - "sha256": "558a7fe9ccb2922e6c1e05c34999d75b8ab5a1e94773772ef40c904d7eeeba0f", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/compat.py", - "size": 1134, - "sha1": null, - "md5": null, - "sha256": "3ca4f31e449bb5b1c3a92f4fcae8cc6d7ef8ab56bc98ca5e4130d5b10859311c", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/cp949prober.py", - "size": 1855, - "sha1": null, - "md5": null, - "sha256": "4d9e37e105fccf306c9d4bcbffcc26e004154d9d9992a10440bfe5370f5ff68c", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/enums.py", - "size": 1661, - "sha1": null, - "md5": null, - "sha256": "0229b075bf5ab357492996853541f63a158854155de9990927f58ae6c358f1c5", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/escprober.py", - "size": 3950, - "sha1": null, - "md5": null, - "sha256": "924caa560d58c370c8380309d9b765c9081415086e1c05bc7541ac913a0d5927", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/escsm.py", - "size": 10510, - "sha1": null, - "md5": null, - "sha256": "46e5e580dbd32036ab9ddbe594d0a4e56641229742c50d2471df4402ec5487ce", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/eucjpprober.py", - "size": 3749, - "sha1": null, - "md5": null, - "sha256": "883f09769d084918e08e254dedfd1ef3119e409e46336a1e675740f276d2794c", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/euckrfreq.py", - "size": 13546, - "sha1": null, - "md5": null, - "sha256": "fbb19d9af8167b3e3e78ee12b97a5aeed0620e2e6f45743c5af74503355a49fa", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/euckrprober.py", - "size": 1748, - "sha1": null, - "md5": null, - "sha256": "32a14c4d05f15b81dbcc8a59f652831c1dc637c48fe328877a74e67fc83f3f16", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/euctwfreq.py", - "size": 31621, - "sha1": null, - "md5": null, - "sha256": "368d56c9db853a00795484d403b3cbc82e6825137347231b07168a235975e8c0", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/euctwprober.py", - "size": 1747, - "sha1": null, - "md5": null, - "sha256": "d77a7a10fe3245ac6a9cfe221edc47389e91db3c47ab5fe6f214d18f3559f797", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/gb2312freq.py", - "size": 20715, - "sha1": null, - "md5": null, - "sha256": "257f25b3078a2e69c2c2693c507110b0b824affacffe411bbe2bc2e2a3ceae57", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/gb2312prober.py", - "size": 1754, - "sha1": null, - "md5": null, - "sha256": "806bc85a2f568438c4fb14171ef348cab9cbbc46cc01883251267ae4751fca5c", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/hebrewprober.py", - "size": 13838, - "sha1": null, - "md5": null, - "sha256": "737499f8aee1bf2cc663a251019c4983027fb144bd93459892f318d34601605a", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/jisfreq.py", - "size": 25777, - "sha1": null, - "md5": null, - "sha256": "be9989bf606ed09f209cc5513c730579f4d1be8fe16b59abc8b8a0f0207080e8", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/jpcntx.py", - "size": 19643, - "sha1": null, - "md5": null, - "sha256": "3d894da915104fc2ccddc4f91661c63f48a2b1c1654d6103f763002ef06e9e0a", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/langbulgarianmodel.py", - "size": 12839, - "sha1": null, - "md5": null, - "sha256": "d47a904bd3dbb678f5c508318ad24cbf0f17ea42abe4ea1c90d09959f110acf1", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/langcyrillicmodel.py", - "size": 17948, - "sha1": null, - "md5": null, - "sha256": "2ce0da8efb1eb47f3bc980c340a0360942d7507f3bb48db6ddd85f8e1f59c7d7", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/langgreekmodel.py", - "size": 12688, - "sha1": null, - "md5": null, - "sha256": "f18016edb53c6304896a9d2420949b3ccc35044ab31a35b3a9ca9fd168142800", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/langhebrewmodel.py", - "size": 11345, - "sha1": null, - "md5": null, - "sha256": "2529ea984e44eb6b432d33d3bcba50b20e6038c3b83db75646f57b02f91cd070", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/langhungarianmodel.py", - "size": 12592, - "sha1": null, - "md5": null, - "sha256": "4616a96121b997465a3be555e056a7e6c5b4591190aa1c0133ad72c77cb1c8e0", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/langthaimodel.py", - "size": 11290, - "sha1": null, - "md5": null, - "sha256": "f25d35ef71aefd6e86f26c6640e4c417896cd98744ec5c567f74244b11065c94", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/langturkishmodel.py", - "size": 11102, - "sha1": null, - "md5": null, - "sha256": "5b6d9e44d26ca88eae5807f05d22955969c27ab62aac8f1d6504e6fccd254459", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/latin1prober.py", - "size": 5370, - "sha1": null, - "md5": null, - "sha256": "4b6228391845937f451053a54855ad815c9b4623fa87b0652e574755c94d914f", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/mbcharsetprober.py", - "size": 3413, - "sha1": null, - "md5": null, - "sha256": "011f797851fdbeea927ef2d064df8be628de6b6e4d3810a85eac3cb393bdc4b4", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/mbcsgroupprober.py", - "size": 2012, - "sha1": null, - "md5": null, - "sha256": "87a4d19e762ad8ec46d56743e493b2c5c755a67edd1b4abebc1f275abe666e1e", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/mbcssm.py", - "size": 25481, - "sha1": null, - "md5": null, - "sha256": "498df6c15205dc7cdc8d8dc1684b29cbd99eb5b3522b120807444a3e7eed8e92", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/sbcharsetprober.py", - "size": 5657, - "sha1": null, - "md5": null, - "sha256": "2c34a90a5743085958c149069300f6a05c4b94f5885974f4f5a907ff63e263be", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/sbcsgroupprober.py", - "size": 3546, - "sha1": null, - "md5": null, - "sha256": "d48a6b70207f935a9f9a7c460ba3016f110b94aa83dec716e92f1823075ec970", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/sjisprober.py", - "size": 3774, - "sha1": null, - "md5": null, - "sha256": "208b7e9598f4589a8ae2b9946732993f8189944f0a504b45615b98f7a7a4e4c4", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/universaldetector.py", - "size": 12485, - "sha1": null, - "md5": null, - "sha256": "a8bd35ef8952644e38d9e076d679e4b53f7f55c0327b4ee5685594794ae3b6d6", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/utf8prober.py", - "size": 2766, - "sha1": null, - "md5": null, - "sha256": "21d0fcbf7cd63ac07c38b8b23e2fb2fdfab08a9445c55f4d73578a04b4ae204c", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/version.py", - "size": 242, - "sha1": null, - "md5": null, - "sha256": "b29dc1d3c9ab0d707ea5fdcaf5fa89ff37831ce08b0bc46b9e04320c56a9ffb8", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/cli/__init__.py", - "size": 1, - "sha1": null, - "md5": null, - "sha256": "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/cli/chardetect.py", - "size": 2774, - "sha1": null, - "md5": null, - "sha256": "0c8f1d955dc5043d1cd1703fcb7b10efccfbe780d4bf527c9f7e11b438ce5cdc", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/colorama/__init__.py", - "size": 239, - "sha1": null, - "md5": null, - "sha256": "0ea8d71fd51154fdc827098cb7ba5e630e749ecd51340ca6201f7e5dd3c4155f", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/colorama/ansi.py", - "size": 2524, - "sha1": null, - "md5": null, - "sha256": "162d2e9fe40ba919bebfba3f9ca88eab20bc3daa4124aec32d5feaf4b2ad4ced", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/colorama/ansitowin32.py", - "size": 10462, - "sha1": null, - "md5": null, - "sha256": "bbc41aa9da92ff16127cd90f33579124b1f3e893163e875a25a3f49b18070837", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/colorama/initialise.py", - "size": 1915, - "sha1": null, - "md5": null, - "sha256": "3e9ae8bc3371313aefa0d1c570bd8d663a47d97cc373c04bc4bc6212b7d49789", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/colorama/win32.py", - "size": 5404, - "sha1": null, - "md5": null, - "sha256": "6c9f0897d8f0681379049f1b98de85a18675418b8c2afda3f1f1ab5e1ed3263c", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/colorama/winterm.py", - "size": 6438, - "sha1": null, - "md5": null, - "sha256": "db2ff66fb66cbf7e1f780b0febb98b39573e060ab9d667581a8e7bd55a6b96b3", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/__init__.py", - "size": 581, - "sha1": null, - "md5": null, - "sha256": "def780936acfce7381da0b0aead8db6e1d1340c9861393fcd9e13dc17aba3489", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/compat.py", - "size": 41408, - "sha1": null, - "md5": null, - "sha256": "003039eb1880c5aaf7994eaa7a694184d6ecac53e8b174613b8e11cec6c93ea9", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/database.py", - "size": 51059, - "sha1": null, - "md5": null, - "sha256": "2a5d18bcf40a73839ca558bb939705ce2c9d335c4e2bc8aa7712c65e06d91d5e", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/index.py", - "size": 21066, - "sha1": null, - "md5": null, - "sha256": "4972b3a5008445cb71603329fce2de7b67f42747b5f5984674222832551f5103", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/locators.py", - "size": 52100, - "sha1": null, - "md5": null, - "sha256": "73d13870311a709fee29bb84e41a805687285a9eabb2e0464e488d0d0ab7cd5e", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/manifest.py", - "size": 14811, - "sha1": null, - "md5": null, - "sha256": "9d0121626828ade681673c85cf062c5f124046eddfa38124ba7535eb7535ea21", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/markers.py", - "size": 4387, - "sha1": null, - "md5": null, - "sha256": "e807377027c504445ec621125883979a0f9aa483fc9767ac69f3525f728ccbef", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/metadata.py", - "size": 38962, - "sha1": null, - "md5": null, - "sha256": "cf628fcb7877b5c0e76fd5ecee702a4393b3d1baa358050598a59c14a468a1d8", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/resources.py", - "size": 10766, - "sha1": null, - "md5": null, - "sha256": "d851afd191c5d782978cb2252f447df7597241019c7b0392e2627ee67f895677", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/scripts.py", - "size": 17180, - "sha1": null, - "md5": null, - "sha256": "fcc023dec32ebf9ea4b8cf05b222165ea6d3d209ae98f19a391fdab4ece7e1ae", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/t32.exe", - "size": 96768, - "sha1": null, - "md5": null, - "sha256": "352df104254095ddf925514d99bfb5411c95b5386e90caf06557979f82e16844", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/t64.exe", - "size": 105984, - "sha1": null, - "md5": null, - "sha256": "a00a877acefcad45953343ad56a22152f7aaba5fcf2a10215d84169d47fbcd1d", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/util.py", - "size": 59845, - "sha1": null, - "md5": null, - "sha256": "7f68d908fadc2c2b7a2dc9c2d20532f85babeb4b570fcade03b938ac3a47303c", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/version.py", - "size": 23391, - "sha1": null, - "md5": null, - "sha256": "fe7ec5ea3baf40601c9fbebd13f4876bb7ce71fe44465115ca627f1233d1c06c", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/w32.exe", - "size": 90112, - "sha1": null, - "md5": null, - "sha256": "949b6765d794c53656c9afc45b90d9a2cfcae6bb30444086b29225f19242217b", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/w64.exe", - "size": 99840, - "sha1": null, - "md5": null, - "sha256": "d1a473a0dd813bd3565b810dcb8ff8bc7907478a994c564d55200925894e0d32", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/wheel.py", - "size": 41144, - "sha1": null, - "md5": null, - "sha256": "bfa0e7c13aa1347c2b11516bf3f61e8935ba1b87ed3ff7afb32c0d82b99d6f6a", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/_backport/__init__.py", - "size": 274, - "sha1": null, - "md5": null, - "sha256": "6ea4bf753387eae5bd88681dd2ecdfa4f8e8eaf678c693d9ee4c9f649daf35ac", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/_backport/misc.py", - "size": 971, - "sha1": null, - "md5": null, - "sha256": "29679c20d75b14d3b148e3f57c617af340899da0ba4b87c146012d6984f0d228", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/_backport/shutil.py", - "size": 25707, - "sha1": null, - "md5": null, - "sha256": "217fc6d8d3eac1e70989b9080e37b4e1baaed31a4791f490d8668674456a3396", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/_backport/sysconfig.cfg", - "size": 2617, - "sha1": null, - "md5": null, - "sha256": "b3064ac6af516397bdaf73d70ab96f40f32cbce7625990531cb11ba92f0b24b5", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/_backport/sysconfig.py", - "size": 26854, - "sha1": null, - "md5": null, - "sha256": "0501c595bea9b9b0a5fddbd3d4d8edcc8b61ca5a1f8ca8aca31db7f6cb438345", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/_backport/tarfile.py", - "size": 92628, - "sha1": null, - "md5": null, - "sha256": "221a7bad745c8db20ac3c08e9bdc1278f57d0111976d217d8065c0327d90f8a5", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/__init__.py", - "size": 1160, - "sha1": null, - "md5": null, - "sha256": "058cdc282a9e1228b9db10eba8116bba19e6b66922b875c5c8587e720950f269", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/_ihatexml.py", - "size": 16728, - "sha1": null, - "md5": null, - "sha256": "89f3b017ba57aa6c938485dcddba1673deace0c0decea46b455a7b1700d8505b", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/_inputstream.py", - "size": 32353, - "sha1": null, - "md5": null, - "sha256": "8c4acd012325920b3b32938cf557bf55d2c3272145c1e0232ee855bad673df75", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/_tokenizer.py", - "size": 77040, - "sha1": null, - "md5": null, - "sha256": "d389a0036b0d4e78aeb65d9fc45bfe7a2e5b9ece2245a3f15575c787f1eb57fe", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/_utils.py", - "size": 4931, - "sha1": null, - "md5": null, - "sha256": "0f1f402a7b64b118c54f5bde063ec8dfada97f93a021a4f4ce0970ab8dd19df5", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/constants.py", - "size": 83464, - "sha1": null, - "md5": null, - "sha256": "2e5fb2ccb53f8dc8f2008fe1e7bce4a99eda416139b79c40e32fe3420a14521c", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/html5parser.py", - "size": 117186, - "sha1": null, - "md5": null, - "sha256": "6a7afe697adefc899fae4437e5cfeb7ed297c42f34bc909110a7b4e93ab5e470", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/serializer.py", - "size": 15759, - "sha1": null, - "md5": null, - "sha256": "fcfa6f719174edcc04ef1afdb8a919aa1e5fe1411a23c96d094db13c9cda4e99", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/_trie/__init__.py", - "size": 109, - "sha1": null, - "md5": null, - "sha256": "9ea7e03bdd74df6f411152794f8a6c57042d8ddda2272117436f97f1cd58c705", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/_trie/_base.py", - "size": 1013, - "sha1": null, - "md5": null, - "sha256": "09ac9b63232ba3cb844506236f2dad4de4946ad9d60df5aba1437d37b7adcb9c", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/_trie/py.py", - "size": 1775, - "sha1": null, - "md5": null, - "sha256": "c179902eb6517f833258dca0d26de1f359bd22784b47b189d34da6208661fbca", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/filters/__init__.py", - "size": 0, - "sha1": null, - "md5": null, - "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/filters/alphabeticalattributes.py", - "size": 919, - "sha1": null, - "md5": null, - "sha256": "95589973624c09c9578bfe6076ebe6773ad1c6d3b95e8f4e3676c70550acca45", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/filters/base.py", - "size": 286, - "sha1": null, - "md5": null, - "sha256": "cfe214f590188e9b15b2a995b7b92e582eb78d1d7584332be8256bbee6a8f16d", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/filters/inject_meta_charset.py", - "size": 2945, - "sha1": null, - "md5": null, - "sha256": "7a00d75041d79801bde74e31cf42ba00b0e0624bd4ac2daad7961455e3655508", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/filters/lint.py", - "size": 3643, - "sha1": null, - "md5": null, - "sha256": "8e4eaae7ac58d288e261fbe974ff8e6529bd793a9c01d46a842a0f22d7a63d80", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/filters/optionaltags.py", - "size": 10588, - "sha1": null, - "md5": null, - "sha256": "f25593ef927468138798f81f9aa4c749f3e93cca74d53f3834abb409179dc5c1", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/filters/sanitizer.py", - "size": 26897, - "sha1": null, - "md5": null, - "sha256": "9baa069a40619060279f69d5e83e2113bf12099e961272bdaca759077b970487", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/filters/whitespace.py", - "size": 1214, - "sha1": null, - "md5": null, - "sha256": "f1e5aa671778502e33945196ea2c98e9ffb6bae4fca4e09200b737219b7bfede", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treeadapters/__init__.py", - "size": 679, - "sha1": null, - "md5": null, - "sha256": "034ad8e605c87b86c93a248644efe3fed1619e04413bc4193f33ed3f0e5d173a", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treeadapters/genshi.py", - "size": 1715, - "sha1": null, - "md5": null, - "sha256": "087dbba40b032a6bb864690052bc2dcbbbb429ab862c26512cf33368edcce6fa", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treeadapters/sax.py", - "size": 1776, - "sha1": null, - "md5": null, - "sha256": "04a4bcc284139ca8aa79f7c7b310a152a2f8ab6651ff06f97dcf4c277cd00bcb", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treebuilders/__init__.py", - "size": 3592, - "sha1": null, - "md5": null, - "sha256": "032b12272bcf7e290230cb1356f6b1c2480389e10b0f975f47c149200baaee16", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treebuilders/base.py", - "size": 14565, - "sha1": null, - "md5": null, - "sha256": "cfea39d6fb7daff9762031b9222a1338a1b36677b8172dff15cfbbcedace8782", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treebuilders/dom.py", - "size": 8925, - "sha1": null, - "md5": null, - "sha256": "db6c216f40bbd735c8b1a8b999a9a0eaacc11228a070122f683cb802cc376add", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treebuilders/etree.py", - "size": 12836, - "sha1": null, - "md5": null, - "sha256": "c39645a4a93a6c0c67af00f6fc1ac5e44542eefcf3d0bdcb322f52c6b6dcffcc", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treebuilders/etree_lxml.py", - "size": 14766, - "sha1": null, - "md5": null, - "sha256": "f60a838ecf88c6c3e10586b9729befd85675299946f371a2baccb69459af2241", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treewalkers/__init__.py", - "size": 5719, - "sha1": null, - "md5": null, - "sha256": "3813ed7354d4e661b2cb5f100ccc4a132604cf4c3115450d8f9bf4f978266216", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treewalkers/base.py", - "size": 7476, - "sha1": null, - "md5": null, - "sha256": "a2e88eb2e4b3bc8d0a8337563fc3e5c4869236cf5f6a585b8a29c011cfd42096", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treewalkers/dom.py", - "size": 1413, - "sha1": null, - "md5": null, - "sha256": "107c8547c0fc958367c8353d971fc82a2815251c9e7141ae6b498e8bb1c1ba47", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treewalkers/etree.py", - "size": 4551, - "sha1": null, - "md5": null, - "sha256": "c68d4be66f55b647e91492b4a459a42d56a386a618562b15667de4f646293e42", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treewalkers/etree_lxml.py", - "size": 6357, - "sha1": null, - "md5": null, - "sha256": "fdbd0b01558b715bbd59a53ffb0dc3f1fd08452a426e37faebb57edcd45d853c", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treewalkers/genshi.py", - "size": 2309, - "sha1": null, - "md5": null, - "sha256": "e03d8f1026799f764ddeabb78cc97dc98ec1f358e7400a414125657da22e61b0", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/idna/__init__.py", - "size": 58, - "sha1": null, - "md5": null, - "sha256": "f4db7bc69c9eb770e63ab3d41a8a03740c261d966ed6a500cb611a27dde41a24", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/idna/codec.py", - "size": 3299, - "sha1": null, - "md5": null, - "sha256": "96f61bef2bbb3e102a15a00801d59cc2069623652682c794b9afb573402c1b40", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/idna/compat.py", - "size": 232, - "sha1": null, - "md5": null, - "sha256": "47e876f43fba9ab9c9cdb5f1ca6ad6516ee2654bf2fb6e934306748a3e7b8b85", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/idna/core.py", - "size": 11951, - "sha1": null, - "md5": null, - "sha256": "8c2a1a2dbddb036b52fc30f1f4fa46b8d4c46593768c0cc1dfaf5a3fe2076111", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/idna/idnadata.py", - "size": 42350, - "sha1": null, - "md5": null, - "sha256": "826cc5c195a3766b3790a67f33fbf0cfbf8b3ff4828187d2784d37076d50a6c9", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/idna/intranges.py", - "size": 1749, - "sha1": null, - "md5": null, - "sha256": "4d8d65a7164841610fead36a8d9905039860a0c58e8f53819a7506f22853f3b1", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/idna/package_data.py", - "size": 22, - "sha1": null, - "md5": null, - "sha256": "6f1063a4b9c4d3aff58d260a132e6cbce32ed7333738cced5d551bd6d3e5729d", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/idna/uts46data.py", - "size": 202084, - "sha1": null, - "md5": null, - "sha256": "94c770db3763907d495165cf3c47c5512613dc5ca3eb46c199f2efbf2e66ee4a", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/msgpack/__init__.py", - "size": 1118, - "sha1": null, - "md5": null, - "sha256": "da027072c4c8680b4233418c8b6ad4fbf63a9082de790baa464ad0db68d200d7", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/msgpack/_version.py", - "size": 20, - "sha1": null, - "md5": null, - "sha256": "86eee5ce667f0a539a38e991b166f8c689a1cd0e1422c2ecbeff0a63a532b071", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/msgpack/exceptions.py", - "size": 1081, - "sha1": null, - "md5": null, - "sha256": "7424d67a2f1da64accb100dc8d093be004e5f47b08047d326edf3338f36a3187", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/msgpack/ext.py", - "size": 6034, - "sha1": null, - "md5": null, - "sha256": "9d5d7d07313d05ef12247af1c5824715bbc41c969770fddabd1907569e70a2f3", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/msgpack/fallback.py", - "size": 37133, - "sha1": null, - "md5": null, - "sha256": "67c5778985143ea295cb85964e4eb856adc6d0fca54083a6956be09cc86691d5", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/__about__.py", - "size": 736, - "sha1": null, - "md5": null, - "sha256": "3cd32c6999f851c087cae6e044e1f56e5e8296e76e3e3239905ad2a7f660925a", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/__init__.py", - "size": 562, - "sha1": null, - "md5": null, - "sha256": "e9e9dba795e045f8c18ec23df9b9f4d078c77f94c7db53c330e2a4256f31c3ec", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/_compat.py", - "size": 1128, - "sha1": null, - "md5": null, - "sha256": "31776c1a9484fd6f99ac7a02f3b6a7748e0b576140c14ec72cbf9e1defc28e15", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/_structures.py", - "size": 2022, - "sha1": null, - "md5": null, - "sha256": "a339025fc43c7f6a84d4489cdd8890e1bb8355f833da261ebd8f5eed1db2de26", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/_typing.py", - "size": 1824, - "sha1": null, - "md5": null, - "sha256": "560034000bec73deca0799c5f3dce8b9d3b208c12c57b165697cd96d8a849330", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/markers.py", - "size": 9491, - "sha1": null, - "md5": null, - "sha256": "57f45da10a8e51b49fcbbcbda36bd193b064cc0877ca7782f3672e5a92aba8e8", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/requirements.py", - "size": 4903, - "sha1": null, - "md5": null, - "sha256": "17dde1927ee2f0d29164ff85b5d4c8961cf53d4b118e17ba7916ec0575f4521e", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/specifiers.py", - "size": 31944, - "sha1": null, - "md5": null, - "sha256": "b98a7d975dc5d0b7249d2e9de0deb4cad88180598884a89d78eabd027b314dca", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/tags.py", - "size": 24067, - "sha1": null, - "md5": null, - "sha256": "34a312dfb668fe75ab67182c0facdb5ec5e073d79d9fd9b5eb470188b98725d1", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/utils.py", - "size": 1811, - "sha1": null, - "md5": null, - "sha256": "452865be78ced82b58483f2eae2df67eb30c14c4e607ede286cab5fa08732c4c", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/version.py", - "size": 15470, - "sha1": null, - "md5": null, - "sha256": "0a76e6f8e3bd0ffa9df194c5c7315c8d26af7b14981599b279aa0fbccb2380f7", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pep517/__init__.py", - "size": 84, - "sha1": null, - "md5": null, - "sha256": "af9b80d74e8d1896b7b25b29683da6df6685a45522657fa667dbc89730043a9e", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pep517/_in_process.py", - "size": 8438, - "sha1": null, - "md5": null, - "sha256": "5eb28e4d44497626b947b8b78bf390992f3d2c04855c4dc74177d7eb7a990481", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pep517/build.py", - "size": 3335, - "sha1": null, - "md5": null, - "sha256": "0cde28bb28ff6ddd3492738aaafd0a1d1b4dd3e25ecc9a0d3594267038b88ee9", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pep517/check.py", - "size": 5961, - "sha1": null, - "md5": null, - "sha256": "62868d137a68246a73f7a6e2542630b5c0ec8701061361d153928ac9af727e96", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pep517/colorlog.py", - "size": 4098, - "sha1": null, - "md5": null, - "sha256": "4e4f40b989bf70b17704a4c1a124c9b7d6d1af29f4685a232103b06df5544f14", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pep517/compat.py", - "size": 780, - "sha1": null, - "md5": null, - "sha256": "33ee6ce15369f2b8f24fbe9967f89b9cf0f8e03615cd2425c821076b28ed0cfc", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pep517/dirtools.py", - "size": 1129, - "sha1": null, - "md5": null, - "sha256": "da69009002f4991cff7a56058d12ae7a44c9562a47d734e7e2d6dfd440debfce", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pep517/envbuild.py", - "size": 6041, - "sha1": null, - "md5": null, - "sha256": "b332941653b9d17d5a8507d7c33e210fd576544fdbcfd30b54f21e89db05a38c", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pep517/meta.py", - "size": 2463, - "sha1": null, - "md5": null, - "sha256": "f269cce650e74f8cd742905396225b4467deb07ee28a81f0a336c3c402cf4bd6", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pep517/wrappers.py", - "size": 10783, - "sha1": null, - "md5": null, - "sha256": "c855382e9ed32186e6b9539363ea579e5c8667717f82b222f8994b92918df069", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pkg_resources/__init__.py", - "size": 108277, - "sha1": null, - "md5": null, - "sha256": "5e91817ef4bd7da7c0e9b9b9af1eef9f1771b3bcaaca873f367a73280a6427ae", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pkg_resources/py31compat.py", - "size": 562, - "sha1": null, - "md5": null, - "sha256": "09193c7e488f4432ec6e2e6965c2ac1c8fff3db9a1ffde0bf26afd432f406f65", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/progress/__init__.py", - "size": 4857, - "sha1": null, - "md5": null, - "sha256": "7dc6d0417a399e9d82a10ca1487e57a6b9227302d934b78f477b886a1ce748ed", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/progress/bar.py", - "size": 2854, - "sha1": null, - "md5": null, - "sha256": "42e0ee54d7265e0a71b4db713b416aef6c4a8a0c4005a566c58181c3827767f1", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/progress/counter.py", - "size": 1372, - "sha1": null, - "md5": null, - "sha256": "3339f206bbcf5ab3a519ee0c64094651bf6adda3837bafda35878013f54da180", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/progress/spinner.py", - "size": 1380, - "sha1": null, - "md5": null, - "sha256": "93c25b0d6f784f4f965ee5dfc5920585da0d3d8a778df9e95ea0677d1bf97c6b", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/__init__.py", - "size": 4465, - "sha1": null, - "md5": null, - "sha256": "a2bcefe3ed6e7a3303736bf72e74d59de20d1978b0a9749fac04a8141b186e51", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/__version__.py", - "size": 441, - "sha1": null, - "md5": null, - "sha256": "5f0932d453253242491a2741339d090bb14a728b16ce48c85be5a1406ac17453", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/_internal_utils.py", - "size": 1096, - "sha1": null, - "md5": null, - "sha256": "671dcf9c451c7327ec07e89ed759d95405bca82949cb4831d6a34c13bae04f5f", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/adapters.py", - "size": 21548, - "sha1": null, - "md5": null, - "sha256": "7be6e6284029355a85772971b8c2497e2687765992ff3856848304ce51ef1ae7", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/api.py", - "size": 6496, - "sha1": null, - "md5": null, - "sha256": "3e51ccf874f73d0e65cae7e8786995fa7271462ed49d4c86561ece57b07d5d5e", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/auth.py", - "size": 10207, - "sha1": null, - "md5": null, - "sha256": "38ca092152b244bcbd4c7afdd72f2bc72b19b9c9703c1f8ad57835cc1a265214", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/certs.py", - "size": 465, - "sha1": null, - "md5": null, - "sha256": "9d7455abd0ed1a6bffd4061bc234eef54ae001c749bf4e59be435e6a82ce6716", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/compat.py", - "size": 2045, - "sha1": null, - "md5": null, - "sha256": "2d05ae091e2a5e4eb0efea90a295f2cf458d1d47400f8d24d262a768011fd7e8", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/cookies.py", - "size": 18430, - "sha1": null, - "md5": null, - "sha256": "63e6ca5fa4ef5b716762513a02ed125ed55559c68d745bee030431c3e1b48932", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/exceptions.py", - "size": 3173, - "sha1": null, - "md5": null, - "sha256": "77d7c9270f1814107d5731bdaa1bf12ee3b1e9b7b773f0f06dc93e75550401cb", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/help.py", - "size": 3578, - "sha1": null, - "md5": null, - "sha256": "4893d57285dea3b29f2b803124de5e1554028ebd229bceed5369fbb9b2ec92c5", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/hooks.py", - "size": 757, - "sha1": null, - "md5": null, - "sha256": "411786cb2d1b45caf9ae4c02b8e6cd6a46d8b1cec492229e0701b8a877a4af64", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/models.py", - "size": 34287, - "sha1": null, - "md5": null, - "sha256": "fed2886ebb1c6c6bda4dd5f55070b045a89898f17d54122e05ec9daf8431d538", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/packages.py", - "size": 695, - "sha1": null, - "md5": null, - "sha256": "9e32665627d8e1a49cb6e5b73cfe441510b18c4c0c4433ba27f7de1b674a5ac2", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/sessions.py", - "size": 29316, - "sha1": null, - "md5": null, - "sha256": "381b7042cd6f8e4075c5a985762fe9e72f0155e5f5e8126841cc12c31fd8ddf2", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/status_codes.py", - "size": 4188, - "sha1": null, - "md5": null, - "sha256": "813efd3dbb3f7108c1829f9fbeb520835767d8340edf66c38f84c89e39cc3d27", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/structures.py", - "size": 3005, - "sha1": null, - "md5": null, - "sha256": "9ac02dafd9aad49c4777e251ca220b7dd165a5b270bef16e3f7adf5104ff4311", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/utils.py", - "size": 30176, - "sha1": null, - "md5": null, - "sha256": "541b3df5cbd5f19dbd5865de599a87cd9f34fe7bb5030c2363325f7b4c1022fb", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/resolvelib/__init__.py", - "size": 537, - "sha1": null, - "md5": null, - "sha256": "b2a30ecb809b549422686f5b08f8f4a009ed180572f9159d3df55a0bd5c32044", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/resolvelib/providers.py", - "size": 4547, - "sha1": null, - "md5": null, - "sha256": "4d90c298bf8873e47925121963c1b814b1b9c41db7e370740dfb8aedac3662ac", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/resolvelib/reporters.py", - "size": 1405, - "sha1": null, - "md5": null, - "sha256": "64f4899d57caf16bd74db5fc8c4d0dade9f4fbf1e0f729b87a90943ed53c6345", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/resolvelib/resolvers.py", - "size": 15018, - "sha1": null, - "md5": null, - "sha256": "9504c671cfb67e01db99d88bcde34353156619ce591639002fa26b56a9ea248c", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/resolvelib/structs.py", - "size": 2016, - "sha1": null, - "md5": null, - "sha256": "cab76177e9fb0deadc8a63c67255dedb4ae0aa1971c3c3e7c42d3099c5ced7d6", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/resolvelib/compat/__init__.py", - "size": 0, - "sha1": null, - "md5": null, - "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/resolvelib/compat/collections_abc.py", - "size": 127, - "sha1": null, - "md5": null, - "sha256": "9ad4e4a6bdc67f7386bd4d4f0fc62ebeb2518556e2a3157cd93fa78853e85f7a", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/toml/__init__.py", - "size": 747, - "sha1": null, - "md5": null, - "sha256": "ac9d69bbddf71e052dc9e78d8aeb283dde6324e3cd85a2878524a5777a3c010a", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/toml/common.py", - "size": 242, - "sha1": null, - "md5": null, - "sha256": "56205c70076e3fa79934901bd4f3a14618ce022e7a4c3b0d8162754e381702e8", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/toml/decoder.py", - "size": 38696, - "sha1": null, - "md5": null, - "sha256": "6ada579b2142ccd1a2aa191c60bc9206e25090f7921c3cc1cf8eec11a5f56a6c", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/toml/encoder.py", - "size": 9955, - "sha1": null, - "md5": null, - "sha256": "7cfa8bc8574f01a9b5ed7f5210bcf64cca7d69f7e47c70a681667144a726ce16", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/toml/ordered.py", - "size": 378, - "sha1": null, - "md5": null, - "sha256": "516b791246bdd0859505876f2e06393d79e405c558a478e7c3d4faeeb33ce53f", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/toml/tz.py", - "size": 618, - "sha1": null, - "md5": null, - "sha256": "0eb020237c19c5988670bb95fe5f2e780fe73eb628c50de1640f6d2528d646c4", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/__init__.py", - "size": 2683, - "sha1": null, - "md5": null, - "sha256": "add15908ed4bedef3ceb5653be8f008922b0c427bd4a7590510c09e7df5857d7", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/_collections.py", - "size": 10792, - "sha1": null, - "md5": null, - "sha256": "1a8b95b0dcf083a8c00d94e68a6308ea8aa6c0a4acc27328f5d879b4635558ee", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/connection.py", - "size": 14461, - "sha1": null, - "md5": null, - "sha256": "1659fc6bf6e47a074d32416848ec322343c9bcbd4eab35543ba89f8a128e4e97", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/connectionpool.py", - "size": 35725, - "sha1": null, - "md5": null, - "sha256": "7a075a5fe0dbfcb55789f0f1bf7258d1d1c8a50a83bf4c02d3ff447a1f0590f3", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/exceptions.py", - "size": 7172, - "sha1": null, - "md5": null, - "sha256": "0f626f69beccee6fe7d2b9e6066ab8f35a5aa154f7d95bd5781e95790334cbec", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/fields.py", - "size": 8553, - "sha1": null, - "md5": null, - "sha256": "92ba03efa40af867471d6edffc050de17c430b73903c8d8516b4bd7922f8042b", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/filepost.py", - "size": 2440, - "sha1": null, - "md5": null, - "sha256": "be3d2a6eba53d40173bef5b84ae0bc3399098b0ef07ed1dc4abfbb6fc5293e9c", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/poolmanager.py", - "size": 17861, - "sha1": null, - "md5": null, - "sha256": "896100206ad5346a0e990c9f885c02a86f88c98cba18843e8c9f500ac5fd962e", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/request.py", - "size": 6018, - "sha1": null, - "md5": null, - "sha256": "861a07bc411ab7277d4e7e446c68d0d1e9a7f8434c0b2639f75c8d5939de20d0", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/response.py", - "size": 28221, - "sha1": null, - "md5": null, - "sha256": "7a8d527e49f6c78e05b6380fdeac300ec1bd6a4f38b29400c441b2ecebdde0f7", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/__init__.py", - "size": 0, - "sha1": null, - "md5": null, - "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/_appengine_environ.py", - "size": 957, - "sha1": null, - "md5": null, - "sha256": "6c36f2384856d8228b25c42a00a032ac41cdf9a925b321c52aaeaf17c645b269", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/appengine.py", - "size": 11034, - "sha1": null, - "md5": null, - "sha256": "81f74ae13ec24629fbbfd1d18470db0e1f876e4eba8470d67a8cfb9d5dcf268f", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/ntlmpool.py", - "size": 4160, - "sha1": null, - "md5": null, - "sha256": "6b8d3603018dfcb97737ee2eaff012e94ad4fb2714b659d8aa8045efa94e460f", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/pyopenssl.py", - "size": 16582, - "sha1": null, - "md5": null, - "sha256": "f609b99290b449c6c3096a1b782ae1e4b0ea4bc1e053c14d866939bfca90e41b", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/securetransport.py", - "size": 32401, - "sha1": null, - "md5": null, - "sha256": "bc10c58d29c7da059afb3b4c2956a2c16e3a2b59a50d92aabe8fd50289df75c6", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/socks.py", - "size": 7036, - "sha1": null, - "md5": null, - "sha256": "9f30cc80320525656e6ca1eabc89f6f922823bdd618492273fdd968070a11b30", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/_securetransport/__init__.py", - "size": 0, - "sha1": null, - "md5": null, - "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/_securetransport/bindings.py", - "size": 16886, - "sha1": null, - "md5": null, - "sha256": "9ae96559815a82105d45695ae87614f930601514cf2c111fc63de3a656de2664", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/_securetransport/low_level.py", - "size": 11956, - "sha1": null, - "md5": null, - "sha256": "57b1a7ba3c67599876376b0cb15e4de1df489b29a89249b7cc1c20b7beff6d21", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/packages/__init__.py", - "size": 108, - "sha1": null, - "md5": null, - "sha256": "87804b843e2d2da071d5a75a0ed2977eea6c82a634c162d76ff7f5ff256557a0", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/packages/six.py", - "size": 32536, - "sha1": null, - "md5": null, - "sha256": "69dc78cfe78cfc3d15beed0822a573140090feec7d97ae32ec391211f6f1083b", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/packages/backports/__init__.py", - "size": 0, - "sha1": null, - "md5": null, - "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/packages/backports/makefile.py", - "size": 1418, - "sha1": null, - "md5": null, - "sha256": "d34e70aef1fefe95929d316a436b1dcf3878cd50ad414510e26476632c707340", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py", - "size": 688, - "sha1": null, - "md5": null, - "sha256": "cb080a32d7c78b5f83ad79733df540873b0bcf3a9c2bb193e9e2e076875ed458", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py", - "size": 5696, - "sha1": null, - "md5": null, - "sha256": "aef40342f8aa40bb4f241e8c7c48000670458f79d77eded92770f1f810b40106", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/util/__init__.py", - "size": 1038, - "sha1": null, - "md5": null, - "sha256": "6d635a6affce4fed4befeb319b9f5c19be7dac339195b85bff89e876e3399b45", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/util/connection.py", - "size": 4637, - "sha1": null, - "md5": null, - "sha256": "36cc5400a43df062b2c2d6befb3839ec2755a5e4c223a37e184942abbf0397c5", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/util/queue.py", - "size": 497, - "sha1": null, - "md5": null, - "sha256": "9b24d7dc90c79ed8252903417f76fa75ab071feb85f96e7dbf319242215d01f2", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/util/request.py", - "size": 3815, - "sha1": null, - "md5": null, - "sha256": "0beebe0167dfc591b4dc07511a8639f6eaac9f809522d294ea08f1cfb1dcdcc7", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/util/response.py", - "size": 2573, - "sha1": null, - "md5": null, - "sha256": "fd66d342bf31450b89b98dab4c867155d243ea69c43ad42ea6368afdb17f563f", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/util/retry.py", - "size": 15543, - "sha1": null, - "md5": null, - "sha256": "df06efed277360d3b13dc0621643c2b9b4db2b5ffabd649ea739ce5e2ae151f0", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/util/ssl_.py", - "size": 14523, - "sha1": null, - "md5": null, - "sha256": "37b82ab768aacca06c58699ceb561e28d48fae2e8db36899fcc0f9855db2f2d5", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/util/timeout.py", - "size": 9947, - "sha1": null, - "md5": null, - "sha256": "dea6b0528f9366ae2aeedc9e453a0c20e74d1843818ce39056aee71e72ebc8fe", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/util/url.py", - "size": 13981, - "sha1": null, - "md5": null, - "sha256": "4b863203058a24f8c5144082ee5f55a7d10aa911f55c06feb90140367d536a4d", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/util/wait.py", - "size": 5406, - "sha1": null, - "md5": null, - "sha256": "938e8acea218bb7567ce56b9616dc4bed22736553f432705a900208483b1a008", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/webencodings/__init__.py", - "size": 10579, - "sha1": null, - "md5": null, - "sha256": "a8e04922e3f2ff8072607e96fdb360245faa610d83a14f9d2ac0eee724560978", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/webencodings/labels.py", - "size": 8979, - "sha1": null, - "md5": null, - "sha256": "e003bf2b14dd76a1adacbf67b3b9003e36f409c37ac6c088c5b2b7ec763daf71", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/webencodings/mklabels.py", - "size": 1305, - "sha1": null, - "md5": null, - "sha256": "19821ecb09e968b9cfd064a273c2c55a0774515bcefe5d4d73a62817ef3b47fe", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/webencodings/tests.py", - "size": 6563, - "sha1": null, - "md5": null, - "sha256": "3ad18bca384d6357ef916d46bcb27f155f59a2a0bd027ca3afbab79314dbccdb", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/webencodings/x_user_defined.py", - "size": 4307, - "sha1": null, - "md5": null, - "sha256": "c8ea9649d9a9cad19f52087f67a258803361a1cf81007cb279e4f5e45af8dad3", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip-20.2.2.dist-info/LICENSE.txt", - "size": 1090, - "sha1": null, - "md5": null, - "sha256": "5ba21fbb0964f936ad7d15362d1ed6d4931cc8c8f9ff2d4d91190e109be74431", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip-20.2.2.dist-info/METADATA", - "size": 3708, - "sha1": null, - "md5": null, - "sha256": "64cad08d4df485f455455884e2aa15af06730d24721824fc39d9039244cc06ff", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip-20.2.2.dist-info/WHEEL", - "size": 110, - "sha1": null, - "md5": null, - "sha256": "9064fbe0b5b245466b2f85602e1ebf835d8879597ff6ef5956169dae05d95046", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip-20.2.2.dist-info/entry_points.txt", - "size": 125, - "sha1": null, - "md5": null, - "sha256": "1ed7c33b0a5496bf6cef78ea2d0eb017d574ff4aaf517270081cfb570c7451ed", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip-20.2.2.dist-info/top_level.txt", - "size": 4, - "sha1": null, - "md5": null, - "sha256": "ceebae7b8927a3227e5303cf5e0f1f7b34bb542ad7250ac03fbcde36ec2f1508", - "sha512": null, - "extra_data": {} - }, - { - "path": "pip-20.2.2.dist-info/RECORD", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/legacy/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/distributions/base.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/certs.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/colorama/winterm.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/help.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/packages/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/compat.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/caches/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/install/legacy.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/virtualenv.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/wheel.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/controller.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/index/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/charsetgroupprober.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/install/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/resolvelib/reporters.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/compat.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/_structures.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pep517/_in_process.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/filters/lint.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treebuilders/dom.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/entrypoints.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/deprecation.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/_securetransport/low_level.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/markers.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/progress/bar.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pep517/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/compatibility_tags.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/idna/idnadata.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/check.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/status_codes.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/progress/counter.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/html5parser.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/markers.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/appengine.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/langcyrillicmodel.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/caches/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/colorama/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/link.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treebuilders/etree_lxml.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "../../../bin/pip-3.8", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/direct_url.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/idna/package_data.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/spinners.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/build_env.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/utf8prober.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/util/wait.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/retrying.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/compat.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/_internal_utils.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/resolvelib/requirements.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/progress/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treewalkers/genshi.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/scheme.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/filewrapper.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/network/download.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/colorama/initialise.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treewalkers/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/toml/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cache.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "../../../bin/pip3", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/search_scope.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/configuration.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/enums.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/_securetransport/bindings.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/pyopenssl.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/colorama/ansi.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/heuristics.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/toml/encoder.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/download.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/cache.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/langbulgarianmodel.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/_trie/py.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/resolvelib/base.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/cache.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/uninstall.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/main.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/cookies.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/legacy/resolver.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/specifiers.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/securetransport.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/req/req_install.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/install/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/build/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/gb2312freq.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/wrapper.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/wheel.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treewalkers/base.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/distributions/wheel.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/command_context.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/hooks.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/chardistribution.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/wheel_builder.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/toml/common.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/util/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/__version__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/distributions/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/prepare.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pyparsing.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/filters/optionaltags.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/filters/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/euckrprober.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/adapters.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pep517/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/_ihatexml.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/distutils_args.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/exceptions.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip-20.2.2.dist-info/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/resolvelib/compat/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/vcs/bazaar.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/escsm.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/certifi/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/msgpack/ext.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/base_command.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/encoding.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/models.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/misc.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/toml/tz.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treeadapters/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/build/wheel.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/cli/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treewalkers/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/completion.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/contextlib2.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/resolvelib/compat/collections_abc.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/packaging.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/toml/ordered.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/wheel.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/exceptions.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/urls.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/install/editable_legacy.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/constants.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/typing.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/filesystem.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/index.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/req_command.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/legacy/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/main.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/distributions/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/langhebrewmodel.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/escprober.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/compat.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/vcs/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/install/wheel.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/index/package_finder.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pkg_resources/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pep517/colorlog.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/version.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/_compat.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/compat.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/sbcsgroupprober.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distro.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/jisfreq.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/locations.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treewalkers/etree_lxml.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pep517/build.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/version.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treeadapters/genshi.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/network/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/serializer.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/resolvelib/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/caches/redis_cache.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/_tokenizer.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/hash.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/util/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/resolvelib/structs.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/connectionpool.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treewalkers/dom.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treebuilders/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treeadapters/sax.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/packages/backports/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/vcs/subversion.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/network/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/structures.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/vcs/git.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/msgpack/exceptions.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/serialize.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/util/url.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/temp_dir.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/_trie/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/distributions/sdist.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/filters/base.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/vcs/mercurial.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pep517/check.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/langthaimodel.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/req/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/requirements.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/help.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/network/utils.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/idna/core.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/build/wheel_legacy.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/packages/six.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/filters/whitespace.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/resolvelib/candidates.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/_trie/_base.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/check.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/distributions/installed.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treebuilders/etree.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/langturkishmodel.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/direct_url_helpers.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/build/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/pyproject.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/_collections.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/util/connection.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/_backport/shutil.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/idna/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/vcs/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/toml/decoder.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/adapter.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/resolvelib/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/pkg_resources.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/mbcharsetprober.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/network/auth.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pkg_resources/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treeadapters/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/filters/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/build/metadata_legacy.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/show.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/appdirs.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/webencodings/mklabels.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/util/queue.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/util/retry.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/colorama/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/webencodings/labels.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/msgpack/_version.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/resolvelib/compat/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pep517/compat.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/filters/sanitizer.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/packages/backports/makefile.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/gb2312prober.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/models.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/resolvelib/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/webencodings/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/certifi/core.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/req/req_file.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/index/collector.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/packages.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/cp949prober.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/progress/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/build/metadata.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/toml/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/_inputstream.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "../../../bin/pip", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/idna/intranges.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/_appengine_environ.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/auth.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/setuptools_build.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/database.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/_backport/sysconfig.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/idna/codec.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/inject_securetransport.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/metadata.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pkg_resources/py31compat.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/parser.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/network/cache.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/packages/backports/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/network/session.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/packages/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/filepost.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/_securetransport/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treewalkers/etree.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/charsetprober.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/latin1prober.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pep517/dirtools.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip-20.2.2.virtualenv", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/resolvelib/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/_backport/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/mbcssm.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/idna/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/utils.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/util/timeout.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/util.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/caches/file_cache.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/resolvelib/provider.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/mbcsgroupprober.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pep517/meta.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/req/constructors.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/index.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/format_control.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/big5prober.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/hashes.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/cachecontrol/_cmd.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/_backport/misc.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/vcs/versioncontrol.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/__main__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/msgpack/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/colorama/win32.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/filters/alphabeticalattributes.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/req/req_uninstall.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/certifi/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/network/xmlrpc.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/webencodings/tests.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/resolvelib/resolver.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/exceptions.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/idna/uts46data.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/cmdoptions.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/_trie/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/progress_bars.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/util/ssl_.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/progress/spinner.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/search.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/operations/freeze.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/network/lazy_wheel.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/__about__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/langgreekmodel.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/logging.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treebuilders/base.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/resolvelib/factory.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pep517/envbuild.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/resolution/base.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/jpcntx.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/codingstatemachine.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/_securetransport/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/resources.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/resolvelib/resolvers.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/fields.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/main_parser.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/index/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/parallel.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/debug.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/colorama/ansitowin32.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/sbcharsetprober.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/autocompletion.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/util/request.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/_backport/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/selection_prefs.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/cli/chardetect.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/request.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/target_python.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/resolvelib/providers.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/tags.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/freeze.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/manifest.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/euctwprober.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/euckrfreq.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/webencodings/x_user_defined.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/wheel.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/status_codes.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/appdirs.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/sessions.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/six.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/ntlmpool.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/sjisprober.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/datetime.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/certifi/__main__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/self_outdated_check.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/eucjpprober.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/_backport/tarfile.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/treebuilders/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/response.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/list.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/filters/inject_meta_charset.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/req/req_tracker.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/connection.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/cli/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/idna/compat.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "../../../bin/pip3.8", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/msgpack/fallback.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/universaldetector.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/hebrewprober.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/pep517/wrappers.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/install.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/big5freq.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/api.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/subprocess.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/filetypes.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/scripts.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/req/req_set.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip-20.2.2.dist-info/INSTALLER", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/webencodings/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/msgpack/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/req/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/cli/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/locators.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/__init__.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/requests/utils.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/ipaddress.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/_typing.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/langhungarianmodel.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/chardet/euctwfreq.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/glibc.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/html5lib/_utils.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/models/candidate.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/utils/unpacking.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/packaging/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/distlib/version.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/commands/configuration.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/poolmanager.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/contrib/socks.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_internal/__pycache__", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "path": "pip/_vendor/urllib3/util/response.cpython-38.pyc", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "extra_data": {} - } - ], - "is_private": false, - "is_virtual": false, - "extra_data": { - "Documentation": "https://pip.pypa.io", - "Changelog": "https://pip.pypa.io/en/stable/news/" - }, - "dependencies": [], - "repository_homepage_url": "https://pypi.org/project/pip", - "repository_download_url": "https://pypi.org/packages/source/p/pip/pip-20.2.2.tar.gz", - "api_data_url": "https://pypi.org/pypi/pip/20.2.2/json", - "datasource_id": "pypi_wheel_metadata", - "purl": "pkg:pypi/pip@20.2.2" - } -] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info/METADATA b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info/METADATA deleted file mode 100644 index 959afb6b36c..00000000000 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info/METADATA +++ /dev/null @@ -1,88 +0,0 @@ -Metadata-Version: 2.1 -Name: pip -Version: 20.2.2 -Summary: The PyPA recommended tool for installing Python packages. -Home-page: https://pip.pypa.io/ -Author: The pip developers -Author-email: distutils-sig@python.org -License: MIT -Project-URL: Documentation, https://pip.pypa.io -Project-URL: Source, https://github.com/pypa/pip -Project-URL: Changelog, https://pip.pypa.io/en/stable/news/ -Keywords: distutils easy_install egg setuptools wheel virtualenv -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: MIT License -Classifier: Topic :: Software Development :: Build Tools -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: Implementation :: CPython -Classifier: Programming Language :: Python :: Implementation :: PyPy -Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.* - -pip - The Python Package Installer -================================== - -.. image:: https://img.shields.io/pypi/v/pip.svg - :target: https://pypi.org/project/pip/ - -.. image:: https://readthedocs.org/projects/pip/badge/?version=latest - :target: https://pip.pypa.io/en/latest - -pip is the `package installer`_ for Python. You can use pip to install packages from the `Python Package Index`_ and other indexes. - -Please take a look at our documentation for how to install and use pip: - -* `Installation`_ -* `Usage`_ - -We release updates regularly, with a new version every 3 months. Find more details in our documentation: - -* `Release notes`_ -* `Release process`_ - -In 2020, we're working on improvements to the heart of pip. Please `learn more and take our survey`_ to help us do it right. - -If you find bugs, need help, or want to talk to the developers, please use our mailing lists or chat rooms: - -* `Issue tracking`_ -* `Discourse channel`_ -* `User IRC`_ - -If you want to get involved head over to GitHub to get the source code, look at our development documentation and feel free to jump on the developer mailing lists and chat rooms: - -* `GitHub page`_ -* `Development documentation`_ -* `Development mailing list`_ -* `Development IRC`_ - -Code of Conduct ---------------- - -Everyone interacting in the pip project's codebases, issue trackers, chat -rooms, and mailing lists is expected to follow the `PyPA Code of Conduct`_. - -.. _package installer: https://packaging.python.org/guides/tool-recommendations/ -.. _Python Package Index: https://pypi.org -.. _Installation: https://pip.pypa.io/en/stable/installing.html -.. _Usage: https://pip.pypa.io/en/stable/ -.. _Release notes: https://pip.pypa.io/en/stable/news.html -.. _Release process: https://pip.pypa.io/en/latest/development/release-process/ -.. _GitHub page: https://github.com/pypa/pip -.. _Development documentation: https://pip.pypa.io/en/latest/development -.. _learn more and take our survey: https://pyfound.blogspot.com/2020/03/new-pip-resolver-to-roll-out-this-year.html -.. _Issue tracking: https://github.com/pypa/pip/issues -.. _Discourse channel: https://discuss.python.org/c/packaging -.. _Development mailing list: https://mail.python.org/mailman3/lists/distutils-sig.python.org/ -.. _User IRC: https://webchat.freenode.net/?channels=%23pypa -.. _Development IRC: https://webchat.freenode.net/?channels=%23pypa-dev -.. _PyPA Code of Conduct: https://www.pypa.io/en/latest/code-of-conduct/ - - diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info/RECORD b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info/RECORD deleted file mode 100644 index 9fa9fdf739e..00000000000 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info/RECORD +++ /dev/null @@ -1,804 +0,0 @@ -pip/__init__.py,sha256=fZ401OZGdv55YGsuCEhsvdNa4YCZLmK457SN3qrstJk,455 -pip/__main__.py,sha256=bqCAM1cj1HwHCDx3WJa-LJxOBXimGxE8OjBqAvnhVg0,911 -pip/_internal/__init__.py,sha256=2si23JBW1erg19xIJ8CD6tfGknz0ijtXmzuXjGfGMGE,495 -pip/_internal/build_env.py,sha256=9_UaQ2fpsBvpKAji27f7bPAi2v3mb0cBvDYcejwFKNM,8088 -pip/_internal/cache.py,sha256=pT17VVxgzZK32aqY5FRS8GyAI73LKzNMF8ZelQ7Ojm0,12249 -pip/_internal/configuration.py,sha256=-Gxz2J-KuvxiqWIJ9F-XnYVZ5lKhNk7VO6ondEbH4EM,14115 -pip/_internal/exceptions.py,sha256=ZVpArxQrSlm4qAMtHaY3nHvG_t5eSi3WCnMowdm_m8I,12637 -pip/_internal/locations.py,sha256=7YjzJy2CroQD8GBMemnHWRl9448BSIt0lfH98B-Dkd8,6732 -pip/_internal/main.py,sha256=IVBnUQ-FG7DK6617uEXRB5_QJqspAsBFmTmTesYkbdQ,437 -pip/_internal/pyproject.py,sha256=VJKsrXORGiGoDPVKCQhuu4tWlQSTOhoiRlVLRNu4rx4,7400 -pip/_internal/self_outdated_check.py,sha256=q6_nqUHPpt-DScwD97h7FCSqd4nI1s-xkpOI4I5Za3Y,6779 -pip/_internal/wheel_builder.py,sha256=6w1VPXrpUvCCPlV0cI1wNaCqNz4laF6B6whvaxl9cns,9522 -pip/_internal/cli/__init__.py,sha256=FkHBgpxxb-_gd6r1FjnNhfMOzAUYyXoXKJ6abijfcFU,132 -pip/_internal/cli/autocompletion.py,sha256=ekGNtcDI0p7rFVc-7s4T9Tbss4Jgb7vsB649XJIblRg,6547 -pip/_internal/cli/base_command.py,sha256=BWTztM4b6h8hodDHDKjgJ82jaSeru2AILAJxi1d_IP8,8810 -pip/_internal/cli/cmdoptions.py,sha256=M_BtuqeyRpZAUUYytts3pguBCF2RaGukVpDPE0niroI,28782 -pip/_internal/cli/command_context.py,sha256=ygMVoTy2jpNilKT-6416gFSQpaBtrKRBbVbi2fy__EU,975 -pip/_internal/cli/main.py,sha256=Hxc9dZyW3xiDsYZX-_J2cGXT5DWNLNn_Y7o9oUme-Ec,2616 -pip/_internal/cli/main_parser.py,sha256=voAtjo4WVPIYeu7Fqabva9SXaB3BjG0gH93GBfe6jHQ,2843 -pip/_internal/cli/parser.py,sha256=4FfwW8xB84CrkLs35ud90ZkhCcWyVkx17XD6j3XCW7c,9480 -pip/_internal/cli/progress_bars.py,sha256=J1zykt2LI4gbBeXorfYRmYV5FgXhcW4x3r6xE_a7Z7c,9121 -pip/_internal/cli/req_command.py,sha256=Eiz8TVzeqzG-40t7qLC1vO-vzjCRvX9C-qXMyfw9D1I,15132 -pip/_internal/cli/spinners.py,sha256=PS9s53LB5aDPelIn8FhKerK3bOdgeefFH5wSWJ2PCzI,5509 -pip/_internal/cli/status_codes.py,sha256=F6uDG6Gj7RNKQJUDnd87QKqI16Us-t-B0wPF_4QMpWc,156 -pip/_internal/commands/__init__.py,sha256=yoLAnmEXjoQgYfDuwsuWG3RzzD19oeHobGEhmpIYsB4,4100 -pip/_internal/commands/cache.py,sha256=U3rLjls0AMMO8PxnhXVwIp7Biyvns8-gBThKTH3tX7Y,5676 -pip/_internal/commands/check.py,sha256=fqRrz2uKPC8Qsx2rgLygAD2Rbr-qxp1Q55zUoyZzB9Q,1677 -pip/_internal/commands/completion.py,sha256=ObssM77quf61qvbuSE6XLwUBdm_WcWIvXFI-Hy1RBsI,3081 -pip/_internal/commands/configuration.py,sha256=IN2QBF653sRiRU7-pHTpnZ6_gyiXNKUQkLiLaNRLKNw,9344 -pip/_internal/commands/debug.py,sha256=otBZnpnostX2kmYyOl6g6CeCLmk6H00Tsj2CDsCtFXw,7314 -pip/_internal/commands/download.py,sha256=EKFlj_ceGUEJj6yCDw7P6w7yUoB16IcNHhT2qnCFDNQ,4918 -pip/_internal/commands/freeze.py,sha256=vLBBP1d8wgEXrmlh06hbz_x_Q1mWHUdiWDa9NP2eKLE,3452 -pip/_internal/commands/hash.py,sha256=v2nYCiEsEI9nEam1p6GwdG8xyj5gFv-4WrqvNexKmeY,1843 -pip/_internal/commands/help.py,sha256=ryuMDt2tc7ic3NJYMjjoNRH5r6LrB2yQVZvehAm8bLs,1270 -pip/_internal/commands/install.py,sha256=h2L8vS6t2DbGAdttkdZmMucK2eJG2CYvcwhDa7AdKrQ,28683 -pip/_internal/commands/list.py,sha256=2o3rYw37ECrhe4-Bu5s_2C0bwhYgghh4833MxcWAEug,11312 -pip/_internal/commands/search.py,sha256=1HPAFU-tmgKrHhr4xNuk3xMoPeSzD_oDvDDiUFZZ15E,5756 -pip/_internal/commands/show.py,sha256=r69-G8HIepDKm4SeyeHj0Ez1P9xoihrpVUyXm6NmXYY,6996 -pip/_internal/commands/uninstall.py,sha256=Ys8hwFsg0kvvGtLGYG3ibL5BKvURhlSlCX50ZQ-hsHk,3311 -pip/_internal/commands/wheel.py,sha256=-HSISE5AV29I752Aqw4DdmulrGd8rB_ZTOdpbJ6T8iM,6419 -pip/_internal/distributions/__init__.py,sha256=ECBUW5Gtu9TjJwyFLvim-i6kUMYVuikNh9I5asL6tbA,959 -pip/_internal/distributions/base.py,sha256=ruprpM_L2T2HNi3KLUHlbHimZ1sWVw-3Q0Lb8O7TDAI,1425 -pip/_internal/distributions/installed.py,sha256=YqlkBKr6TVP1MAYS6SG8ojud21wVOYLMZ8jMLJe9MSU,760 -pip/_internal/distributions/sdist.py,sha256=D4XTMlCwgPlK69l62GLYkNSVTVe99fR5iAcVt2EbGok,4086 -pip/_internal/distributions/wheel.py,sha256=95uD-TfaYoq3KiKBdzk9YMN4RRqJ28LNoSTS2K46gek,1294 -pip/_internal/index/__init__.py,sha256=vpt-JeTZefh8a-FC22ZeBSXFVbuBcXSGiILhQZJaNpQ,30 -pip/_internal/index/collector.py,sha256=rMdGdAABOrvIl0DYlCMWXr7mIoqrU2VGeQpCuWiPu1Q,22838 -pip/_internal/index/package_finder.py,sha256=ISieDd20dOSndMNybafCu3pO2JR3BKOfHv92Bes0j0Q,37364 -pip/_internal/models/__init__.py,sha256=3DHUd_qxpPozfzouoqa9g9ts1Czr5qaHfFxbnxriepM,63 -pip/_internal/models/candidate.py,sha256=gACeCSHTIaWuB6RAeLmGJnbFFbKfp_47UERDoC_ldOU,1195 -pip/_internal/models/direct_url.py,sha256=MnBLPci1hE9Ndh6d3m0LAqB7hX3ci80CCJTE5eerFaQ,6900 -pip/_internal/models/format_control.py,sha256=RdnnmXxVJppCZWzWEmFTr-zD_m3G0izPLqJi6Iop75M,2823 -pip/_internal/models/index.py,sha256=carvxxaT7mJyoEkptaECHUZiNaA6R5NrsGF55zawNn8,1161 -pip/_internal/models/link.py,sha256=FMlxvqKmLoj7xTQSgKqfO2ehE1WcgD4C5DmEBuC_Qos,7470 -pip/_internal/models/scheme.py,sha256=EhPkT_6G0Md84JTLSVopYsp5H_K6BREYmFvU8H6wMK8,778 -pip/_internal/models/search_scope.py,sha256=Lum0mY4_pdR9DDBy6HV5xHGIMPp_kU8vMsqYKFHZip4,4751 -pip/_internal/models/selection_prefs.py,sha256=pgNjTfgePPiX1R5S2S8Yc6odOfU9NzG7YP_m_gnS0kw,2044 -pip/_internal/models/target_python.py,sha256=R7tAXI15B_cgw7Fgnq5cI9F-44goUZncH9JMtE8pXRw,4034 -pip/_internal/models/wheel.py,sha256=FTfzVb4WIbfIehxhdlAVvCil_MQ0-W44oyN56cE6NHc,2772 -pip/_internal/network/__init__.py,sha256=jf6Tt5nV_7zkARBrKojIXItgejvoegVJVKUbhAa5Ioc,50 -pip/_internal/network/auth.py,sha256=dt3NvTRJ8182S3VpdYFEZMPT0JhOKHyFtR-O-JMlJII,11652 -pip/_internal/network/cache.py,sha256=6cCD7XNrqh1d1lOSY5U-0ZXOG1YwEgMYs-VhRZVyzMA,2329 -pip/_internal/network/download.py,sha256=VTGDO01_nX-5MCdatd4Icv0F88_M8N3WnW6BevA6a0o,5151 -pip/_internal/network/lazy_wheel.py,sha256=RXcQILT5v5UO6kxgv76CSncLTqRL29o-OXbaW2aK7t4,8138 -pip/_internal/network/session.py,sha256=Zs0uiyPxTpfpgSv-ZI9hK9TjasmTplBuBivOTcUiJME,15208 -pip/_internal/network/utils.py,sha256=ZPHg7u6DEcg2EvILIdPECnvPLp21OPHxNVmeXfMy-n0,4172 -pip/_internal/network/xmlrpc.py,sha256=PFCiX_nnwYxC8SFIf7J3trP40ECGjA6fl2-IVNhbkPM,1882 -pip/_internal/operations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pip/_internal/operations/check.py,sha256=JYDsVLvpFyJuJq0ttStgg8TRKbc0myYFAMnfnnQOREM,5215 -pip/_internal/operations/freeze.py,sha256=_vJSZwHBNzBV0GpRUSXhUJz3BrGFdcT2aTcWxH1L4P0,10373 -pip/_internal/operations/prepare.py,sha256=Rt7Yh7w10_Q-vI3b7R1wkt2R6XPX8YVUdODk-TaGI9c,19903 -pip/_internal/operations/build/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pip/_internal/operations/build/metadata.py,sha256=2aILgWCQTF1aIhWuCH8TTSjv_kYmA3x1262fT2FQ6pQ,1254 -pip/_internal/operations/build/metadata_legacy.py,sha256=VgzBTk8naIO8-8N_ifEYF7ZAxWUDhphWVIaVlZ2FqYM,2011 -pip/_internal/operations/build/wheel.py,sha256=33vdkxTO-gNqrtWH1eNL_uZo4Irax85moDx2o9zae3M,1465 -pip/_internal/operations/build/wheel_legacy.py,sha256=N1aqNZyGURBX0Bj6wPmB0t4866oMbxoHUpC9pz6FyT0,3356 -pip/_internal/operations/install/__init__.py,sha256=mX7hyD2GNBO2mFGokDQ30r_GXv7Y_PLdtxcUv144e-s,51 -pip/_internal/operations/install/editable_legacy.py,sha256=rJ_xs2qtDUjpY2-n6eYlVyZiNoKbOtZXZrYrcnIELt4,1488 -pip/_internal/operations/install/legacy.py,sha256=zu3Gw54dgHtluyW5n8j5qKcAScidQXJvqB8fb0oLB-4,4281 -pip/_internal/operations/install/wheel.py,sha256=nJmOSOYY3keksXd_3GFuhAWeeoKvGOyoSGbjXABjZ40,31310 -pip/_internal/req/__init__.py,sha256=s-E5Vxxqqpcs7xfY5gY69oHogsWJ4sLbnUiDoWmkHOU,3133 -pip/_internal/req/constructors.py,sha256=LrSHbRHu52-h6HM1qJKG68o1Jw5q8MvJGfr4As6j2uU,16387 -pip/_internal/req/req_file.py,sha256=p7n3Y0q275Eisqfxd0vtfnxYvlT6TCCY0tj75p-yiOY,19448 -pip/_internal/req/req_install.py,sha256=hqQMm6s7f1a2RAGasyAhy47eZGom3OBKeiRM60xxdPg,33080 -pip/_internal/req/req_set.py,sha256=dxcfbieWYfYkTJNE07U8xaO40zLxl8BhWOcIHVFTmoo,7886 -pip/_internal/req/req_tracker.py,sha256=qWaiejNK6o6cqeyTOIGKIU1CoyrXCcqgMHYi3cqelOA,4690 -pip/_internal/req/req_uninstall.py,sha256=opMGDGb7ZaFippRbaarJaljtzl2CNZmBGEUSnTubE-A,23706 -pip/_internal/resolution/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pip/_internal/resolution/base.py,sha256=xi72YmIS-lEjyK13PN_3qkGGthA4yGoK0C6qWynyHrE,682 -pip/_internal/resolution/legacy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pip/_internal/resolution/legacy/resolver.py,sha256=d-qW6UUxbZqKyXmX2bqnW5C8UtnO0ZcsQuKw_QXualc,18755 -pip/_internal/resolution/resolvelib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pip/_internal/resolution/resolvelib/base.py,sha256=n8Rilea9jCzhlbtFiJKwCwIQSPW0ATjEKsCc0Vpm894,2342 -pip/_internal/resolution/resolvelib/candidates.py,sha256=RHo9r9g25FWzufKv93Ti9nS4hvAPUrhAjSDL7GCZFNQ,20339 -pip/_internal/resolution/resolvelib/factory.py,sha256=--ahYsr-r9zIhdyJJ1ZuETgaQrWiPIqwILWiMDn1IIU,17169 -pip/_internal/resolution/resolvelib/provider.py,sha256=BP8nh07Z1FlcT-Iaw4FblRM-DjUeUkiItKdKARYeM6M,6134 -pip/_internal/resolution/resolvelib/requirements.py,sha256=lGvoHRhkusRfaz4cFxYBoQNqxS6TeuO3K68qlui6g-0,4511 -pip/_internal/resolution/resolvelib/resolver.py,sha256=kI8g0NVlYIsDMRmDplWQdox6WO-0H7CI2wN-1ixnaew,10149 -pip/_internal/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pip/_internal/utils/appdirs.py,sha256=RZzUG-Bkh2b-miX0DSZ3v703_-bgK-v0PfWCCjwVE9g,1349 -pip/_internal/utils/compat.py,sha256=GoCSUMoUmTGeg5irQGLDZ7v12As87yHrMzBXEke-njg,8865 -pip/_internal/utils/compatibility_tags.py,sha256=EtBJj-pstj_U0STUZ8FjlG7YDTjuRZUy6GY1cM86yv8,5439 -pip/_internal/utils/datetime.py,sha256=KL-vIdGU9JIpGB5NYkmwXWkH-G_2mvvABlmRtoSZsao,295 -pip/_internal/utils/deprecation.py,sha256=pBnNogoA4UGTxa_JDnPXBRRYpKMbExAhXpBwAwklOBs,3318 -pip/_internal/utils/direct_url_helpers.py,sha256=bZCBNwPQVyZpYGjX_VcomvVvRHvKw-9JzEV-Ft09LQc,4359 -pip/_internal/utils/distutils_args.py,sha256=a56mblNxk9BGifbpEETG61mmBrqhjtjRkJ4HYn-oOEE,1350 -pip/_internal/utils/encoding.py,sha256=wHDJ25yCT_T4ySscCL3P978OpLrfDCpitg8D64IEXMY,1284 -pip/_internal/utils/entrypoints.py,sha256=vHcNpnksCv6mllihU6hfifdsKPEjwcaJ1aLIXEaynaU,1152 -pip/_internal/utils/filesystem.py,sha256=-fU3XteCAIJwf_9FvCZU7vhywvt3nuf_cqkCdwgy1Y8,6943 -pip/_internal/utils/filetypes.py,sha256=R2FwzoeX7b-rZALOXx5cuO8VPPMhUQ4ne7wm3n3IcWA,571 -pip/_internal/utils/glibc.py,sha256=LOeNGgawCKS-4ke9fii78fwXD73dtNav3uxz1Bf-Ab8,3297 -pip/_internal/utils/hashes.py,sha256=xHmrqNwC1eBN0oY0R_RXLJLXGvFdo5gwmbz_pas94k8,4358 -pip/_internal/utils/inject_securetransport.py,sha256=M17ZlFVY66ApgeASVjKKLKNz0LAfk-SyU0HZ4ZB6MmI,810 -pip/_internal/utils/logging.py,sha256=YIfuDUEkmdn9cIRQ_Ec8rgXs1m5nOwDECtZqM4CBH5U,13093 -pip/_internal/utils/misc.py,sha256=QQZWMJkKKADPSWQYmrwlasc8b03eCcghn0yDNprYgrI,28001 -pip/_internal/utils/models.py,sha256=HqiBVtTbW_b_Umvj2fjhDWOHo2RKhPwSz4iAYkQZ688,1201 -pip/_internal/utils/packaging.py,sha256=VtiwcAAL7LBi7tGL2je7LeW4bE11KMHGCsJ1NZY5XtM,3035 -pip/_internal/utils/parallel.py,sha256=7az3aaTMCkqpaLFbpYYOvk0rj7Hu5YH1NPXXomqjgf4,3404 -pip/_internal/utils/pkg_resources.py,sha256=ZX-k7V5q_aNWyDse92nN7orN1aCpRLsaxzpkBZ1XKzU,1254 -pip/_internal/utils/setuptools_build.py,sha256=E1KswI7wfNnCDE5R6G8c9ZbByENpu7NqocjY26PCQDw,5058 -pip/_internal/utils/subprocess.py,sha256=UkPe89gcjxBMx73uutoeJXgD3kwdlL6YO16BkjDdVSI,9924 -pip/_internal/utils/temp_dir.py,sha256=blmG0jEvEgdxbYUt_V15bgcTIJIrxZwAw8QZlCTJYDE,8378 -pip/_internal/utils/typing.py,sha256=xkYwOeHlf4zsHXBDC4310HtEqwhQcYXFPq2h35Tcrl0,1401 -pip/_internal/utils/unpacking.py,sha256=YFAckhqqvmehA8Kan5vd3b1kN_9TafqmOk4b-yz4fho,9488 -pip/_internal/utils/urls.py,sha256=q2rw1kMiiig_XZcoyJSsWMJQqYw-2wUmrMoST4mCW_I,1527 -pip/_internal/utils/virtualenv.py,sha256=fNGrRp-8QmNL5OzXajBd-z7PbwOsx1XY6G-AVMAhfso,3706 -pip/_internal/utils/wheel.py,sha256=wFzn3h8GqYvgsyWPZtUyn0Rb3MJzmtyP3owMOhKnmL0,7303 -pip/_internal/vcs/__init__.py,sha256=viJxJRqRE_mVScum85bgQIXAd6o0ozFt18VpC-qIJrM,617 -pip/_internal/vcs/bazaar.py,sha256=5rRR02uDZTLaxQT-R5Obd8FZDOMlShqYds-pwVSJJs8,3887 -pip/_internal/vcs/git.py,sha256=kvB729wrKY0OWMSgOS1pUly4LosZp8utrd3kOQsWalA,13985 -pip/_internal/vcs/mercurial.py,sha256=FzCGmYzVZvB-vyM73fKcQk2B4jMNXGnXlQ2bJ7nmglM,5162 -pip/_internal/vcs/subversion.py,sha256=rldcn9ZDt5twjNPzFn_FKRn4qdfkjlxHMJEsR2MFfoA,12399 -pip/_internal/vcs/versioncontrol.py,sha256=WpxeTRC0NoGB2uXJdmfq4pPxY-p7sk1rV_WkxMxgzQA,25966 -pip/_vendor/__init__.py,sha256=CsxnpYPbi_2agrDI79iQrCmQeZRcwwIF0C6cm_1RynU,4588 -pip/_vendor/appdirs.py,sha256=M6IYRJtdZgmSPCXCSMBRB0VT3P8MdFbWCDbSLrB2Ebg,25907 -pip/_vendor/contextlib2.py,sha256=5HjGflUzwWAUfcILhSmC2GqvoYdZZzFzVfIDztHigUs,16915 -pip/_vendor/distro.py,sha256=xxMIh2a3KmippeWEHzynTdHT3_jZM0o-pos0dAWJROM,43628 -pip/_vendor/ipaddress.py,sha256=-0RmurI31XgAaN20WCi0zrcuoat90nNA70_6yGlx2PU,79875 -pip/_vendor/pyparsing.py,sha256=J1b4z3S_KwyJW7hKGnoN-hXW9pgMIzIP6QThyY5yJq4,273394 -pip/_vendor/retrying.py,sha256=k3fflf5_Mm0XcIJYhB7Tj34bqCCPhUDkYbx1NvW2FPE,9972 -pip/_vendor/six.py,sha256=U4Z_yv534W5CNyjY9i8V1OXY2SjAny8y2L5vDLhhThM,34159 -pip/_vendor/vendor.txt,sha256=bWUiaRjMJhuUsqFZHEJkBH_6lJ_Avl9cOyszcI74IHs,437 -pip/_vendor/cachecontrol/__init__.py,sha256=pJtAaUxOsMPnytI1A3juAJkXYDr8krdSnsg4Yg3OBEg,302 -pip/_vendor/cachecontrol/_cmd.py,sha256=URGE0KrA87QekCG3SGPatlSPT571dZTDjNa-ZXX3pDc,1295 -pip/_vendor/cachecontrol/adapter.py,sha256=sSwaSYd93IIfCFU4tOMgSo6b2LCt_gBSaQUj8ktJFOA,4882 -pip/_vendor/cachecontrol/cache.py,sha256=1fc4wJP8HYt1ycnJXeEw5pCpeBL2Cqxx6g9Fb0AYDWQ,805 -pip/_vendor/cachecontrol/compat.py,sha256=kHNvMRdt6s_Xwqq_9qJmr9ou3wYMOMUMxPPcwNxT8Mc,695 -pip/_vendor/cachecontrol/controller.py,sha256=CWEX3pedIM9s60suf4zZPtm_JvVgnvogMGK_OiBG5F8,14149 -pip/_vendor/cachecontrol/filewrapper.py,sha256=vACKO8Llzu_ZWyjV1Fxn1MA4TGU60N5N3GSrAFdAY2Q,2533 -pip/_vendor/cachecontrol/heuristics.py,sha256=BFGHJ3yQcxvZizfo90LLZ04T_Z5XSCXvFotrp7Us0sc,4070 -pip/_vendor/cachecontrol/serialize.py,sha256=vIa4jvq4x_KSOLdEIedoknX2aXYHQujLDFV4-F21Dno,7091 -pip/_vendor/cachecontrol/wrapper.py,sha256=5LX0uJwkNQUtYSEw3aGmGu9WY8wGipd81mJ8lG0d0M4,690 -pip/_vendor/cachecontrol/caches/__init__.py,sha256=-gHNKYvaeD0kOk5M74eOrsSgIKUtC6i6GfbmugGweEo,86 -pip/_vendor/cachecontrol/caches/file_cache.py,sha256=nYVKsJtXh6gJXvdn1iWyrhxvkwpQrK-eKoMRzuiwkKk,4153 -pip/_vendor/cachecontrol/caches/redis_cache.py,sha256=HxelMpNCo-dYr2fiJDwM3hhhRmxUYtB5tXm1GpAAT4Y,856 -pip/_vendor/certifi/__init__.py,sha256=u1E_DrSGj_nnEkK5VglvEqP8D80KpghLVWL0A_pq41A,62 -pip/_vendor/certifi/__main__.py,sha256=1k3Cr95vCxxGRGDljrW3wMdpZdL3Nhf0u1n-k2qdsCY,255 -pip/_vendor/certifi/cacert.pem,sha256=GhT24f0R7_9y4YY_hkXwkO7BthZhRGDCEMO348E9S14,282394 -pip/_vendor/certifi/core.py,sha256=jBrwKEWpG0IKcuozK0BQ2HHGp8adXAOyBPC7ddgR6vM,2315 -pip/_vendor/chardet/__init__.py,sha256=YsP5wQlsHJ2auF1RZJfypiSrCA7_bQiRm3ES_NI76-Y,1559 -pip/_vendor/chardet/big5freq.py,sha256=D_zK5GyzoVsRes0HkLJziltFQX0bKCLOrFe9_xDvO_8,31254 -pip/_vendor/chardet/big5prober.py,sha256=kBxHbdetBpPe7xrlb-e990iot64g_eGSLd32lB7_h3M,1757 -pip/_vendor/chardet/chardistribution.py,sha256=3woWS62KrGooKyqz4zQSnjFbJpa6V7g02daAibTwcl8,9411 -pip/_vendor/chardet/charsetgroupprober.py,sha256=6bDu8YIiRuScX4ca9Igb0U69TA2PGXXDej6Cc4_9kO4,3787 -pip/_vendor/chardet/charsetprober.py,sha256=KSmwJErjypyj0bRZmC5F5eM7c8YQgLYIjZXintZNstg,5110 -pip/_vendor/chardet/codingstatemachine.py,sha256=VYp_6cyyki5sHgXDSZnXW4q1oelHc3cu9AyQTX7uug8,3590 -pip/_vendor/chardet/compat.py,sha256=PKTzHkSbtbHDqS9PyujMbX74q1a8mMpeQTDVsQhZMRw,1134 -pip/_vendor/chardet/cp949prober.py,sha256=TZ434QX8zzBsnUvL_8wm4AQVTZ2ZkqEEQL_lNw9f9ow,1855 -pip/_vendor/chardet/enums.py,sha256=Aimwdb9as1dJKZaFNUH2OhWIVBVd6ZkJJ_WK5sNY8cU,1661 -pip/_vendor/chardet/escprober.py,sha256=kkyqVg1Yw3DIOAMJ2bdlyQgUFQhuHAW8dUGskToNWSc,3950 -pip/_vendor/chardet/escsm.py,sha256=RuXlgNvTIDarndvllNCk5WZBIpdCxQ0kcd9EAuxUh84,10510 -pip/_vendor/chardet/eucjpprober.py,sha256=iD8Jdp0ISRjgjiVN7f0e8xGeQJ5GM2oeZ1dA8nbSeUw,3749 -pip/_vendor/chardet/euckrfreq.py,sha256=-7GdmvgWez4-eO4SuXpa7tBiDi5vRXQ8WvdFAzVaSfo,13546 -pip/_vendor/chardet/euckrprober.py,sha256=MqFMTQXxW4HbzIpZ9lKDHB3GN8SP4yiHenTmf8g_PxY,1748 -pip/_vendor/chardet/euctwfreq.py,sha256=No1WyduFOgB5VITUA7PLyC5oJRNzRyMbBxaKI1l16MA,31621 -pip/_vendor/chardet/euctwprober.py,sha256=13p6EP4yRaxqnP4iHtxHOJ6R2zxHq1_m8hTRjzVZ95c,1747 -pip/_vendor/chardet/gb2312freq.py,sha256=JX8lsweKLmnCwmk8UHEQsLgkr_rP_kEbvivC4qPOrlc,20715 -pip/_vendor/chardet/gb2312prober.py,sha256=gGvIWi9WhDjE-xQXHvNIyrnLvEbMAYgyUSZ65HUfylw,1754 -pip/_vendor/chardet/hebrewprober.py,sha256=c3SZ-K7hvyzGY6JRAZxJgwJ_sUS9k0WYkvMY00YBYFo,13838 -pip/_vendor/chardet/jisfreq.py,sha256=vpmJv2Bu0J8gnMVRPHMFefTRvo_ha1mryLig8CBwgOg,25777 -pip/_vendor/chardet/jpcntx.py,sha256=PYlNqRUQT8LM3cT5FmHGP0iiscFlTWED92MALvBungo,19643 -pip/_vendor/chardet/langbulgarianmodel.py,sha256=1HqQS9Pbtnj1xQgxitJMvw8X6kKr5OockNCZWfEQrPE,12839 -pip/_vendor/chardet/langcyrillicmodel.py,sha256=LODajvsetH87yYDDQKA2CULXUH87tI223dhfjh9Zx9c,17948 -pip/_vendor/chardet/langgreekmodel.py,sha256=8YAW7bU8YwSJap0kIJSbPMw1BEqzGjWzqcqf0WgUKAA,12688 -pip/_vendor/chardet/langhebrewmodel.py,sha256=JSnqmE5E62tDLTPTvLpQsg5gOMO4PbdWRvV7Avkc0HA,11345 -pip/_vendor/chardet/langhungarianmodel.py,sha256=RhapYSG5l0ZaO-VV4Fan5sW0WRGQqhwBM61yx3yxyOA,12592 -pip/_vendor/chardet/langthaimodel.py,sha256=8l0173Gu_W6G8mxmQOTEF4ls2YdE7FxWf3QkSxEGXJQ,11290 -pip/_vendor/chardet/langturkishmodel.py,sha256=W22eRNJsqI6uWAfwXSKVWWnCerYqrI8dZQTm_M0lRFk,11102 -pip/_vendor/chardet/latin1prober.py,sha256=S2IoORhFk39FEFOlSFWtgVybRiP6h7BlLldHVclNkU8,5370 -pip/_vendor/chardet/mbcharsetprober.py,sha256=AR95eFH9vuqSfvLQZN-L5ijea25NOBCoXqw8s5O9xLQ,3413 -pip/_vendor/chardet/mbcsgroupprober.py,sha256=h6TRnnYq2OxG1WdD5JOyxcdVpn7dG0q-vB8nWr5mbh4,2012 -pip/_vendor/chardet/mbcssm.py,sha256=SY32wVIF3HzcjY3BaEspy9metbNSKxIIB0RKPn7tjpI,25481 -pip/_vendor/chardet/sbcharsetprober.py,sha256=LDSpCldDCFlYwUkGkwD2oFxLlPWIWXT09akH_2PiY74,5657 -pip/_vendor/chardet/sbcsgroupprober.py,sha256=1IprcCB_k1qfmnxGC6MBbxELlKqD3scW6S8YIwdeyXA,3546 -pip/_vendor/chardet/sjisprober.py,sha256=IIt-lZj0WJqK4rmUZzKZP4GJlE8KUEtFYVuY96ek5MQ,3774 -pip/_vendor/chardet/universaldetector.py,sha256=qL0174lSZE442eB21nnktT9_VcAye07laFWUeUrjttY,12485 -pip/_vendor/chardet/utf8prober.py,sha256=IdD8v3zWOsB8OLiyPi-y_fqwipRFxV9Nc1eKBLSuIEw,2766 -pip/_vendor/chardet/version.py,sha256=sp3B08mrDXB-pf3K9fqJ_zeDHOCLC8RrngQyDFap_7g,242 -pip/_vendor/chardet/cli/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1 -pip/_vendor/chardet/cli/chardetect.py,sha256=DI8dlV3FBD0c0XA_y3sQ78z754DUv1J8n34RtDjOXNw,2774 -pip/_vendor/colorama/__init__.py,sha256=DqjXH9URVP3IJwmMt7peYw50ns1RNAymIB9-XdPEFV8,239 -pip/_vendor/colorama/ansi.py,sha256=Fi0un-QLqRm-v7o_nKiOqyC8PapBJK7DLV_q9LKtTO0,2524 -pip/_vendor/colorama/ansitowin32.py,sha256=u8QaqdqS_xYSfNkPM1eRJLHz6JMWPodaJaP0mxgHCDc,10462 -pip/_vendor/colorama/initialise.py,sha256=PprovDNxMTrvoNHFcL2NZjpH2XzDc8BLxLxiErfUl4k,1915 -pip/_vendor/colorama/win32.py,sha256=bJ8Il9jwaBN5BJ8bmN6FoYZ1QYuMKv2j8fGrXh7TJjw,5404 -pip/_vendor/colorama/winterm.py,sha256=2y_2b7Zsv34feAsP67mLOVc-Bgq51mdYGo571VprlrM,6438 -pip/_vendor/distlib/__init__.py,sha256=3veAk2rPznOB2gsK6tjbbh0TQMmGE5P82eE9wXq6NIk,581 -pip/_vendor/distlib/compat.py,sha256=ADA56xiAxar3mU6qemlBhNbsrFPosXRhO44RzsbJPqk,41408 -pip/_vendor/distlib/database.py,sha256=Kl0YvPQKc4OcpVi7k5cFziydM1xOK8iqdxLGXgbZHV4,51059 -pip/_vendor/distlib/index.py,sha256=SXKzpQCERctxYDMp_OLee2f0J0e19ZhGdCIoMlUfUQM,21066 -pip/_vendor/distlib/locators.py,sha256=c9E4cDEacJ_uKbuE5BqAVocoWp6rsuBGTkiNDQq3zV4,52100 -pip/_vendor/distlib/manifest.py,sha256=nQEhYmgoreaBZzyFzwYsXxJARu3fo4EkunU163U16iE,14811 -pip/_vendor/distlib/markers.py,sha256=6Ac3cCfFBERexiESWIOXmg-apIP8l2esafNSX3KMy-8,4387 -pip/_vendor/distlib/metadata.py,sha256=z2KPy3h3tcDnb9Xs7nAqQ5Oz0bqjWAUFmKWcFKRoodg,38962 -pip/_vendor/distlib/resources.py,sha256=2FGv0ZHF14KXjLIlL0R991lyQQGcewOS4mJ-5n-JVnc,10766 -pip/_vendor/distlib/scripts.py,sha256=_MAj3sMuv56kuM8FsiIWXqbT0gmumPGaOR_atOzn4a4,17180 -pip/_vendor/distlib/t32.exe,sha256=NS3xBCVAld35JVFNmb-1QRyVtThukMrwZVeXn4LhaEQ,96768 -pip/_vendor/distlib/t64.exe,sha256=oAqHes78rUWVM0OtVqIhUvequl_PKhAhXYQWnUf7zR0,105984 -pip/_vendor/distlib/util.py,sha256=f2jZCPrcLCt6LcnC0gUy-Fur60tXD8reA7k4rDpHMDw,59845 -pip/_vendor/distlib/version.py,sha256=_n7F6juvQGAcn769E_SHa7fOcf5ERlEVymJ_EjPRwGw,23391 -pip/_vendor/distlib/w32.exe,sha256=lJtnZdeUxTZWya_EW5DZos_K5rswRECGspIl8ZJCIXs,90112 -pip/_vendor/distlib/w64.exe,sha256=0aRzoN2BO9NWW4ENy4_4vHkHR4qZTFZNVSAJJYlODTI,99840 -pip/_vendor/distlib/wheel.py,sha256=v6DnwTqhNHwrEVFr8_YeiTW6G4ftP_evsywNgrmdb2o,41144 -pip/_vendor/distlib/_backport/__init__.py,sha256=bqS_dTOH6uW9iGgd0uzfpPjo6vZ4xpPZ7kyfZJ2vNaw,274 -pip/_vendor/distlib/_backport/misc.py,sha256=KWecINdbFNOxSOP1fGF680CJnaC6S4fBRgEtaYTw0ig,971 -pip/_vendor/distlib/_backport/shutil.py,sha256=IX_G2NPqwecJibkIDje04bqu0xpHkfSQ2GaGdEVqM5Y,25707 -pip/_vendor/distlib/_backport/sysconfig.cfg,sha256=swZKxq9RY5e9r3PXCrlvQPMsvOdiWZBTHLEbqS8LJLU,2617 -pip/_vendor/distlib/_backport/sysconfig.py,sha256=BQHFlb6pubCl_dvT1NjtzIthylofjKisox239stDg0U,26854 -pip/_vendor/distlib/_backport/tarfile.py,sha256=Ihp7rXRcjbIKw8COm9wSePV9ARGXbSF9gGXAMn2Q-KU,92628 -pip/_vendor/html5lib/__init__.py,sha256=BYzcKCqeEii52xDrqBFruhnmtmkiuHXFyFh-cglQ8mk,1160 -pip/_vendor/html5lib/_ihatexml.py,sha256=ifOwF7pXqmyThIXc3boWc96s4MDezqRrRVp7FwDYUFs,16728 -pip/_vendor/html5lib/_inputstream.py,sha256=jErNASMlkgs7MpOM9Ve_VdLDJyFFweAjLuhVutZz33U,32353 -pip/_vendor/html5lib/_tokenizer.py,sha256=04mgA2sNTniutl2fxFv-ei5bns4iRaPxVXXHh_HrV_4,77040 -pip/_vendor/html5lib/_utils.py,sha256=Dx9AKntksRjFT1veBj7I362pf5OgIaT0zglwq43RnfU,4931 -pip/_vendor/html5lib/constants.py,sha256=Ll-yzLU_jcjyAI_h57zkqZ7aQWE5t5xA4y_jQgoUUhw,83464 -pip/_vendor/html5lib/html5parser.py,sha256=anr-aXre_ImfrkQ35c_rftKXxC80vJCREKe06Tq15HA,117186 -pip/_vendor/html5lib/serializer.py,sha256=_PpvcZF07cwE7xr9uKkZqh5f4UEaI8ltCU2xPJzaTpk,15759 -pip/_vendor/html5lib/_trie/__init__.py,sha256=nqfgO910329BEVJ5T4psVwQtjd2iJyEXQ2-X8c1YxwU,109 -pip/_vendor/html5lib/_trie/_base.py,sha256=CaybYyMro8uERQYjby2tTeSUatnWDfWroUN9N7ety5w,1013 -pip/_vendor/html5lib/_trie/py.py,sha256=wXmQLrZRf4MyWNyg0m3h81m9InhLR7GJ002mIIZh-8o,1775 -pip/_vendor/html5lib/filters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pip/_vendor/html5lib/filters/alphabeticalattributes.py,sha256=lViZc2JMCclXi_5gduvmdzrRxtO5Xo9ONnbHBVCsykU,919 -pip/_vendor/html5lib/filters/base.py,sha256=z-IU9ZAYjpsVsqmVt7kuWC63jR11hDMr6CVrvuao8W0,286 -pip/_vendor/html5lib/filters/inject_meta_charset.py,sha256=egDXUEHXmAG9504xz0K6ALDgYkvUrC2q15YUVeNlVQg,2945 -pip/_vendor/html5lib/filters/lint.py,sha256=jk6q56xY0ojiYfvpdP-OZSm9eTqcAdRqhCoPItemPYA,3643 -pip/_vendor/html5lib/filters/optionaltags.py,sha256=8lWT75J0aBOHmPgfmqTHSfPpPMp01T84NKu0CRedxcE,10588 -pip/_vendor/html5lib/filters/sanitizer.py,sha256=m6oGmkBhkGAnn2nV6D4hE78SCZ6WEnK9rKdZB3uXBIc,26897 -pip/_vendor/html5lib/filters/whitespace.py,sha256=8eWqZxd4UC4zlFGW6iyY6f-2uuT8pOCSALc3IZt7_t4,1214 -pip/_vendor/html5lib/treeadapters/__init__.py,sha256=A0rY5gXIe4bJOiSGRO_j_tFhngRBO8QZPzPtPw5dFzo,679 -pip/_vendor/html5lib/treeadapters/genshi.py,sha256=CH27pAsDKmu4ZGkAUrwty7u0KauGLCZRLPMzaO3M5vo,1715 -pip/_vendor/html5lib/treeadapters/sax.py,sha256=BKS8woQTnKiqeffHsxChUqL4q2ZR_wb5fc9MJ3zQC8s,1776 -pip/_vendor/html5lib/treebuilders/__init__.py,sha256=AysSJyvPfikCMMsTVvaxwkgDieELD5dfR8FJIAuq7hY,3592 -pip/_vendor/html5lib/treebuilders/base.py,sha256=z-o51vt9r_l2IDG5IioTOKGzZne4Fy3_Fc-7ztrOh4I,14565 -pip/_vendor/html5lib/treebuilders/dom.py,sha256=22whb0C71zXIsai5mamg6qzBEiigcBIvaDy4Asw3at0,8925 -pip/_vendor/html5lib/treebuilders/etree.py,sha256=w5ZFpKk6bAxnrwD2_BrF5EVC7vzz0L3LMi9Sxrbc_8w,12836 -pip/_vendor/html5lib/treebuilders/etree_lxml.py,sha256=9gqDjs-IxsPhBYa5cpvv2FZ1KZlG83Giusy2lFmvIkE,14766 -pip/_vendor/html5lib/treewalkers/__init__.py,sha256=OBPtc1TU5mGyy18QDMxKEyYEz0wxFUUNj5v0-XgmYhY,5719 -pip/_vendor/html5lib/treewalkers/base.py,sha256=ouiOsuSzvI0KgzdWP8PlxIaSNs9falhbiinAEc_UIJY,7476 -pip/_vendor/html5lib/treewalkers/dom.py,sha256=EHyFR8D8lYNnyDU9lx_IKigVJRyecUGua0mOi7HBukc,1413 -pip/_vendor/html5lib/treewalkers/etree.py,sha256=xo1L5m9VtkfpFJK0pFmkLVajhqYYVisVZn3k9kYpPkI,4551 -pip/_vendor/html5lib/treewalkers/etree_lxml.py,sha256=_b0LAVWLcVu9WaU_-w3D8f0IRSpCbjf667V-3NRdhTw,6357 -pip/_vendor/html5lib/treewalkers/genshi.py,sha256=4D2PECZ5n3ZN3qu3jMl9yY7B81jnQApBQSVlfaIuYbA,2309 -pip/_vendor/idna/__init__.py,sha256=9Nt7xpyet3DmOrPUGooDdAwmHZZu1qUAy2EaJ93kGiQ,58 -pip/_vendor/idna/codec.py,sha256=lvYb7yu7PhAqFaAIAdWcwgaWI2UmgseUua-1c0AsG0A,3299 -pip/_vendor/idna/compat.py,sha256=R-h29D-6mrnJzbXxymrWUW7iZUvy-26TQwZ0ij57i4U,232 -pip/_vendor/idna/core.py,sha256=jCoaLb3bA2tS_DDx9PpGuNTEZZN2jAzB369aP-IHYRE,11951 -pip/_vendor/idna/idnadata.py,sha256=gmzFwZWjdms3kKZ_M_vwz7-LP_SCgYfSeE03B21Qpsk,42350 -pip/_vendor/idna/intranges.py,sha256=TY1lpxZIQWEP6tNqjZkFA5hgoMWOj1OBmnUG8ihT87E,1749 -pip/_vendor/idna/package_data.py,sha256=bxBjpLnE06_1jSYKEy5svOMu1zM3OMztXVUb1tPlcp0,22 -pip/_vendor/idna/uts46data.py,sha256=lMdw2zdjkH1JUWXPPEfFUSYT3Fyj60bBmfLvvy5m7ko,202084 -pip/_vendor/msgpack/__init__.py,sha256=2gJwcsTIaAtCM0GMi2rU-_Y6kILeeQuqRkrQ22jSANc,1118 -pip/_vendor/msgpack/_version.py,sha256=hu7lzmZ_ClOaOOmRsWb4xomhzQ4UIsLsvv8KY6UysHE,20 -pip/_vendor/msgpack/exceptions.py,sha256=dCTWei8dpkrMsQDcjQk74ATl9HsIBH0ybt8zOPNqMYc,1081 -pip/_vendor/msgpack/ext.py,sha256=nV19BzE9Be8SJHrxxYJHFbvEHJaXcP3avRkHVp5wovM,6034 -pip/_vendor/msgpack/fallback.py,sha256=Z8V3iYUUPqKVy4WWTk64Vq3G0PylQIOmlWvgnMhmkdU,37133 -pip/_vendor/packaging/__about__.py,sha256=PNMsaZn4UcCHyubgROH1bl6CluduPjI5kFrSp_Zgklo,736 -pip/_vendor/packaging/__init__.py,sha256=6enbp5XgRfjBjsI9-bn00HjHf5TH21PDMOKkJW8xw-w,562 -pip/_vendor/packaging/_compat.py,sha256=MXdsGpSE_W-ZrHoC87andI4LV2FAwU7HLL-eHe_CjhU,1128 -pip/_vendor/packaging/_structures.py,sha256=ozkCX8Q8f2qE1Eic3YiQ4buDVfgz2iYevY9e7R2y3iY,2022 -pip/_vendor/packaging/_typing.py,sha256=VgA0AAvsc97KB5nF89zoudOyCMEsV7FlaXzZbYqEkzA,1824 -pip/_vendor/packaging/markers.py,sha256=V_RdoQqOUbSfy7y9o2vRk7BkzAh3yneC82cuWpKrqOg,9491 -pip/_vendor/packaging/requirements.py,sha256=F93hkn7i8NKRZP-FtdTIlhz1PUsRjhe6eRbsBXX0Uh4,4903 -pip/_vendor/packaging/specifiers.py,sha256=uYp9l13F0LcknS6d4N60ytiBgFmIhKideOq9AnsxTco,31944 -pip/_vendor/packaging/tags.py,sha256=NKMS37Zo_nWrZxgsD6zbXsXgc9edn9m160cBiLmHJdE,24067 -pip/_vendor/packaging/utils.py,sha256=RShlvnjO2CtYSD8uri32frMMFMTmB-3ihsq1-ghzLEw,1811 -pip/_vendor/packaging/version.py,sha256=Cnbm-OO9D_qd8ZTFxzFcjSavexSYFZmyeaoPvMsjgPc,15470 -pip/_vendor/pep517/__init__.py,sha256=r5uA106NGJa3slspaD2m32aFpFUiZX-mZ9vIlzAEOp4,84 -pip/_vendor/pep517/_in_process.py,sha256=XrKOTURJdia5R7i3i_OQmS89LASFXE3HQXfX63qZBIE,8438 -pip/_vendor/pep517/build.py,sha256=DN4ouyj_bd00knOKqv0KHRtN0-JezJoNNZQmcDi4juk,3335 -pip/_vendor/pep517/check.py,sha256=YoaNE3poJGpz96biVCYwtcDshwEGE2HRU5KKya9yfpY,5961 -pip/_vendor/pep517/colorlog.py,sha256=Tk9AuYm_cLF3BKTBoSTJt9bRryn0aFojIQOwbfVUTxQ,4098 -pip/_vendor/pep517/compat.py,sha256=M-5s4VNp8rjyT76ZZ_ibnPD44DYVzSQlyCEHayjtDPw,780 -pip/_vendor/pep517/dirtools.py,sha256=2mkAkAL0mRz_elYFjRKuekTJVipH1zTn4tbf1EDev84,1129 -pip/_vendor/pep517/envbuild.py,sha256=szKUFlO50X1ahQfXwz4hD9V2VE_bz9MLVPIeidsFo4w,6041 -pip/_vendor/pep517/meta.py,sha256=8mnM5lDnT4zXQpBTliJbRGfesH7iioHwozbDxALPS9Y,2463 -pip/_vendor/pep517/wrappers.py,sha256=yFU4Lp7TIYbmuVOTY-pXnlyGZ3F_grIi-JlLkpGN8Gk,10783 -pip/_vendor/pkg_resources/__init__.py,sha256=XpGBfvS9fafA6bm5rx7vnxdxs7yqyoc_NnpzKApkJ64,108277 -pip/_vendor/pkg_resources/py31compat.py,sha256=CRk8fkiPRDLsbi5pZcKsHI__Pbmh_94L8mr9Qy9Ab2U,562 -pip/_vendor/progress/__init__.py,sha256=fcbQQXo5np2CoQyhSH5XprkicwLZNLePR3uIahznSO0,4857 -pip/_vendor/progress/bar.py,sha256=QuDuVNcmXgpxtNtxO0Fq72xKigxABaVmxYGBw4J3Z_E,2854 -pip/_vendor/progress/counter.py,sha256=MznyBrvPWrOlGe4MZAlGUb9q3aODe6_aNYeAE_VNoYA,1372 -pip/_vendor/progress/spinner.py,sha256=k8JbDW94T0-WXuXfxZIFhdoNPYp3jfnpXqBnfRv5fGs,1380 -pip/_vendor/requests/__init__.py,sha256=orzv4-1uejMDc2v3LnTVneINGXiwqXSfrASoFBsYblE,4465 -pip/_vendor/requests/__version__.py,sha256=Xwky1FMlMkJJGidBM50JC7FKcosWzkjIW-WhQGrBdFM,441 -pip/_vendor/requests/_internal_utils.py,sha256=Zx3PnEUccyfsB-ie11nZVAW8qClJy0gx1qNME7rgT18,1096 -pip/_vendor/requests/adapters.py,sha256=e-bmKEApNVqFdylxuMJJfiaHdlmS_zhWhIMEzlHvGuc,21548 -pip/_vendor/requests/api.py,sha256=PlHM-HT3PQ5lyufoeGmV-nJxRi7UnUyGVh7OV7B9XV4,6496 -pip/_vendor/requests/auth.py,sha256=OMoJIVKyRLy9THr91y8rxysZuclwPB-K1Xg1zBomUhQ,10207 -pip/_vendor/requests/certs.py,sha256=nXRVq9DtGmv_1AYbwjTu9UrgAcdJv05ZvkNeaoLOZxY,465 -pip/_vendor/requests/compat.py,sha256=LQWuCR4qXk6w7-qQopXyz0WNHUdAD40k0mKnaAEf1-g,2045 -pip/_vendor/requests/cookies.py,sha256=Y-bKX6TvW3FnYlE6Au0SXtVVWcaNdFvuAwQxw-G0iTI,18430 -pip/_vendor/requests/exceptions.py,sha256=d9fJJw8YFBB9VzG9qhvxLuOx6be3c_Dwbck-dVUEAcs,3173 -pip/_vendor/requests/help.py,sha256=SJPVcoXeo7KfK4AxJN5eFVQCjr0im87tU2n7ubLsksU,3578 -pip/_vendor/requests/hooks.py,sha256=QReGyy0bRcr5rkwCuObNakbYsc7EkiKeBwG4qHekr2Q,757 -pip/_vendor/requests/models.py,sha256=_tKIbrscbGvaTdX1UHCwRaiYmPF9VBIuBeydr4Qx1Tg,34287 -pip/_vendor/requests/packages.py,sha256=njJmVifY4aSctuW3PP5EFRCxjEwMRDO6J_feG2dKWsI,695 -pip/_vendor/requests/sessions.py,sha256=OBtwQs1vjkB1xamFdi_p5y8BVeX16BJoQcwSwx_Y3fI,29316 -pip/_vendor/requests/status_codes.py,sha256=gT79Pbs_cQjBgp-fvrUgg1dn2DQO32bDj4TInjnMPSc,4188 -pip/_vendor/requests/structures.py,sha256=msAtr9mq1JxHd-JRyiILfdFlpbJwvvFuP3rfUQT_QxE,3005 -pip/_vendor/requests/utils.py,sha256=VBs99cvV8Z29WGXeWZqHzZ80_nu1AwwjYzJfe0wQIvs,30176 -pip/_vendor/resolvelib/__init__.py,sha256=sqMOy4CbVJQiaG9bCPj0oAntGAVy-RWdPfVaC9XDIEQ,537 -pip/_vendor/resolvelib/providers.py,sha256=TZDCmL-Ic-R5JRIZY8G4FLG5xB2343B0DfuK7aw2Yqw,4547 -pip/_vendor/resolvelib/reporters.py,sha256=ZPSJnVfK8WvXTbX8jE0Nren0-_Hg9ym4epCUPtU8Y0U,1405 -pip/_vendor/resolvelib/resolvers.py,sha256=lQTGcc-2fgHbmdiLzeNDUxVmGc5ZFjkAL6JrVqnqJIw,15018 -pip/_vendor/resolvelib/structs.py,sha256=yrdhd-n7DercimPGclXe20rgqhlxw8PnxC0wmcXO19Y,2016 -pip/_vendor/resolvelib/compat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pip/_vendor/resolvelib/compat/collections_abc.py,sha256=mtTkpr3Gf3OGvU1PD8YuvrJRhVbioxV82T-niFPoX3o,127 -pip/_vendor/toml/__init__.py,sha256=rJ1pu933HgUtyeeNiusoPd5jJOPNhaKHhSSld3o8AQo,747 -pip/_vendor/toml/common.py,sha256=ViBccAduP6eZNJAb1POhRhjOAi56TDsNgWJ1TjgXAug,242 -pip/_vendor/toml/decoder.py,sha256=atpXmyFCzNGiqhkcYLySBuJQkPeSHDzBz47sEaX1amw,38696 -pip/_vendor/toml/encoder.py,sha256=fPqLyFdPAam17X9SELz2TMp9affkfHCmgWZxRKcmzhY,9955 -pip/_vendor/toml/ordered.py,sha256=UWt5Eka90IWVBYdvLgY5PXnkBcVYpHjnw9T67rM85T8,378 -pip/_vendor/toml/tz.py,sha256=DrAgI3wZxZiGcLuV_l8ueA_nPrYoxQ3hZA9tJSjWRsQ,618 -pip/_vendor/urllib3/__init__.py,sha256=rdFZCO1L7e8861ZTvo8AiSKwxCe9SnWQUQwJ599YV9c,2683 -pip/_vendor/urllib3/_collections.py,sha256=GouVsNzwg6jADZTmimMI6oqmwKSswnMo9dh5tGNVWO4,10792 -pip/_vendor/urllib3/connection.py,sha256=Fln8a_bkegdNMkFoSOwyI0PJvL1OqzVUO6ifihKOTpc,14461 -pip/_vendor/urllib3/connectionpool.py,sha256=egdaX-Db_LVXifDxv3JY0dHIpQqDv0wC0_9Eeh8FkPM,35725 -pip/_vendor/urllib3/exceptions.py,sha256=D2Jvab7M7m_n0rnmBmq481paoVT32VvVeB6VeQM0y-w,7172 -pip/_vendor/urllib3/fields.py,sha256=kroD76QK-GdHHW7f_AUN4XxDC3OQPI2FFrS9eSL4BCs,8553 -pip/_vendor/urllib3/filepost.py,sha256=vj0qbrpT1AFzvvW4SuC8M5kJiw7wftHcSr-7b8UpPpw,2440 -pip/_vendor/urllib3/poolmanager.py,sha256=iWEAIGrVNGoOmQyfiFwCqG-IyYy6GIQ-jJ9QCsX9li4,17861 -pip/_vendor/urllib3/request.py,sha256=hhoHvEEatyd9Tn5EbGjQ0emn-ENMCyY591yNWTneINA,6018 -pip/_vendor/urllib3/response.py,sha256=eo1Sfkn2x44FtjgP3qwwDsG9ak84spQAxEGy7Ovd4Pc,28221 -pip/_vendor/urllib3/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pip/_vendor/urllib3/contrib/_appengine_environ.py,sha256=bDbyOEhW2CKLJcQqAKAyrEHN-aklsyHFKq6vF8ZFsmk,957 -pip/_vendor/urllib3/contrib/appengine.py,sha256=gfdK4T7CRin7v9HRhHDbDh-Hbk66hHDWeoz7nV3PJo8,11034 -pip/_vendor/urllib3/contrib/ntlmpool.py,sha256=a402AwGN_Ll3N-4ur_AS6UrU-ycUtlnYqoBF76lORg8,4160 -pip/_vendor/urllib3/contrib/pyopenssl.py,sha256=9gm5kpC0ScbDCWobeCrh5LDqS8HgU8FNhmk5v8qQ5Bs,16582 -pip/_vendor/urllib3/contrib/securetransport.py,sha256=vBDFjSnH2gWa-ztMKVaiwW46K1mlDZKqvo_VAonfdcY,32401 -pip/_vendor/urllib3/contrib/socks.py,sha256=nzDMgDIFJWVubKHqvIn2-SKCO91hhJInP92WgHChGzA,7036 -pip/_vendor/urllib3/contrib/_securetransport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pip/_vendor/urllib3/contrib/_securetransport/bindings.py,sha256=mullWYFaghBdRWla6HYU-TBgFRTPLBEfxj3jplbeJmQ,16886 -pip/_vendor/urllib3/contrib/_securetransport/low_level.py,sha256=V7GnujxnWZh2N2sMsV5N4d9Imymokkm3zBwgt77_bSE,11956 -pip/_vendor/urllib3/packages/__init__.py,sha256=h4BLhD4tLaBx1adaDtKXfupsgqY0wWLXb_f1_yVlV6A,108 -pip/_vendor/urllib3/packages/six.py,sha256=adx4z-eM_D0Vvu0IIqVzFACQ_ux9l64y7DkSEfbxCDs,32536 -pip/_vendor/urllib3/packages/backports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pip/_vendor/urllib3/packages/backports/makefile.py,sha256=005wrvH-_pWSnTFqQ2sdzzh4zVCtQUUQ4mR2Yyxwc0A,1418 -pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py,sha256=ywgKMtfHi1-DrXlzPfVAhzsLzzqcK7GT6eLgdode1Fg,688 -pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py,sha256=rvQDQviqQLtPJB6MfEgABnBFj3nXft7ZJ3Dx-BC0AQY,5696 -pip/_vendor/urllib3/util/__init__.py,sha256=bWNaav_OT-1L7-sxm59cGb59rDORlbhb_4noduM5m0U,1038 -pip/_vendor/urllib3/util/connection.py,sha256=NsxUAKQ98GKywta--zg57CdVpeTCI6N-GElCq78Dl8U,4637 -pip/_vendor/urllib3/util/queue.py,sha256=myTX3JDHntglKQNBf3b6dasHH-uF-W59vzGSQiFdAfI,497 -pip/_vendor/urllib3/util/request.py,sha256=C-6-AWffxZG03AdRGoY59uqsn4CVItKU6gjxz7Hc3Mc,3815 -pip/_vendor/urllib3/util/response.py,sha256=_WbTQr8xRQuJuY2rTIZxVdJD6mnEOtQupjaK_bF_Vj8,2573 -pip/_vendor/urllib3/util/retry.py,sha256=3wbv7SdzYNOxPcBiFkPCubTbK1_6vWSepznOXirhUfA,15543 -pip/_vendor/urllib3/util/ssl_.py,sha256=N7gqt2iqzKBsWGmc61YeKNSPri6Ns2iZ_MD5hV2y8tU,14523 -pip/_vendor/urllib3/util/timeout.py,sha256=3qawUo-TZq4q7tyeRToMIOdNGEOBjOOQVq7nHnLryP4,9947 -pip/_vendor/urllib3/util/url.py,sha256=S4YyAwWKJPjFFECC7l9Vp9EKqRH1XAb-uQFANn1Tak0,13981 -pip/_vendor/urllib3/util/wait.py,sha256=k46KzqIYu3Vnzla5YW3EvtInNlU_QycFqQAghIOxoAg,5406 -pip/_vendor/webencodings/__init__.py,sha256=qOBJIuPy_4ByYH6W_bNgJF-qYQ2DoU-dKsDu5yRWCXg,10579 -pip/_vendor/webencodings/labels.py,sha256=4AO_KxTddqGtrL9ns7kAPjb0CcN6xsCIxbK37HY9r3E,8979 -pip/_vendor/webencodings/mklabels.py,sha256=GYIeywnpaLnP0GSic8LFWgd0UVvO_l1Nc6YoF-87R_4,1305 -pip/_vendor/webencodings/tests.py,sha256=OtGLyjhNY1fvkW1GvLJ_FV9ZoqC9Anyjr7q3kxTbzNs,6563 -pip/_vendor/webencodings/x_user_defined.py,sha256=yOqWSdmpytGfUgh_Z6JYgDNhoc-BAHyyeeT15Fr42tM,4307 -pip-20.2.2.dist-info/LICENSE.txt,sha256=W6Ifuwlk-TatfRU2LR7W1JMcyMj5_y1NkRkOEJvnRDE,1090 -pip-20.2.2.dist-info/METADATA,sha256=ZMrQjU30hfRVRViE4qoVrwZzDSRyGCT8OdkDkkTMBv8,3708 -pip-20.2.2.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110 -pip-20.2.2.dist-info/entry_points.txt,sha256=HtfDOwpUlr9s73jqLQ6wF9V0_0qvUXJwCBz7Vwx0Ue0,125 -pip-20.2.2.dist-info/top_level.txt,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -pip-20.2.2.dist-info/RECORD,, -pip/_internal/resolution/legacy/__init__.cpython-38.pyc,, -pip/_internal/distributions/base.cpython-38.pyc,, -pip/_vendor/requests/certs.cpython-38.pyc,, -pip/_vendor/colorama/winterm.cpython-38.pyc,, -pip/_vendor/requests/help.cpython-38.pyc,, -pip/_vendor/urllib3/packages/__init__.cpython-38.pyc,, -pip/_vendor/requests/compat.cpython-38.pyc,, -pip/_vendor/cachecontrol/caches/__init__.cpython-38.pyc,, -pip/_internal/operations/install/legacy.cpython-38.pyc,, -pip/_internal/utils/virtualenv.cpython-38.pyc,, -pip/_vendor/distlib/wheel.cpython-38.pyc,, -pip/_vendor/cachecontrol/controller.cpython-38.pyc,, -pip/_internal/index/__init__.cpython-38.pyc,, -pip/_vendor/chardet/charsetgroupprober.cpython-38.pyc,, -pip/_internal/operations/install/__init__.cpython-38.pyc,, -pip/_vendor/resolvelib/reporters.cpython-38.pyc,, -pip/_internal/models/__pycache__,, -pip/_vendor/distlib/compat.cpython-38.pyc,, -pip/_vendor/packaging/_structures.cpython-38.pyc,, -pip/_vendor/pep517/_in_process.cpython-38.pyc,, -pip/_vendor/html5lib/filters/lint.cpython-38.pyc,, -pip/_vendor/html5lib/treebuilders/dom.cpython-38.pyc,, -pip/_internal/utils/entrypoints.cpython-38.pyc,, -pip/_internal/utils/deprecation.cpython-38.pyc,, -pip/_vendor/urllib3/contrib/_securetransport/low_level.cpython-38.pyc,, -pip/_vendor/distlib/markers.cpython-38.pyc,, -pip/_vendor/progress/bar.cpython-38.pyc,, -pip/_vendor/pep517/__pycache__,, -pip/_internal/utils/compatibility_tags.cpython-38.pyc,, -pip/_vendor/idna/idnadata.cpython-38.pyc,, -pip/_internal/commands/check.cpython-38.pyc,, -pip/_vendor/requests/status_codes.cpython-38.pyc,, -pip/_vendor/progress/counter.cpython-38.pyc,, -pip/_vendor/html5lib/html5parser.cpython-38.pyc,, -pip/_vendor/packaging/markers.cpython-38.pyc,, -pip/_vendor/urllib3/contrib/appengine.cpython-38.pyc,, -pip/_internal/cli/__pycache__,, -pip/_vendor/chardet/langcyrillicmodel.cpython-38.pyc,, -pip/_vendor/cachecontrol/caches/__pycache__,, -pip/_vendor/colorama/__init__.cpython-38.pyc,, -pip/_internal/models/link.cpython-38.pyc,, -pip/_vendor/html5lib/treebuilders/etree_lxml.cpython-38.pyc,, -../../../bin/pip-3.8,, -pip/_internal/models/direct_url.cpython-38.pyc,, -pip/_vendor/idna/package_data.cpython-38.pyc,, -pip/_internal/cli/spinners.cpython-38.pyc,, -pip/_internal/build_env.cpython-38.pyc,, -pip/_vendor/chardet/utf8prober.cpython-38.pyc,, -pip/_vendor/urllib3/util/wait.cpython-38.pyc,, -pip/_vendor/retrying.cpython-38.pyc,, -pip/_vendor/cachecontrol/compat.cpython-38.pyc,, -pip/_vendor/requests/_internal_utils.cpython-38.pyc,, -pip/_internal/resolution/resolvelib/requirements.cpython-38.pyc,, -pip/_vendor/progress/__pycache__,, -pip/_vendor/html5lib/treewalkers/genshi.cpython-38.pyc,, -pip/_internal/models/scheme.cpython-38.pyc,, -pip/_vendor/cachecontrol/filewrapper.cpython-38.pyc,, -pip/_internal/network/download.cpython-38.pyc,, -pip/_vendor/colorama/initialise.cpython-38.pyc,, -pip/_vendor/html5lib/treewalkers/__pycache__,, -pip/_vendor/toml/__init__.cpython-38.pyc,, -pip/_internal/cache.cpython-38.pyc,, -../../../bin/pip3,, -pip/_internal/models/search_scope.cpython-38.pyc,, -pip/_internal/configuration.cpython-38.pyc,, -pip/_internal/commands/__init__.cpython-38.pyc,, -pip/_vendor/chardet/enums.cpython-38.pyc,, -pip/_vendor/html5lib/__pycache__,, -pip/_vendor/urllib3/contrib/_securetransport/bindings.cpython-38.pyc,, -pip/_vendor/urllib3/__pycache__,, -pip/_internal/resolution/__pycache__,, -pip/_vendor/urllib3/contrib/pyopenssl.cpython-38.pyc,, -pip/_vendor/colorama/ansi.cpython-38.pyc,, -pip/_vendor/cachecontrol/heuristics.cpython-38.pyc,, -pip/_vendor/toml/encoder.cpython-38.pyc,, -pip/_internal/commands/download.cpython-38.pyc,, -pip/_vendor/cachecontrol/cache.cpython-38.pyc,, -pip/_vendor/chardet/langbulgarianmodel.cpython-38.pyc,, -pip/_vendor/html5lib/_trie/py.cpython-38.pyc,, -pip/_internal/resolution/resolvelib/base.cpython-38.pyc,, -pip/_internal/commands/cache.cpython-38.pyc,, -pip/_vendor/packaging/__init__.cpython-38.pyc,, -pip/_internal/commands/uninstall.cpython-38.pyc,, -pip/_internal/cli/main.cpython-38.pyc,, -pip/_vendor/requests/cookies.cpython-38.pyc,, -pip/_internal/resolution/legacy/resolver.cpython-38.pyc,, -pip/_vendor/packaging/specifiers.cpython-38.pyc,, -pip/_vendor/urllib3/contrib/securetransport.cpython-38.pyc,, -pip/_internal/req/req_install.cpython-38.pyc,, -pip/_internal/operations/install/__pycache__,, -pip/_internal/operations/build/__pycache__,, -pip/_vendor/chardet/gb2312freq.cpython-38.pyc,, -pip/_vendor/cachecontrol/wrapper.cpython-38.pyc,, -pip/_internal/utils/wheel.cpython-38.pyc,, -pip/_vendor/html5lib/treewalkers/base.cpython-38.pyc,, -pip/_internal/distributions/wheel.cpython-38.pyc,, -pip/_internal/cli/command_context.cpython-38.pyc,, -pip/_vendor/requests/hooks.cpython-38.pyc,, -pip/_vendor/chardet/chardistribution.cpython-38.pyc,, -pip/_internal/wheel_builder.cpython-38.pyc,, -pip/_vendor/toml/common.cpython-38.pyc,, -pip/_vendor/urllib3/util/__init__.cpython-38.pyc,, -pip/_internal/models/__init__.cpython-38.pyc,, -pip/_vendor/requests/__version__.cpython-38.pyc,, -pip/_internal/distributions/__pycache__,, -pip/_internal/operations/prepare.cpython-38.pyc,, -pip/_vendor/pyparsing.cpython-38.pyc,, -pip/_vendor/html5lib/filters/optionaltags.cpython-38.pyc,, -pip/_vendor/html5lib/filters/__init__.cpython-38.pyc,, -pip/_vendor/__pycache__,, -pip/_vendor/chardet/euckrprober.cpython-38.pyc,, -pip/_vendor/requests/adapters.cpython-38.pyc,, -pip/_vendor/pep517/__init__.cpython-38.pyc,, -pip/_vendor/html5lib/_ihatexml.cpython-38.pyc,, -pip/_internal/utils/distutils_args.cpython-38.pyc,, -pip/_internal/exceptions.cpython-38.pyc,, -pip-20.2.2.dist-info/__pycache__,, -pip/_vendor/resolvelib/compat/__pycache__,, -pip/_internal/vcs/bazaar.cpython-38.pyc,, -pip/_vendor/chardet/escsm.cpython-38.pyc,, -pip/_vendor/certifi/__init__.cpython-38.pyc,, -pip/_vendor/msgpack/ext.cpython-38.pyc,, -pip/_internal/cli/base_command.cpython-38.pyc,, -pip/_internal/utils/encoding.cpython-38.pyc,, -pip/_internal/utils/models.cpython-38.pyc,, -pip/_vendor/urllib3/contrib/__pycache__,, -pip/_internal/utils/misc.cpython-38.pyc,, -pip/_vendor/toml/tz.cpython-38.pyc,, -pip/_internal/commands/__pycache__,, -pip/_vendor/html5lib/treeadapters/__pycache__,, -pip/_internal/operations/build/wheel.cpython-38.pyc,, -pip/_vendor/chardet/cli/__init__.cpython-38.pyc,, -pip/_vendor/html5lib/treewalkers/__init__.cpython-38.pyc,, -pip/_internal/commands/completion.cpython-38.pyc,, -pip/_vendor/contextlib2.cpython-38.pyc,, -pip/_vendor/resolvelib/compat/collections_abc.cpython-38.pyc,, -pip/_internal/utils/packaging.cpython-38.pyc,, -pip/_vendor/toml/ordered.cpython-38.pyc,, -pip/_internal/commands/wheel.cpython-38.pyc,, -pip/_vendor/requests/exceptions.cpython-38.pyc,, -pip/_internal/utils/urls.cpython-38.pyc,, -pip/_internal/operations/install/editable_legacy.cpython-38.pyc,, -pip/_vendor/html5lib/constants.cpython-38.pyc,, -pip/_vendor/chardet/__pycache__,, -pip/_internal/utils/typing.cpython-38.pyc,, -pip/_internal/utils/filesystem.cpython-38.pyc,, -pip/_vendor/html5lib/__init__.cpython-38.pyc,, -pip/_vendor/distlib/index.cpython-38.pyc,, -pip/_internal/cli/req_command.cpython-38.pyc,, -pip/_internal/resolution/legacy/__pycache__,, -pip/_internal/main.cpython-38.pyc,, -pip/_internal/distributions/__init__.cpython-38.pyc,, -pip/_vendor/chardet/langhebrewmodel.cpython-38.pyc,, -pip/_internal/utils/__init__.cpython-38.pyc,, -pip/_vendor/chardet/escprober.cpython-38.pyc,, -pip/_vendor/chardet/compat.cpython-38.pyc,, -pip/_internal/vcs/__pycache__,, -pip/_internal/operations/install/wheel.cpython-38.pyc,, -pip/_internal/index/package_finder.cpython-38.pyc,, -pip/_vendor/pkg_resources/__init__.cpython-38.pyc,, -pip/_vendor/pep517/colorlog.cpython-38.pyc,, -pip/_vendor/chardet/version.cpython-38.pyc,, -pip/_vendor/packaging/_compat.cpython-38.pyc,, -pip/_internal/utils/compat.cpython-38.pyc,, -pip/_vendor/chardet/sbcsgroupprober.cpython-38.pyc,, -pip/_vendor/distro.cpython-38.pyc,, -pip/_vendor/chardet/jisfreq.cpython-38.pyc,, -pip/_internal/locations.cpython-38.pyc,, -pip/_vendor/html5lib/treewalkers/etree_lxml.cpython-38.pyc,, -pip/_vendor/pep517/build.cpython-38.pyc,, -pip/_vendor/packaging/version.cpython-38.pyc,, -pip/_vendor/html5lib/treeadapters/genshi.cpython-38.pyc,, -pip/_internal/network/__pycache__,, -pip/_vendor/html5lib/serializer.cpython-38.pyc,, -pip/_internal/resolution/resolvelib/__init__.cpython-38.pyc,, -pip/_vendor/cachecontrol/caches/redis_cache.cpython-38.pyc,, -pip/_vendor/html5lib/_tokenizer.cpython-38.pyc,, -pip/_internal/commands/hash.cpython-38.pyc,, -pip/_vendor/urllib3/util/__pycache__,, -pip/_vendor/resolvelib/structs.cpython-38.pyc,, -pip/_vendor/urllib3/connectionpool.cpython-38.pyc,, -pip/_vendor/html5lib/treewalkers/dom.cpython-38.pyc,, -pip/_vendor/html5lib/treebuilders/__init__.cpython-38.pyc,, -pip/_vendor/html5lib/treeadapters/sax.cpython-38.pyc,, -pip/_vendor/urllib3/packages/backports/__init__.cpython-38.pyc,, -pip/_internal/vcs/subversion.cpython-38.pyc,, -pip/_internal/network/__init__.cpython-38.pyc,, -pip/_vendor/requests/structures.cpython-38.pyc,, -pip/_internal/vcs/git.cpython-38.pyc,, -pip/_vendor/msgpack/exceptions.cpython-38.pyc,, -pip/_vendor/cachecontrol/serialize.cpython-38.pyc,, -pip/_vendor/urllib3/util/url.cpython-38.pyc,, -pip/_internal/utils/temp_dir.cpython-38.pyc,, -pip/_vendor/html5lib/_trie/__pycache__,, -pip/_internal/distributions/sdist.cpython-38.pyc,, -pip/_vendor/html5lib/filters/base.cpython-38.pyc,, -pip/_internal/vcs/mercurial.cpython-38.pyc,, -pip/_vendor/pep517/check.cpython-38.pyc,, -pip/_vendor/chardet/langthaimodel.cpython-38.pyc,, -pip/_internal/req/__init__.cpython-38.pyc,, -pip/_vendor/packaging/requirements.cpython-38.pyc,, -pip/_internal/commands/help.cpython-38.pyc,, -pip/_internal/network/utils.cpython-38.pyc,, -pip/_vendor/idna/core.cpython-38.pyc,, -pip/_internal/operations/build/wheel_legacy.cpython-38.pyc,, -pip/_vendor/urllib3/packages/six.cpython-38.pyc,, -pip/_vendor/html5lib/filters/whitespace.cpython-38.pyc,, -pip/_internal/resolution/resolvelib/candidates.cpython-38.pyc,, -pip/_vendor/html5lib/_trie/_base.cpython-38.pyc,, -pip/_internal/operations/check.cpython-38.pyc,, -pip/_internal/distributions/installed.cpython-38.pyc,, -pip/_vendor/html5lib/treebuilders/etree.cpython-38.pyc,, -pip/_vendor/chardet/langturkishmodel.cpython-38.pyc,, -pip/_internal/utils/direct_url_helpers.cpython-38.pyc,, -pip/_internal/operations/build/__init__.cpython-38.pyc,, -pip/_internal/pyproject.cpython-38.pyc,, -pip/_vendor/urllib3/_collections.cpython-38.pyc,, -pip/_vendor/urllib3/util/connection.cpython-38.pyc,, -pip/__pycache__,, -pip/_vendor/distlib/_backport/shutil.cpython-38.pyc,, -pip/_vendor/idna/__init__.cpython-38.pyc,, -pip/_internal/operations/__pycache__,, -pip/_internal/vcs/__init__.cpython-38.pyc,, -pip/_vendor/toml/decoder.cpython-38.pyc,, -pip/_vendor/cachecontrol/adapter.cpython-38.pyc,, -pip/_internal/resolution/resolvelib/__pycache__,, -pip/_internal/utils/pkg_resources.cpython-38.pyc,, -pip/_vendor/chardet/mbcharsetprober.cpython-38.pyc,, -pip/_internal/network/auth.cpython-38.pyc,, -pip/_vendor/pkg_resources/__pycache__,, -pip/_vendor/html5lib/treeadapters/__init__.cpython-38.pyc,, -pip/_vendor/html5lib/filters/__pycache__,, -pip/_internal/operations/build/metadata_legacy.cpython-38.pyc,, -pip/_internal/commands/show.cpython-38.pyc,, -pip/_vendor/appdirs.cpython-38.pyc,, -pip/_vendor/webencodings/mklabels.cpython-38.pyc,, -pip/_vendor/urllib3/util/queue.cpython-38.pyc,, -pip/_vendor/urllib3/util/retry.cpython-38.pyc,, -pip/_vendor/colorama/__pycache__,, -pip/_vendor/webencodings/labels.cpython-38.pyc,, -pip/_vendor/urllib3/contrib/__init__.cpython-38.pyc,, -pip/_vendor/msgpack/_version.cpython-38.pyc,, -pip/_vendor/resolvelib/compat/__init__.cpython-38.pyc,, -pip/_vendor/pep517/compat.cpython-38.pyc,, -pip/_vendor/html5lib/filters/sanitizer.cpython-38.pyc,, -pip/_vendor/urllib3/packages/backports/makefile.cpython-38.pyc,, -pip/_vendor/chardet/gb2312prober.cpython-38.pyc,, -pip/_vendor/requests/models.cpython-38.pyc,, -pip/_vendor/resolvelib/__init__.cpython-38.pyc,, -pip/_vendor/webencodings/__init__.cpython-38.pyc,, -pip/_vendor/distlib/__pycache__,, -pip/_vendor/cachecontrol/__init__.cpython-38.pyc,, -pip/_vendor/certifi/core.cpython-38.pyc,, -pip/_internal/req/req_file.cpython-38.pyc,, -pip/_internal/index/collector.cpython-38.pyc,, -pip/_vendor/requests/packages.cpython-38.pyc,, -pip/_vendor/chardet/cp949prober.cpython-38.pyc,, -pip/_vendor/progress/__init__.cpython-38.pyc,, -pip/_internal/operations/build/metadata.cpython-38.pyc,, -pip/_vendor/toml/__pycache__,, -pip/_vendor/html5lib/_inputstream.cpython-38.pyc,, -../../../bin/pip,, -pip/_vendor/idna/intranges.cpython-38.pyc,, -pip/_vendor/urllib3/contrib/_appengine_environ.cpython-38.pyc,, -pip/_vendor/requests/__pycache__,, -pip/_vendor/requests/auth.cpython-38.pyc,, -pip/_internal/utils/setuptools_build.cpython-38.pyc,, -pip/_vendor/distlib/database.cpython-38.pyc,, -pip/_vendor/distlib/_backport/sysconfig.cpython-38.pyc,, -pip/__init__.cpython-38.pyc,, -pip/_vendor/idna/codec.cpython-38.pyc,, -pip/_internal/utils/inject_securetransport.cpython-38.pyc,, -pip/_vendor/distlib/metadata.cpython-38.pyc,, -pip/_vendor/pkg_resources/py31compat.cpython-38.pyc,, -pip/_internal/cli/parser.cpython-38.pyc,, -pip/_internal/resolution/__init__.cpython-38.pyc,, -pip/_internal/network/cache.cpython-38.pyc,, -pip/_vendor/urllib3/packages/backports/__pycache__,, -pip/_internal/network/session.cpython-38.pyc,, -pip/_vendor/urllib3/packages/__pycache__,, -pip/_vendor/urllib3/filepost.cpython-38.pyc,, -pip/_vendor/urllib3/contrib/_securetransport/__pycache__,, -pip/_vendor/html5lib/treewalkers/etree.cpython-38.pyc,, -pip/_internal/__init__.cpython-38.pyc,, -pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__,, -pip/_vendor/chardet/charsetprober.cpython-38.pyc,, -pip/_vendor/chardet/latin1prober.cpython-38.pyc,, -pip/_vendor/pep517/dirtools.cpython-38.pyc,, -pip-20.2.2.virtualenv,, -pip/_vendor/resolvelib/__pycache__,, -pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.cpython-38.pyc,, -pip/_vendor/distlib/_backport/__pycache__,, -pip/_vendor/chardet/mbcssm.cpython-38.pyc,, -pip/_vendor/idna/__pycache__,, -pip/_internal/operations/__init__.cpython-38.pyc,, -pip/_vendor/packaging/utils.cpython-38.pyc,, -pip/_vendor/urllib3/util/timeout.cpython-38.pyc,, -pip/_vendor/distlib/util.cpython-38.pyc,, -pip/_vendor/cachecontrol/caches/file_cache.cpython-38.pyc,, -pip/_internal/resolution/resolvelib/provider.cpython-38.pyc,, -pip/_vendor/chardet/mbcsgroupprober.cpython-38.pyc,, -pip/_vendor/pep517/meta.cpython-38.pyc,, -pip/_vendor/cachecontrol/__pycache__,, -pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.cpython-38.pyc,, -pip/_internal/req/constructors.cpython-38.pyc,, -pip/_internal/models/index.cpython-38.pyc,, -pip/_internal/models/format_control.cpython-38.pyc,, -pip/_vendor/chardet/big5prober.cpython-38.pyc,, -pip/_internal/utils/hashes.cpython-38.pyc,, -pip/_vendor/cachecontrol/_cmd.cpython-38.pyc,, -pip/_vendor/distlib/_backport/misc.cpython-38.pyc,, -pip/_internal/vcs/versioncontrol.cpython-38.pyc,, -pip/__main__.cpython-38.pyc,, -pip/_vendor/msgpack/__pycache__,, -pip/_vendor/colorama/win32.cpython-38.pyc,, -pip/_vendor/html5lib/filters/alphabeticalattributes.cpython-38.pyc,, -pip/_internal/req/req_uninstall.cpython-38.pyc,, -pip/_vendor/certifi/__pycache__,, -pip/_internal/network/xmlrpc.cpython-38.pyc,, -pip/_vendor/webencodings/tests.cpython-38.pyc,, -pip/_internal/resolution/resolvelib/resolver.cpython-38.pyc,, -pip/_vendor/urllib3/exceptions.cpython-38.pyc,, -pip/_vendor/idna/uts46data.cpython-38.pyc,, -pip/_internal/cli/cmdoptions.cpython-38.pyc,, -pip/_vendor/html5lib/_trie/__init__.cpython-38.pyc,, -pip/_internal/cli/progress_bars.cpython-38.pyc,, -pip/_vendor/urllib3/util/ssl_.cpython-38.pyc,, -pip/_vendor/distlib/__init__.cpython-38.pyc,, -pip/_vendor/progress/spinner.cpython-38.pyc,, -pip/_internal/commands/search.cpython-38.pyc,, -pip/_internal/operations/freeze.cpython-38.pyc,, -pip/_internal/network/lazy_wheel.cpython-38.pyc,, -pip/_vendor/requests/__init__.cpython-38.pyc,, -pip/_vendor/packaging/__about__.cpython-38.pyc,, -pip/_vendor/chardet/langgreekmodel.cpython-38.pyc,, -pip/_internal/utils/logging.cpython-38.pyc,, -pip/_vendor/html5lib/treebuilders/base.cpython-38.pyc,, -pip/_internal/resolution/resolvelib/factory.cpython-38.pyc,, -pip/_vendor/pep517/envbuild.cpython-38.pyc,, -pip/_internal/resolution/base.cpython-38.pyc,, -pip/_vendor/chardet/__init__.cpython-38.pyc,, -pip/_vendor/chardet/jpcntx.cpython-38.pyc,, -pip/_vendor/chardet/codingstatemachine.cpython-38.pyc,, -pip/_vendor/urllib3/contrib/_securetransport/__init__.cpython-38.pyc,, -pip/_vendor/distlib/resources.cpython-38.pyc,, -pip/_vendor/resolvelib/resolvers.cpython-38.pyc,, -pip/_vendor/urllib3/fields.cpython-38.pyc,, -pip/_internal/cli/main_parser.cpython-38.pyc,, -pip/_internal/index/__pycache__,, -pip/_internal/utils/parallel.cpython-38.pyc,, -pip/_internal/commands/debug.cpython-38.pyc,, -pip/_vendor/colorama/ansitowin32.cpython-38.pyc,, -pip/_vendor/chardet/sbcharsetprober.cpython-38.pyc,, -pip/_internal/cli/autocompletion.cpython-38.pyc,, -pip/_vendor/urllib3/util/request.cpython-38.pyc,, -pip/_vendor/distlib/_backport/__init__.cpython-38.pyc,, -pip/_internal/models/selection_prefs.cpython-38.pyc,, -pip/_vendor/chardet/cli/chardetect.cpython-38.pyc,, -pip/_vendor/urllib3/request.cpython-38.pyc,, -pip/_internal/utils/__pycache__,, -pip/_internal/models/target_python.cpython-38.pyc,, -pip/_vendor/resolvelib/providers.cpython-38.pyc,, -pip/_vendor/packaging/tags.cpython-38.pyc,, -pip/_internal/commands/freeze.cpython-38.pyc,, -pip/_vendor/distlib/manifest.cpython-38.pyc,, -pip/_vendor/__init__.cpython-38.pyc,, -pip/_vendor/chardet/euctwprober.cpython-38.pyc,, -pip/_vendor/chardet/euckrfreq.cpython-38.pyc,, -pip/_vendor/webencodings/x_user_defined.cpython-38.pyc,, -pip/_internal/models/wheel.cpython-38.pyc,, -pip/_internal/cli/status_codes.cpython-38.pyc,, -pip/_internal/utils/appdirs.cpython-38.pyc,, -pip/_vendor/requests/sessions.cpython-38.pyc,, -pip/_vendor/six.cpython-38.pyc,, -pip/_vendor/urllib3/contrib/ntlmpool.cpython-38.pyc,, -pip/_vendor/chardet/sjisprober.cpython-38.pyc,, -pip/_internal/utils/datetime.cpython-38.pyc,, -pip/_vendor/certifi/__main__.cpython-38.pyc,, -pip/_internal/self_outdated_check.cpython-38.pyc,, -pip/_vendor/chardet/eucjpprober.cpython-38.pyc,, -pip/_vendor/distlib/_backport/tarfile.cpython-38.pyc,, -pip/_vendor/html5lib/treebuilders/__pycache__,, -pip/_vendor/urllib3/response.cpython-38.pyc,, -pip/_internal/commands/list.cpython-38.pyc,, -pip/_vendor/html5lib/filters/inject_meta_charset.cpython-38.pyc,, -pip/_internal/req/req_tracker.cpython-38.pyc,, -pip/_vendor/urllib3/connection.cpython-38.pyc,, -pip/_internal/cli/__init__.cpython-38.pyc,, -pip/_vendor/idna/compat.cpython-38.pyc,, -../../../bin/pip3.8,, -pip/_vendor/msgpack/fallback.cpython-38.pyc,, -pip/_vendor/chardet/universaldetector.cpython-38.pyc,, -pip/_vendor/chardet/hebrewprober.cpython-38.pyc,, -pip/_vendor/pep517/wrappers.cpython-38.pyc,, -pip/_internal/commands/install.cpython-38.pyc,, -pip/_vendor/chardet/big5freq.cpython-38.pyc,, -pip/_vendor/requests/api.cpython-38.pyc,, -pip/_internal/utils/subprocess.cpython-38.pyc,, -pip/_internal/utils/filetypes.cpython-38.pyc,, -pip/_vendor/distlib/scripts.cpython-38.pyc,, -pip/_internal/req/req_set.cpython-38.pyc,, -pip-20.2.2.dist-info/INSTALLER,, -pip/_vendor/webencodings/__pycache__,, -pip/_vendor/msgpack/__init__.cpython-38.pyc,, -pip/_internal/req/__pycache__,, -pip/_vendor/chardet/cli/__pycache__,, -pip/_vendor/distlib/locators.cpython-38.pyc,, -pip/_vendor/urllib3/__init__.cpython-38.pyc,, -pip/_vendor/requests/utils.cpython-38.pyc,, -pip/_vendor/ipaddress.cpython-38.pyc,, -pip/_vendor/packaging/_typing.cpython-38.pyc,, -pip/_vendor/chardet/langhungarianmodel.cpython-38.pyc,, -pip/_vendor/chardet/euctwfreq.cpython-38.pyc,, -pip/_internal/utils/glibc.cpython-38.pyc,, -pip/_vendor/html5lib/_utils.cpython-38.pyc,, -pip/_internal/models/candidate.cpython-38.pyc,, -pip/_internal/utils/unpacking.cpython-38.pyc,, -pip/_vendor/packaging/__pycache__,, -pip/_vendor/distlib/version.cpython-38.pyc,, -pip/_internal/commands/configuration.cpython-38.pyc,, -pip/_vendor/urllib3/poolmanager.cpython-38.pyc,, -pip/_vendor/urllib3/contrib/socks.cpython-38.pyc,, -pip/_internal/__pycache__,, -pip/_vendor/urllib3/util/response.cpython-38.pyc,, \ No newline at end of file diff --git a/tests/packagedcode/test_pypi.py b/tests/packagedcode/test_pypi.py index 37bd2043275..e6b73338d74 100644 --- a/tests/packagedcode/test_pypi.py +++ b/tests/packagedcode/test_pypi.py @@ -221,9 +221,9 @@ def test_parse_with_unpacked_wheel_meta_v21_1(self): self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_with_unpacked_wheel_meta_v21_2(self): - test_file = self.get_test_loc('pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info/METADATA') + test_file = self.get_test_loc('pypi/site-packages/codebase/lib/python3.9/site-packages/pip-20.2.2.dist-info/METADATA') package = pypi.PythonInstalledWheelMetadataFile.parse(test_file) - expected_loc = self.get_test_loc('pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info-expected.json') + expected_loc = self.get_test_loc('pypi/site-packages/pip-20.2.2.dist-info-expected.json') self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_with_unpacked_wheel_meta_v21_3(self): From 0bd356cd350392deaaadaa6b4873a91a4fb1ed0e Mon Sep 17 00:00:00 2001 From: Ayan Sinha Mahapatra Date: Wed, 5 Mar 2025 13:29:49 +0530 Subject: [PATCH 3/3] Fix license file parsing in pypi metadata files Reference: https://github.com/aboutcode-org/scancode-toolkit/issues/4174 Signed-off-by: Ayan Sinha Mahapatra --- src/packagedcode/pypi.py | 8 +- .../data/conda/assembly-conda-scan.json | 6 +- ...cted-with-test-manifests-with-license.json | 6 +- ...instance-expected-with-test-manifests.json | 6 +- .../site-packages/site-packages-expected.json | 6 +- .../data/pypi/solo-metadata/expected.json | 8 +- .../pip-22.0.4-pypi-package-expected.json | 9 +- ...pip-22.0.4-pypi-package-only-expected.json | 10 +- ....4-pypi-package-with-license-expected.json | 9 +- .../celery-expected.json | 9 +- .../beartype-0.19.0.dist-info-expected.json | 673 ++++++++++++++++++ .../beartype-0.19.0.dist-info/METADATA | 132 ++++ tests/packagedcode/test_pypi.py | 6 + .../summary-without-holder-pypi.expected.json | 6 +- 14 files changed, 865 insertions(+), 29 deletions(-) create mode 100644 tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.3/beartype-0.19.0.dist-info-expected.json create mode 100644 tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.3/beartype-0.19.0.dist-info/METADATA diff --git a/src/packagedcode/pypi.py b/src/packagedcode/pypi.py index be928b51e61..d7e710e877d 100644 --- a/src/packagedcode/pypi.py +++ b/src/packagedcode/pypi.py @@ -1642,10 +1642,10 @@ def get_declared_license(metainfo): # TODO: We should make the declared license as it is, this should be # updated in scancode to parse a pure string lic = get_attribute(metainfo, 'License') - - license_file = None - if lic and 'file' in lic: - license_file = lic.pop('file') + license_file = get_attribute(metainfo, 'License-File') + if not license_file and lic: + if isinstance(lic, dict) and 'file' in lic.keys(): + license_file = lic.pop('file') if lic and not lic == 'UNKNOWN': if 'text' in lic: diff --git a/tests/packagedcode/data/conda/assembly-conda-scan.json b/tests/packagedcode/data/conda/assembly-conda-scan.json index 97cecaa7c8f..0fdf72318fa 100644 --- a/tests/packagedcode/data/conda/assembly-conda-scan.json +++ b/tests/packagedcode/data/conda/assembly-conda-scan.json @@ -177,7 +177,8 @@ "is_private": false, "is_virtual": false, "extra_data": { - "Documentation": "https://requests.readthedocs.io" + "Documentation": "https://requests.readthedocs.io", + "license_file": "LICENSE" }, "repository_homepage_url": "https://pypi.org/project/requests", "repository_download_url": "https://pypi.org/packages/source/r/requests/requests-2.32.3.tar.gz", @@ -491,7 +492,8 @@ "is_private": false, "is_virtual": false, "extra_data": { - "Documentation": "https://requests.readthedocs.io" + "Documentation": "https://requests.readthedocs.io", + "license_file": "LICENSE" }, "dependencies": [ { diff --git a/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests-with-license.json b/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests-with-license.json index 3b61cf0b614..1038a27d4bf 100644 --- a/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests-with-license.json +++ b/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests-with-license.json @@ -77,7 +77,8 @@ "is_private": false, "is_virtual": false, "extra_data": { - "Documentation": "https://setuptools.readthedocs.io/" + "Documentation": "https://setuptools.readthedocs.io/", + "license_file": "LICENSE" }, "repository_homepage_url": "https://pypi.org/project/setuptools", "repository_download_url": "https://pypi.org/packages/source/s/setuptools/setuptools-58.2.0.tar.gz", @@ -308,7 +309,8 @@ "is_private": false, "is_virtual": false, "extra_data": { - "Documentation": "https://setuptools.readthedocs.io/" + "Documentation": "https://setuptools.readthedocs.io/", + "license_file": "LICENSE" }, "dependencies": [], "repository_homepage_url": "https://pypi.org/project/setuptools", diff --git a/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests.json b/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests.json index 31fd5ef7632..dca0492f5b7 100644 --- a/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests.json +++ b/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests.json @@ -77,7 +77,8 @@ "is_private": false, "is_virtual": false, "extra_data": { - "Documentation": "https://setuptools.readthedocs.io/" + "Documentation": "https://setuptools.readthedocs.io/", + "license_file": "LICENSE" }, "repository_homepage_url": "https://pypi.org/project/setuptools", "repository_download_url": "https://pypi.org/packages/source/s/setuptools/setuptools-58.2.0.tar.gz", @@ -194,7 +195,8 @@ "is_private": false, "is_virtual": false, "extra_data": { - "Documentation": "https://setuptools.readthedocs.io/" + "Documentation": "https://setuptools.readthedocs.io/", + "license_file": "LICENSE" }, "dependencies": [], "repository_homepage_url": "https://pypi.org/project/setuptools", diff --git a/tests/packagedcode/data/pypi/site-packages/site-packages-expected.json b/tests/packagedcode/data/pypi/site-packages/site-packages-expected.json index 7ab0b11fa1b..35cf983f1f7 100644 --- a/tests/packagedcode/data/pypi/site-packages/site-packages-expected.json +++ b/tests/packagedcode/data/pypi/site-packages/site-packages-expected.json @@ -187,7 +187,8 @@ "Documentation": "https://click.palletsprojects.com/", "Changes": "https://click.palletsprojects.com/changes/", "Twitter": "https://twitter.com/PalletsTeam", - "Chat": "https://discord.gg/pallets" + "Chat": "https://discord.gg/pallets", + "license_file": "LICENSE.rst" }, "repository_homepage_url": "https://pypi.org/project/click", "repository_download_url": "https://pypi.org/packages/source/c/click/click-8.0.4.tar.gz", @@ -717,7 +718,8 @@ "Documentation": "https://click.palletsprojects.com/", "Changes": "https://click.palletsprojects.com/changes/", "Twitter": "https://twitter.com/PalletsTeam", - "Chat": "https://discord.gg/pallets" + "Chat": "https://discord.gg/pallets", + "license_file": "LICENSE.rst" }, "dependencies": [ { diff --git a/tests/packagedcode/data/pypi/solo-metadata/expected.json b/tests/packagedcode/data/pypi/solo-metadata/expected.json index 8ee5f4558a6..2c9f0948c6f 100644 --- a/tests/packagedcode/data/pypi/solo-metadata/expected.json +++ b/tests/packagedcode/data/pypi/solo-metadata/expected.json @@ -93,7 +93,9 @@ "source_packages": [], "is_private": false, "is_virtual": false, - "extra_data": {}, + "extra_data": { + "license_file": "apache-2.0.LICENSE" + }, "repository_homepage_url": "https://pypi.org/project/scancode-toolkit", "repository_download_url": "https://pypi.org/packages/source/s/scancode-toolkit/scancode-toolkit-31.0.0b1.tar.gz", "api_data_url": "https://pypi.org/pypi/scancode-toolkit/31.0.0b1/json", @@ -207,7 +209,9 @@ "file_references": [], "is_private": false, "is_virtual": false, - "extra_data": {}, + "extra_data": { + "license_file": "apache-2.0.LICENSE" + }, "dependencies": [], "repository_homepage_url": "https://pypi.org/project/scancode-toolkit", "repository_download_url": "https://pypi.org/packages/source/s/scancode-toolkit/scancode-toolkit-31.0.0b1.tar.gz", diff --git a/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-expected.json b/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-expected.json index 262e4c5370c..c06077ff2ad 100644 --- a/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-expected.json +++ b/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-expected.json @@ -103,7 +103,8 @@ "is_virtual": false, "extra_data": { "Documentation": "https://pip.pypa.io", - "Changelog": "https://pip.pypa.io/en/stable/news/" + "Changelog": "https://pip.pypa.io/en/stable/news/", + "license_file": "LICENSE.txt" }, "repository_homepage_url": "https://pypi.org/project/pip", "repository_download_url": "https://pypi.org/packages/source/p/pip/pip-22.0.4.tar.gz", @@ -264,7 +265,8 @@ "is_virtual": false, "extra_data": { "Documentation": "https://pip.pypa.io", - "Changelog": "https://pip.pypa.io/en/stable/news/" + "Changelog": "https://pip.pypa.io/en/stable/news/", + "license_file": "LICENSE.txt" }, "dependencies": [], "repository_homepage_url": "https://pypi.org/project/pip", @@ -1111,7 +1113,8 @@ "is_virtual": false, "extra_data": { "Documentation": "https://pip.pypa.io", - "Changelog": "https://pip.pypa.io/en/stable/news/" + "Changelog": "https://pip.pypa.io/en/stable/news/", + "license_file": "LICENSE.txt" }, "dependencies": [], "repository_homepage_url": "https://pypi.org/project/pip", diff --git a/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-only-expected.json b/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-only-expected.json index e7b27b7496c..efca702eb11 100644 --- a/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-only-expected.json +++ b/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-only-expected.json @@ -93,7 +93,8 @@ "is_virtual": false, "extra_data": { "Documentation": "https://pip.pypa.io", - "Changelog": "https://pip.pypa.io/en/stable/news/" + "Changelog": "https://pip.pypa.io/en/stable/news/", + "license_file": "LICENSE.txt" }, "dependencies": [], "repository_homepage_url": "https://pypi.org/project/pip", @@ -409,12 +410,12 @@ "notice_text": null, "source_packages": [], "file_references": [], + "is_private": false, + "is_virtual": false, "extra_data": { "Documentation": "https://pip.pypa.io", "Changelog": "https://pip.pypa.io/en/stable/news/" }, - "is_private": false, - "is_virtual": false, "dependencies": [], "repository_homepage_url": "https://pypi.org/project/pip", "repository_download_url": null, @@ -793,7 +794,8 @@ "is_virtual": false, "extra_data": { "Documentation": "https://pip.pypa.io", - "Changelog": "https://pip.pypa.io/en/stable/news/" + "Changelog": "https://pip.pypa.io/en/stable/news/", + "license_file": "LICENSE.txt" }, "dependencies": [], "repository_homepage_url": "https://pypi.org/project/pip", diff --git a/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-with-license-expected.json b/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-with-license-expected.json index 29c66bc3324..4c9598252f3 100644 --- a/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-with-license-expected.json +++ b/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-with-license-expected.json @@ -103,7 +103,8 @@ "is_virtual": false, "extra_data": { "Documentation": "https://pip.pypa.io", - "Changelog": "https://pip.pypa.io/en/stable/news/" + "Changelog": "https://pip.pypa.io/en/stable/news/", + "license_file": "LICENSE.txt" }, "repository_homepage_url": "https://pypi.org/project/pip", "repository_download_url": "https://pypi.org/packages/source/p/pip/pip-22.0.4.tar.gz", @@ -518,7 +519,8 @@ "is_virtual": false, "extra_data": { "Documentation": "https://pip.pypa.io", - "Changelog": "https://pip.pypa.io/en/stable/news/" + "Changelog": "https://pip.pypa.io/en/stable/news/", + "license_file": "LICENSE.txt" }, "dependencies": [], "repository_homepage_url": "https://pypi.org/project/pip", @@ -1660,7 +1662,8 @@ "is_virtual": false, "extra_data": { "Documentation": "https://pip.pypa.io", - "Changelog": "https://pip.pypa.io/en/stable/news/" + "Changelog": "https://pip.pypa.io/en/stable/news/", + "license_file": "LICENSE.txt" }, "dependencies": [], "repository_homepage_url": "https://pypi.org/project/pip", diff --git a/tests/packagedcode/data/pypi/unpacked_sdist/prefer-egg-info-pkg-info/celery-expected.json b/tests/packagedcode/data/pypi/unpacked_sdist/prefer-egg-info-pkg-info/celery-expected.json index 0962c9ccc0c..2182282bdfb 100644 --- a/tests/packagedcode/data/pypi/unpacked_sdist/prefer-egg-info-pkg-info/celery-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_sdist/prefer-egg-info-pkg-info/celery-expected.json @@ -107,7 +107,8 @@ "extra_data": { "Documentation": "https://docs.celeryproject.org/en/latest/index.html", "Changelog": "https://docs.celeryproject.org/en/stable/changelog.html", - "Funding": "https://opencollective.com/celery" + "Funding": "https://opencollective.com/celery", + "license_file": "LICENSE" }, "repository_homepage_url": "https://pypi.org/project/celery", "repository_download_url": "https://pypi.org/packages/source/c/celery/celery-5.2.7.tar.gz", @@ -1336,7 +1337,8 @@ "extra_data": { "Documentation": "https://docs.celeryproject.org/en/latest/index.html", "Changelog": "https://docs.celeryproject.org/en/stable/changelog.html", - "Funding": "https://opencollective.com/celery" + "Funding": "https://opencollective.com/celery", + "license_file": "LICENSE" }, "dependencies": [], "repository_homepage_url": "https://pypi.org/project/celery", @@ -7339,7 +7341,8 @@ "extra_data": { "Documentation": "https://docs.celeryproject.org/en/latest/index.html", "Changelog": "https://docs.celeryproject.org/en/stable/changelog.html", - "Funding": "https://opencollective.com/celery" + "Funding": "https://opencollective.com/celery", + "license_file": "LICENSE" }, "dependencies": [ { diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.3/beartype-0.19.0.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.3/beartype-0.19.0.dist-info-expected.json new file mode 100644 index 00000000000..e8eca33049e --- /dev/null +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.3/beartype-0.19.0.dist-info-expected.json @@ -0,0 +1,673 @@ +[ + { + "type": "pypi", + "namespace": null, + "name": "beartype", + "version": "0.19.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Python", + "description": "Unbearably fast near-real-time hybrid runtime-static type-checking in pure Python.\n.. # ------------------( LICENSE )------------------\n.. # Copyright (c) 2014-2024 Beartype authors.\n.. # See \"LICENSE\" for further details.\n.. #\n.. # ------------------( SEO )------------------\n.. # Metadata converted into HTML-specific meta tags parsed by search engines.\n.. # Note that:\n.. # * The \"description\" should be no more than 300 characters and ideally no\n.. # more than 150 characters, as search engines may silently truncate this\n.. # description to 150 characters in edge cases.\n\n.. meta::\n :description lang=en:\n Beartype is an open-source pure-Python PEP-compliant constant-time runtime\n type checker emphasizing efficiency and portability.\n\n**Beartype** is an `open-source `__ `pure-Python `__ `PEP-compliant `__ `near-real-time `__\n`hybrid runtime-static `__ `third-generation `__ `type checker `__ emphasizing efficiency,\nusability, unsubstantiated jargon we just made up, and thrilling puns.\n\n.. #FIXME: Once we actually receive a sponsor at this tier, please remove this\n.. #placeholder as well as the icon links below. kthx\n.. #The `Bear Team `__ gratefully thanks `our family of\n.. #breathtaking GitHub Sponsors `__:\n.. #\n.. #* **Your iconic URL here.** `Let us bestow you with eyeballs `__.\n.. #FIXME: Once we actually receive a sponsor at this tier, please remove this\n.. #placeholder as well as the icon links below. kthx\n.. # |icon-for-glorious-sponsor|", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": null, + "email": "Cecil Curry ", + "url": null + } + ], + "keywords": [ + "annotations", + "python", + "type checking", + "type hints", + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Natural Language :: English", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3 :: Only", + "Topic :: Software Development :: Code Generators", + "Topic :: Software Development :: Libraries :: Python Modules", + "Topic :: Software Development :: Quality Assurance", + "Typing :: Typed" + ], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/beartype/beartype/issues", + "code_view_url": null, + "vcs_url": "https://github.com/beartype/beartype", + "copyright": null, + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": null, + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_14.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", + "matched_text": "MIT License" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": null, + "start_line": 5, + "end_line": 21, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE." + } + ], + "identifier": "mit-ac40beba-5702-f54d-755f-333441314bb0" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": null, + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", + "matched_text": "- 'License :: OSI Approved :: MIT License'" + } + ], + "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "license: |\n MIT License\n\n Copyright (c) 2014-2024 Beartype authors.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\nclassifiers:\n - 'License :: OSI Approved :: MIT License'\n", + "notice_text": null, + "source_packages": [], + "file_references": [], + "is_private": false, + "is_virtual": false, + "extra_data": { + "Docs": "https://beartype.readthedocs.io", + "Forums": "https://github.com/beartype/beartype/discussions", + "Releases": "https://github.com/beartype/beartype/releases", + "license_file": "LICENSE" + }, + "dependencies": [ + { + "purl": "pkg:pypi/autoapi", + "extracted_requirement": ">=0.9.0", + "scope": "dev", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/coverage", + "extracted_requirement": ">=5.5", + "scope": "dev", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/equinox", + "extracted_requirement": null, + "scope": "dev", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/jax", + "extracted_requirement": null, + "scope": "dev", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/jaxtyping", + "extracted_requirement": null, + "scope": "dev", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/mypy", + "extracted_requirement": ">=0.800", + "scope": "dev", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/numba", + "extracted_requirement": null, + "scope": "dev", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/numpy", + "extracted_requirement": null, + "scope": "dev", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/pandera", + "extracted_requirement": null, + "scope": "dev", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/pydata-sphinx-theme", + "extracted_requirement": "<=0.7.2", + "scope": "dev", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/pygments", + "extracted_requirement": null, + "scope": "dev", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/pyright", + "extracted_requirement": ">=1.1.370", + "scope": "dev", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/pytest", + "extracted_requirement": ">=4.0.0", + "scope": "dev", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/sphinx", + "extracted_requirement": null, + "scope": "dev", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/sphinx", + "extracted_requirement": "<6.0.0,>=4.2.0", + "scope": "dev", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/sphinxext-opengraph", + "extracted_requirement": ">=0.7.5", + "scope": "dev", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/tox", + "extracted_requirement": ">=3.20.1", + "scope": "dev", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/typing-extensions", + "extracted_requirement": ">=3.10.0.0", + "scope": "dev", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/autoapi", + "extracted_requirement": ">=0.9.0", + "scope": "doc-rtd", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/pydata-sphinx-theme", + "extracted_requirement": "<=0.7.2", + "scope": "doc-rtd", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/sphinx", + "extracted_requirement": "<6.0.0,>=4.2.0", + "scope": "doc-rtd", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/sphinxext-opengraph", + "extracted_requirement": ">=0.7.5", + "scope": "doc-rtd", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/coverage", + "extracted_requirement": ">=5.5", + "scope": "test", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/equinox", + "extracted_requirement": null, + "scope": "test", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/jax", + "extracted_requirement": null, + "scope": "test", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/jaxtyping", + "extracted_requirement": null, + "scope": "test", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/mypy", + "extracted_requirement": ">=0.800", + "scope": "test", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/numba", + "extracted_requirement": null, + "scope": "test", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/numpy", + "extracted_requirement": null, + "scope": "test", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/pandera", + "extracted_requirement": null, + "scope": "test", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/pygments", + "extracted_requirement": null, + "scope": "test", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/pyright", + "extracted_requirement": ">=1.1.370", + "scope": "test", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/pytest", + "extracted_requirement": ">=4.0.0", + "scope": "test", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/sphinx", + "extracted_requirement": null, + "scope": "test", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/tox", + "extracted_requirement": ">=3.20.1", + "scope": "test", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/typing-extensions", + "extracted_requirement": ">=3.10.0.0", + "scope": "test", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/equinox", + "extracted_requirement": null, + "scope": "test-tox", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/jax", + "extracted_requirement": null, + "scope": "test-tox", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/jaxtyping", + "extracted_requirement": null, + "scope": "test-tox", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/mypy", + "extracted_requirement": ">=0.800", + "scope": "test-tox", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/numba", + "extracted_requirement": null, + "scope": "test-tox", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/numpy", + "extracted_requirement": null, + "scope": "test-tox", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/pandera", + "extracted_requirement": null, + "scope": "test-tox", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/pygments", + "extracted_requirement": null, + "scope": "test-tox", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/pyright", + "extracted_requirement": ">=1.1.370", + "scope": "test-tox", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/pytest", + "extracted_requirement": ">=4.0.0", + "scope": "test-tox", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/sphinx", + "extracted_requirement": null, + "scope": "test-tox", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/typing-extensions", + "extracted_requirement": ">=3.10.0.0", + "scope": "test-tox", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/coverage", + "extracted_requirement": ">=5.5", + "scope": "test-tox-coverage", + "is_runtime": true, + "is_optional": true, + "is_pinned": false, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": "https://pypi.org/project/beartype", + "repository_download_url": "https://pypi.org/packages/source/b/beartype/beartype-0.19.0.tar.gz", + "api_data_url": "https://pypi.org/pypi/beartype/0.19.0/json", + "datasource_id": "pypi_wheel_metadata", + "purl": "pkg:pypi/beartype@0.19.0" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.3/beartype-0.19.0.dist-info/METADATA b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.3/beartype-0.19.0.dist-info/METADATA new file mode 100644 index 00000000000..ee47f9e10f6 --- /dev/null +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.3/beartype-0.19.0.dist-info/METADATA @@ -0,0 +1,132 @@ +Metadata-Version: 2.3 +Name: beartype +Version: 0.19.0 +Summary: Unbearably fast near-real-time hybrid runtime-static type-checking in pure Python. +Project-URL: Docs, https://beartype.readthedocs.io +Project-URL: GitHub, https://github.com/beartype/beartype +Project-URL: Forums, https://github.com/beartype/beartype/discussions +Project-URL: Issues, https://github.com/beartype/beartype/issues +Project-URL: Releases, https://github.com/beartype/beartype/releases +Author-email: Cecil Curry +License: MIT License + + Copyright (c) 2014-2024 Beartype authors. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +License-File: LICENSE +Keywords: annotations,python,type checking,type hints +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Natural Language :: English +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Topic :: Software Development :: Code Generators +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Classifier: Topic :: Software Development :: Quality Assurance +Classifier: Typing :: Typed +Requires-Python: >=3.8 +Provides-Extra: dev +Requires-Dist: autoapi>=0.9.0; extra == 'dev' +Requires-Dist: coverage>=5.5; extra == 'dev' +Requires-Dist: equinox; (sys_platform == 'linux') and extra == 'dev' +Requires-Dist: jax[cpu]; (sys_platform == 'linux') and extra == 'dev' +Requires-Dist: jaxtyping; (sys_platform == 'linux') and extra == 'dev' +Requires-Dist: mypy>=0.800; (platform_python_implementation != 'PyPy') and extra == 'dev' +Requires-Dist: numba; extra == 'dev' +Requires-Dist: numpy; (sys_platform != 'darwin' and platform_python_implementation != 'PyPy') and extra == 'dev' +Requires-Dist: pandera; extra == 'dev' +Requires-Dist: pydata-sphinx-theme<=0.7.2; extra == 'dev' +Requires-Dist: pygments; extra == 'dev' +Requires-Dist: pyright>=1.1.370; extra == 'dev' +Requires-Dist: pytest>=4.0.0; extra == 'dev' +Requires-Dist: sphinx; (python_version >= '3.8.0') and extra == 'dev' +Requires-Dist: sphinx<6.0.0,>=4.2.0; extra == 'dev' +Requires-Dist: sphinxext-opengraph>=0.7.5; extra == 'dev' +Requires-Dist: tox>=3.20.1; extra == 'dev' +Requires-Dist: typing-extensions>=3.10.0.0; extra == 'dev' +Provides-Extra: doc-rtd +Requires-Dist: autoapi>=0.9.0; extra == 'doc-rtd' +Requires-Dist: pydata-sphinx-theme<=0.7.2; extra == 'doc-rtd' +Requires-Dist: sphinx<6.0.0,>=4.2.0; extra == 'doc-rtd' +Requires-Dist: sphinxext-opengraph>=0.7.5; extra == 'doc-rtd' +Provides-Extra: test +Requires-Dist: coverage>=5.5; extra == 'test' +Requires-Dist: equinox; (sys_platform == 'linux') and extra == 'test' +Requires-Dist: jax[cpu]; (sys_platform == 'linux') and extra == 'test' +Requires-Dist: jaxtyping; (sys_platform == 'linux') and extra == 'test' +Requires-Dist: mypy>=0.800; (platform_python_implementation != 'PyPy') and extra == 'test' +Requires-Dist: numba; extra == 'test' +Requires-Dist: numpy; (sys_platform != 'darwin' and platform_python_implementation != 'PyPy') and extra == 'test' +Requires-Dist: pandera; extra == 'test' +Requires-Dist: pygments; extra == 'test' +Requires-Dist: pyright>=1.1.370; extra == 'test' +Requires-Dist: pytest>=4.0.0; extra == 'test' +Requires-Dist: sphinx; (python_version >= '3.8.0') and extra == 'test' +Requires-Dist: tox>=3.20.1; extra == 'test' +Requires-Dist: typing-extensions>=3.10.0.0; extra == 'test' +Provides-Extra: test-tox +Requires-Dist: equinox; (sys_platform == 'linux') and extra == 'test-tox' +Requires-Dist: jax[cpu]; (sys_platform == 'linux') and extra == 'test-tox' +Requires-Dist: jaxtyping; (sys_platform == 'linux') and extra == 'test-tox' +Requires-Dist: mypy>=0.800; (platform_python_implementation != 'PyPy') and extra == 'test-tox' +Requires-Dist: numba; extra == 'test-tox' +Requires-Dist: numpy; (sys_platform != 'darwin' and platform_python_implementation != 'PyPy') and extra == 'test-tox' +Requires-Dist: pandera; extra == 'test-tox' +Requires-Dist: pygments; extra == 'test-tox' +Requires-Dist: pyright>=1.1.370; extra == 'test-tox' +Requires-Dist: pytest>=4.0.0; extra == 'test-tox' +Requires-Dist: sphinx; (python_version >= '3.8.0') and extra == 'test-tox' +Requires-Dist: typing-extensions>=3.10.0.0; extra == 'test-tox' +Provides-Extra: test-tox-coverage +Requires-Dist: coverage>=5.5; extra == 'test-tox-coverage' +Description-Content-Type: text/x-rst + +.. # ------------------( LICENSE )------------------ +.. # Copyright (c) 2014-2024 Beartype authors. +.. # See "LICENSE" for further details. +.. # +.. # ------------------( SEO )------------------ +.. # Metadata converted into HTML-specific meta tags parsed by search engines. +.. # Note that: +.. # * The "description" should be no more than 300 characters and ideally no +.. # more than 150 characters, as search engines may silently truncate this +.. # description to 150 characters in edge cases. + +.. meta:: + :description lang=en: + Beartype is an open-source pure-Python PEP-compliant constant-time runtime + type checker emphasizing efficiency and portability. + +**Beartype** is an `open-source `__ `pure-Python `__ `PEP-compliant `__ `near-real-time `__ +`hybrid runtime-static `__ `third-generation `__ `type checker `__ emphasizing efficiency, +usability, unsubstantiated jargon we just made up, and thrilling puns. + +.. #FIXME: Once we actually receive a sponsor at this tier, please remove this +.. #placeholder as well as the icon links below. kthx +.. #The `Bear Team `__ gratefully thanks `our family of +.. #breathtaking GitHub Sponsors `__: +.. # +.. #* **Your iconic URL here.** `Let us bestow you with eyeballs `__. +.. #FIXME: Once we actually receive a sponsor at this tier, please remove this +.. #placeholder as well as the icon links below. kthx +.. # |icon-for-glorious-sponsor| diff --git a/tests/packagedcode/test_pypi.py b/tests/packagedcode/test_pypi.py index e6b73338d74..e0d25889741 100644 --- a/tests/packagedcode/test_pypi.py +++ b/tests/packagedcode/test_pypi.py @@ -238,6 +238,12 @@ def test_parse_with_unpacked_wheel_meta_v21__with_sources(self): expected_loc = self.get_test_loc('pypi/unpacked_wheel/metadata-2.1/with_sources/anonapi-0.0.19.dist-info-expected.json') self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) + def test_parse_with_unpacked_wheel_meta_v23_1(self): + test_file = self.get_test_loc('pypi/unpacked_wheel/metadata-2.3/beartype-0.19.0.dist-info/METADATA') + package = pypi.PythonInstalledWheelMetadataFile.parse(test_file) + expected_loc = self.get_test_loc('pypi/unpacked_wheel/metadata-2.3/beartype-0.19.0.dist-info-expected.json') + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) + class TestPypiUnpackedSdist(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') diff --git a/tests/summarycode/data/summary/summary_without_holder/summary-without-holder-pypi.expected.json b/tests/summarycode/data/summary/summary_without_holder/summary-without-holder-pypi.expected.json index 2355fb4d4cd..17703517d7f 100644 --- a/tests/summarycode/data/summary/summary_without_holder/summary-without-holder-pypi.expected.json +++ b/tests/summarycode/data/summary/summary_without_holder/summary-without-holder-pypi.expected.json @@ -117,7 +117,8 @@ "is_virtual": false, "extra_data": { "Documentation": "https://pip.pypa.io", - "Changelog": "https://pip.pypa.io/en/stable/news/" + "Changelog": "https://pip.pypa.io/en/stable/news/", + "license_file": "LICENSE.txt" }, "repository_homepage_url": "https://pypi.org/project/pip", "repository_download_url": "https://pypi.org/packages/source/p/pip/pip-22.0.4.tar.gz", @@ -561,7 +562,8 @@ "is_virtual": false, "extra_data": { "Documentation": "https://pip.pypa.io", - "Changelog": "https://pip.pypa.io/en/stable/news/" + "Changelog": "https://pip.pypa.io/en/stable/news/", + "license_file": "LICENSE.txt" }, "dependencies": [], "repository_homepage_url": "https://pypi.org/project/pip",