cli-ih 0.6.3__py3-none-any.whl → 0.6.3.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cli_ih/asyncClient.py +13 -7
- cli_ih/client.py +13 -6
- {cli_ih-0.6.3.dist-info → cli_ih-0.6.3.1.dist-info}/METADATA +1 -1
- cli_ih-0.6.3.1.dist-info/RECORD +425 -0
- {cli_ih-0.6.3.dist-info → cli_ih-0.6.3.1.dist-info}/WHEEL +1 -1
- {cli_ih-0.6.3.dist-info → cli_ih-0.6.3.1.dist-info}/top_level.txt +1 -0
- venv/Lib/site-packages/__editable___cli_ih_0_6_3_1_finder.py +85 -0
- venv/Lib/site-packages/pip/__init__.py +13 -0
- venv/Lib/site-packages/pip/__main__.py +24 -0
- venv/Lib/site-packages/pip/__pip-runner__.py +50 -0
- venv/Lib/site-packages/pip/_internal/__init__.py +18 -0
- venv/Lib/site-packages/pip/_internal/build_env.py +349 -0
- venv/Lib/site-packages/pip/_internal/cache.py +291 -0
- venv/Lib/site-packages/pip/_internal/cli/__init__.py +3 -0
- venv/Lib/site-packages/pip/_internal/cli/autocompletion.py +184 -0
- venv/Lib/site-packages/pip/_internal/cli/base_command.py +244 -0
- venv/Lib/site-packages/pip/_internal/cli/cmdoptions.py +1138 -0
- venv/Lib/site-packages/pip/_internal/cli/command_context.py +28 -0
- venv/Lib/site-packages/pip/_internal/cli/index_command.py +175 -0
- venv/Lib/site-packages/pip/_internal/cli/main.py +80 -0
- venv/Lib/site-packages/pip/_internal/cli/main_parser.py +134 -0
- venv/Lib/site-packages/pip/_internal/cli/parser.py +298 -0
- venv/Lib/site-packages/pip/_internal/cli/progress_bars.py +151 -0
- venv/Lib/site-packages/pip/_internal/cli/req_command.py +351 -0
- venv/Lib/site-packages/pip/_internal/cli/spinners.py +235 -0
- venv/Lib/site-packages/pip/_internal/cli/status_codes.py +6 -0
- venv/Lib/site-packages/pip/_internal/commands/__init__.py +139 -0
- venv/Lib/site-packages/pip/_internal/commands/cache.py +231 -0
- venv/Lib/site-packages/pip/_internal/commands/check.py +66 -0
- venv/Lib/site-packages/pip/_internal/commands/completion.py +135 -0
- venv/Lib/site-packages/pip/_internal/commands/configuration.py +288 -0
- venv/Lib/site-packages/pip/_internal/commands/debug.py +203 -0
- venv/Lib/site-packages/pip/_internal/commands/download.py +145 -0
- venv/Lib/site-packages/pip/_internal/commands/freeze.py +107 -0
- venv/Lib/site-packages/pip/_internal/commands/hash.py +58 -0
- venv/Lib/site-packages/pip/_internal/commands/help.py +40 -0
- venv/Lib/site-packages/pip/_internal/commands/index.py +159 -0
- venv/Lib/site-packages/pip/_internal/commands/inspect.py +92 -0
- venv/Lib/site-packages/pip/_internal/commands/install.py +798 -0
- venv/Lib/site-packages/pip/_internal/commands/list.py +400 -0
- venv/Lib/site-packages/pip/_internal/commands/lock.py +170 -0
- venv/Lib/site-packages/pip/_internal/commands/search.py +178 -0
- venv/Lib/site-packages/pip/_internal/commands/show.py +231 -0
- venv/Lib/site-packages/pip/_internal/commands/uninstall.py +113 -0
- venv/Lib/site-packages/pip/_internal/commands/wheel.py +181 -0
- venv/Lib/site-packages/pip/_internal/configuration.py +397 -0
- venv/Lib/site-packages/pip/_internal/distributions/__init__.py +21 -0
- venv/Lib/site-packages/pip/_internal/distributions/base.py +55 -0
- venv/Lib/site-packages/pip/_internal/distributions/installed.py +33 -0
- venv/Lib/site-packages/pip/_internal/distributions/sdist.py +165 -0
- venv/Lib/site-packages/pip/_internal/distributions/wheel.py +44 -0
- venv/Lib/site-packages/pip/_internal/exceptions.py +881 -0
- venv/Lib/site-packages/pip/_internal/index/__init__.py +1 -0
- venv/Lib/site-packages/pip/_internal/index/collector.py +489 -0
- venv/Lib/site-packages/pip/_internal/index/package_finder.py +1059 -0
- venv/Lib/site-packages/pip/_internal/index/sources.py +287 -0
- venv/Lib/site-packages/pip/_internal/locations/__init__.py +441 -0
- venv/Lib/site-packages/pip/_internal/locations/_distutils.py +173 -0
- venv/Lib/site-packages/pip/_internal/locations/_sysconfig.py +215 -0
- venv/Lib/site-packages/pip/_internal/locations/base.py +82 -0
- venv/Lib/site-packages/pip/_internal/main.py +12 -0
- venv/Lib/site-packages/pip/_internal/metadata/__init__.py +164 -0
- venv/Lib/site-packages/pip/_internal/metadata/_json.py +87 -0
- venv/Lib/site-packages/pip/_internal/metadata/base.py +685 -0
- venv/Lib/site-packages/pip/_internal/metadata/importlib/__init__.py +6 -0
- venv/Lib/site-packages/pip/_internal/metadata/importlib/_compat.py +87 -0
- venv/Lib/site-packages/pip/_internal/metadata/importlib/_dists.py +223 -0
- venv/Lib/site-packages/pip/_internal/metadata/importlib/_envs.py +143 -0
- venv/Lib/site-packages/pip/_internal/metadata/pkg_resources.py +298 -0
- venv/Lib/site-packages/pip/_internal/models/__init__.py +1 -0
- venv/Lib/site-packages/pip/_internal/models/candidate.py +25 -0
- venv/Lib/site-packages/pip/_internal/models/direct_url.py +227 -0
- venv/Lib/site-packages/pip/_internal/models/format_control.py +78 -0
- venv/Lib/site-packages/pip/_internal/models/index.py +28 -0
- venv/Lib/site-packages/pip/_internal/models/installation_report.py +57 -0
- venv/Lib/site-packages/pip/_internal/models/link.py +613 -0
- venv/Lib/site-packages/pip/_internal/models/pylock.py +188 -0
- venv/Lib/site-packages/pip/_internal/models/scheme.py +25 -0
- venv/Lib/site-packages/pip/_internal/models/search_scope.py +126 -0
- venv/Lib/site-packages/pip/_internal/models/selection_prefs.py +53 -0
- venv/Lib/site-packages/pip/_internal/models/target_python.py +122 -0
- venv/Lib/site-packages/pip/_internal/models/wheel.py +141 -0
- venv/Lib/site-packages/pip/_internal/network/__init__.py +1 -0
- venv/Lib/site-packages/pip/_internal/network/auth.py +564 -0
- venv/Lib/site-packages/pip/_internal/network/cache.py +133 -0
- venv/Lib/site-packages/pip/_internal/network/download.py +342 -0
- venv/Lib/site-packages/pip/_internal/network/lazy_wheel.py +213 -0
- venv/Lib/site-packages/pip/_internal/network/session.py +528 -0
- venv/Lib/site-packages/pip/_internal/network/utils.py +98 -0
- venv/Lib/site-packages/pip/_internal/network/xmlrpc.py +61 -0
- venv/Lib/site-packages/pip/_internal/operations/__init__.py +0 -0
- venv/Lib/site-packages/pip/_internal/operations/build/__init__.py +0 -0
- venv/Lib/site-packages/pip/_internal/operations/build/build_tracker.py +140 -0
- venv/Lib/site-packages/pip/_internal/operations/build/metadata.py +38 -0
- venv/Lib/site-packages/pip/_internal/operations/build/metadata_editable.py +41 -0
- venv/Lib/site-packages/pip/_internal/operations/build/metadata_legacy.py +73 -0
- venv/Lib/site-packages/pip/_internal/operations/build/wheel.py +38 -0
- venv/Lib/site-packages/pip/_internal/operations/build/wheel_editable.py +47 -0
- venv/Lib/site-packages/pip/_internal/operations/build/wheel_legacy.py +119 -0
- venv/Lib/site-packages/pip/_internal/operations/check.py +175 -0
- venv/Lib/site-packages/pip/_internal/operations/freeze.py +259 -0
- venv/Lib/site-packages/pip/_internal/operations/install/__init__.py +1 -0
- venv/Lib/site-packages/pip/_internal/operations/install/editable_legacy.py +48 -0
- venv/Lib/site-packages/pip/_internal/operations/install/wheel.py +746 -0
- venv/Lib/site-packages/pip/_internal/operations/prepare.py +742 -0
- venv/Lib/site-packages/pip/_internal/pyproject.py +182 -0
- venv/Lib/site-packages/pip/_internal/req/__init__.py +105 -0
- venv/Lib/site-packages/pip/_internal/req/constructors.py +562 -0
- venv/Lib/site-packages/pip/_internal/req/req_dependency_group.py +75 -0
- venv/Lib/site-packages/pip/_internal/req/req_file.py +620 -0
- venv/Lib/site-packages/pip/_internal/req/req_install.py +937 -0
- venv/Lib/site-packages/pip/_internal/req/req_set.py +81 -0
- venv/Lib/site-packages/pip/_internal/req/req_uninstall.py +639 -0
- venv/Lib/site-packages/pip/_internal/resolution/__init__.py +0 -0
- venv/Lib/site-packages/pip/_internal/resolution/base.py +20 -0
- venv/Lib/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
- venv/Lib/site-packages/pip/_internal/resolution/legacy/resolver.py +598 -0
- venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
- venv/Lib/site-packages/pip/_internal/resolution/resolvelib/base.py +142 -0
- venv/Lib/site-packages/pip/_internal/resolution/resolvelib/candidates.py +582 -0
- venv/Lib/site-packages/pip/_internal/resolution/resolvelib/factory.py +814 -0
- venv/Lib/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +166 -0
- venv/Lib/site-packages/pip/_internal/resolution/resolvelib/provider.py +276 -0
- venv/Lib/site-packages/pip/_internal/resolution/resolvelib/reporter.py +85 -0
- venv/Lib/site-packages/pip/_internal/resolution/resolvelib/requirements.py +247 -0
- venv/Lib/site-packages/pip/_internal/resolution/resolvelib/resolver.py +336 -0
- venv/Lib/site-packages/pip/_internal/self_outdated_check.py +254 -0
- venv/Lib/site-packages/pip/_internal/utils/__init__.py +0 -0
- venv/Lib/site-packages/pip/_internal/utils/_jaraco_text.py +109 -0
- venv/Lib/site-packages/pip/_internal/utils/_log.py +38 -0
- venv/Lib/site-packages/pip/_internal/utils/appdirs.py +52 -0
- venv/Lib/site-packages/pip/_internal/utils/compat.py +85 -0
- venv/Lib/site-packages/pip/_internal/utils/compatibility_tags.py +201 -0
- venv/Lib/site-packages/pip/_internal/utils/datetime.py +10 -0
- venv/Lib/site-packages/pip/_internal/utils/deprecation.py +126 -0
- venv/Lib/site-packages/pip/_internal/utils/direct_url_helpers.py +87 -0
- venv/Lib/site-packages/pip/_internal/utils/egg_link.py +81 -0
- venv/Lib/site-packages/pip/_internal/utils/entrypoints.py +88 -0
- venv/Lib/site-packages/pip/_internal/utils/filesystem.py +152 -0
- venv/Lib/site-packages/pip/_internal/utils/filetypes.py +24 -0
- venv/Lib/site-packages/pip/_internal/utils/glibc.py +102 -0
- venv/Lib/site-packages/pip/_internal/utils/hashes.py +150 -0
- venv/Lib/site-packages/pip/_internal/utils/logging.py +364 -0
- venv/Lib/site-packages/pip/_internal/utils/misc.py +765 -0
- venv/Lib/site-packages/pip/_internal/utils/packaging.py +44 -0
- venv/Lib/site-packages/pip/_internal/utils/retry.py +45 -0
- venv/Lib/site-packages/pip/_internal/utils/setuptools_build.py +149 -0
- venv/Lib/site-packages/pip/_internal/utils/subprocess.py +248 -0
- venv/Lib/site-packages/pip/_internal/utils/temp_dir.py +294 -0
- venv/Lib/site-packages/pip/_internal/utils/unpacking.py +337 -0
- venv/Lib/site-packages/pip/_internal/utils/urls.py +55 -0
- venv/Lib/site-packages/pip/_internal/utils/virtualenv.py +105 -0
- venv/Lib/site-packages/pip/_internal/utils/wheel.py +132 -0
- venv/Lib/site-packages/pip/_internal/vcs/__init__.py +15 -0
- venv/Lib/site-packages/pip/_internal/vcs/bazaar.py +130 -0
- venv/Lib/site-packages/pip/_internal/vcs/git.py +571 -0
- venv/Lib/site-packages/pip/_internal/vcs/mercurial.py +186 -0
- venv/Lib/site-packages/pip/_internal/vcs/subversion.py +335 -0
- venv/Lib/site-packages/pip/_internal/vcs/versioncontrol.py +693 -0
- venv/Lib/site-packages/pip/_internal/wheel_builder.py +334 -0
- venv/Lib/site-packages/pip/_vendor/__init__.py +117 -0
- venv/Lib/site-packages/pip/_vendor/cachecontrol/__init__.py +29 -0
- venv/Lib/site-packages/pip/_vendor/cachecontrol/_cmd.py +70 -0
- venv/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py +168 -0
- venv/Lib/site-packages/pip/_vendor/cachecontrol/cache.py +75 -0
- venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +8 -0
- venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +145 -0
- venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +48 -0
- venv/Lib/site-packages/pip/_vendor/cachecontrol/controller.py +511 -0
- venv/Lib/site-packages/pip/_vendor/cachecontrol/filewrapper.py +119 -0
- venv/Lib/site-packages/pip/_vendor/cachecontrol/heuristics.py +157 -0
- venv/Lib/site-packages/pip/_vendor/cachecontrol/py.typed +0 -0
- venv/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py +146 -0
- venv/Lib/site-packages/pip/_vendor/cachecontrol/wrapper.py +43 -0
- venv/Lib/site-packages/pip/_vendor/certifi/__init__.py +4 -0
- venv/Lib/site-packages/pip/_vendor/certifi/__main__.py +12 -0
- venv/Lib/site-packages/pip/_vendor/certifi/core.py +83 -0
- venv/Lib/site-packages/pip/_vendor/certifi/py.typed +0 -0
- venv/Lib/site-packages/pip/_vendor/dependency_groups/__init__.py +13 -0
- venv/Lib/site-packages/pip/_vendor/dependency_groups/__main__.py +65 -0
- venv/Lib/site-packages/pip/_vendor/dependency_groups/_implementation.py +209 -0
- venv/Lib/site-packages/pip/_vendor/dependency_groups/_lint_dependency_groups.py +59 -0
- venv/Lib/site-packages/pip/_vendor/dependency_groups/_pip_wrapper.py +62 -0
- venv/Lib/site-packages/pip/_vendor/dependency_groups/_toml_compat.py +9 -0
- venv/Lib/site-packages/pip/_vendor/dependency_groups/py.typed +0 -0
- venv/Lib/site-packages/pip/_vendor/distlib/__init__.py +33 -0
- venv/Lib/site-packages/pip/_vendor/distlib/compat.py +1137 -0
- venv/Lib/site-packages/pip/_vendor/distlib/resources.py +358 -0
- venv/Lib/site-packages/pip/_vendor/distlib/scripts.py +447 -0
- venv/Lib/site-packages/pip/_vendor/distlib/util.py +1984 -0
- venv/Lib/site-packages/pip/_vendor/distro/__init__.py +54 -0
- venv/Lib/site-packages/pip/_vendor/distro/__main__.py +4 -0
- venv/Lib/site-packages/pip/_vendor/distro/distro.py +1403 -0
- venv/Lib/site-packages/pip/_vendor/distro/py.typed +0 -0
- venv/Lib/site-packages/pip/_vendor/idna/__init__.py +45 -0
- venv/Lib/site-packages/pip/_vendor/idna/codec.py +122 -0
- venv/Lib/site-packages/pip/_vendor/idna/compat.py +15 -0
- venv/Lib/site-packages/pip/_vendor/idna/core.py +437 -0
- venv/Lib/site-packages/pip/_vendor/idna/idnadata.py +4243 -0
- venv/Lib/site-packages/pip/_vendor/idna/intranges.py +57 -0
- venv/Lib/site-packages/pip/_vendor/idna/package_data.py +1 -0
- venv/Lib/site-packages/pip/_vendor/idna/py.typed +0 -0
- venv/Lib/site-packages/pip/_vendor/idna/uts46data.py +8681 -0
- venv/Lib/site-packages/pip/_vendor/msgpack/__init__.py +55 -0
- venv/Lib/site-packages/pip/_vendor/msgpack/exceptions.py +48 -0
- venv/Lib/site-packages/pip/_vendor/msgpack/ext.py +170 -0
- venv/Lib/site-packages/pip/_vendor/msgpack/fallback.py +929 -0
- venv/Lib/site-packages/pip/_vendor/packaging/__init__.py +15 -0
- venv/Lib/site-packages/pip/_vendor/packaging/_elffile.py +109 -0
- venv/Lib/site-packages/pip/_vendor/packaging/_manylinux.py +262 -0
- venv/Lib/site-packages/pip/_vendor/packaging/_musllinux.py +85 -0
- venv/Lib/site-packages/pip/_vendor/packaging/_parser.py +353 -0
- venv/Lib/site-packages/pip/_vendor/packaging/_structures.py +61 -0
- venv/Lib/site-packages/pip/_vendor/packaging/_tokenizer.py +195 -0
- venv/Lib/site-packages/pip/_vendor/packaging/licenses/__init__.py +145 -0
- venv/Lib/site-packages/pip/_vendor/packaging/licenses/_spdx.py +759 -0
- venv/Lib/site-packages/pip/_vendor/packaging/markers.py +362 -0
- venv/Lib/site-packages/pip/_vendor/packaging/metadata.py +862 -0
- venv/Lib/site-packages/pip/_vendor/packaging/py.typed +0 -0
- venv/Lib/site-packages/pip/_vendor/packaging/requirements.py +91 -0
- venv/Lib/site-packages/pip/_vendor/packaging/specifiers.py +1019 -0
- venv/Lib/site-packages/pip/_vendor/packaging/tags.py +656 -0
- venv/Lib/site-packages/pip/_vendor/packaging/utils.py +163 -0
- venv/Lib/site-packages/pip/_vendor/packaging/version.py +582 -0
- venv/Lib/site-packages/pip/_vendor/pkg_resources/__init__.py +3676 -0
- venv/Lib/site-packages/pip/_vendor/platformdirs/__init__.py +631 -0
- venv/Lib/site-packages/pip/_vendor/platformdirs/__main__.py +55 -0
- venv/Lib/site-packages/pip/_vendor/platformdirs/android.py +249 -0
- venv/Lib/site-packages/pip/_vendor/platformdirs/api.py +299 -0
- venv/Lib/site-packages/pip/_vendor/platformdirs/macos.py +144 -0
- venv/Lib/site-packages/pip/_vendor/platformdirs/py.typed +0 -0
- venv/Lib/site-packages/pip/_vendor/platformdirs/unix.py +272 -0
- venv/Lib/site-packages/pip/_vendor/platformdirs/version.py +21 -0
- venv/Lib/site-packages/pip/_vendor/platformdirs/windows.py +272 -0
- venv/Lib/site-packages/pip/_vendor/pygments/__init__.py +82 -0
- venv/Lib/site-packages/pip/_vendor/pygments/__main__.py +17 -0
- venv/Lib/site-packages/pip/_vendor/pygments/console.py +70 -0
- venv/Lib/site-packages/pip/_vendor/pygments/filter.py +70 -0
- venv/Lib/site-packages/pip/_vendor/pygments/filters/__init__.py +940 -0
- venv/Lib/site-packages/pip/_vendor/pygments/formatter.py +129 -0
- venv/Lib/site-packages/pip/_vendor/pygments/formatters/__init__.py +157 -0
- venv/Lib/site-packages/pip/_vendor/pygments/formatters/_mapping.py +23 -0
- venv/Lib/site-packages/pip/_vendor/pygments/lexer.py +963 -0
- venv/Lib/site-packages/pip/_vendor/pygments/lexers/__init__.py +362 -0
- venv/Lib/site-packages/pip/_vendor/pygments/lexers/_mapping.py +602 -0
- venv/Lib/site-packages/pip/_vendor/pygments/lexers/python.py +1201 -0
- venv/Lib/site-packages/pip/_vendor/pygments/modeline.py +43 -0
- venv/Lib/site-packages/pip/_vendor/pygments/plugin.py +72 -0
- venv/Lib/site-packages/pip/_vendor/pygments/regexopt.py +91 -0
- venv/Lib/site-packages/pip/_vendor/pygments/scanner.py +104 -0
- venv/Lib/site-packages/pip/_vendor/pygments/sphinxext.py +247 -0
- venv/Lib/site-packages/pip/_vendor/pygments/style.py +203 -0
- venv/Lib/site-packages/pip/_vendor/pygments/styles/__init__.py +61 -0
- venv/Lib/site-packages/pip/_vendor/pygments/styles/_mapping.py +54 -0
- venv/Lib/site-packages/pip/_vendor/pygments/token.py +214 -0
- venv/Lib/site-packages/pip/_vendor/pygments/unistring.py +153 -0
- venv/Lib/site-packages/pip/_vendor/pygments/util.py +324 -0
- venv/Lib/site-packages/pip/_vendor/pyproject_hooks/__init__.py +31 -0
- venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_impl.py +410 -0
- venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py +21 -0
- venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +389 -0
- venv/Lib/site-packages/pip/_vendor/pyproject_hooks/py.typed +0 -0
- venv/Lib/site-packages/pip/_vendor/requests/__init__.py +179 -0
- venv/Lib/site-packages/pip/_vendor/requests/__version__.py +14 -0
- venv/Lib/site-packages/pip/_vendor/requests/_internal_utils.py +50 -0
- venv/Lib/site-packages/pip/_vendor/requests/adapters.py +719 -0
- venv/Lib/site-packages/pip/_vendor/requests/api.py +157 -0
- venv/Lib/site-packages/pip/_vendor/requests/auth.py +314 -0
- venv/Lib/site-packages/pip/_vendor/requests/certs.py +17 -0
- venv/Lib/site-packages/pip/_vendor/requests/compat.py +90 -0
- venv/Lib/site-packages/pip/_vendor/requests/cookies.py +561 -0
- venv/Lib/site-packages/pip/_vendor/requests/exceptions.py +151 -0
- venv/Lib/site-packages/pip/_vendor/requests/help.py +127 -0
- venv/Lib/site-packages/pip/_vendor/requests/hooks.py +33 -0
- venv/Lib/site-packages/pip/_vendor/requests/models.py +1039 -0
- venv/Lib/site-packages/pip/_vendor/requests/packages.py +25 -0
- venv/Lib/site-packages/pip/_vendor/requests/sessions.py +831 -0
- venv/Lib/site-packages/pip/_vendor/requests/status_codes.py +128 -0
- venv/Lib/site-packages/pip/_vendor/requests/structures.py +99 -0
- venv/Lib/site-packages/pip/_vendor/requests/utils.py +1086 -0
- venv/Lib/site-packages/pip/_vendor/resolvelib/__init__.py +27 -0
- venv/Lib/site-packages/pip/_vendor/resolvelib/providers.py +196 -0
- venv/Lib/site-packages/pip/_vendor/resolvelib/py.typed +0 -0
- venv/Lib/site-packages/pip/_vendor/resolvelib/reporters.py +55 -0
- venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/__init__.py +27 -0
- venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/abstract.py +47 -0
- venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/criterion.py +48 -0
- venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/exceptions.py +57 -0
- venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/resolution.py +622 -0
- venv/Lib/site-packages/pip/_vendor/resolvelib/structs.py +209 -0
- venv/Lib/site-packages/pip/_vendor/rich/__init__.py +177 -0
- venv/Lib/site-packages/pip/_vendor/rich/__main__.py +245 -0
- venv/Lib/site-packages/pip/_vendor/rich/_cell_widths.py +454 -0
- venv/Lib/site-packages/pip/_vendor/rich/_emoji_codes.py +3610 -0
- venv/Lib/site-packages/pip/_vendor/rich/_emoji_replace.py +32 -0
- venv/Lib/site-packages/pip/_vendor/rich/_export_format.py +76 -0
- venv/Lib/site-packages/pip/_vendor/rich/_extension.py +10 -0
- venv/Lib/site-packages/pip/_vendor/rich/_fileno.py +24 -0
- venv/Lib/site-packages/pip/_vendor/rich/_inspect.py +268 -0
- venv/Lib/site-packages/pip/_vendor/rich/_log_render.py +94 -0
- venv/Lib/site-packages/pip/_vendor/rich/_loop.py +43 -0
- venv/Lib/site-packages/pip/_vendor/rich/_null_file.py +69 -0
- venv/Lib/site-packages/pip/_vendor/rich/_palettes.py +309 -0
- venv/Lib/site-packages/pip/_vendor/rich/_pick.py +17 -0
- venv/Lib/site-packages/pip/_vendor/rich/_ratio.py +153 -0
- venv/Lib/site-packages/pip/_vendor/rich/_spinners.py +482 -0
- venv/Lib/site-packages/pip/_vendor/rich/_stack.py +16 -0
- venv/Lib/site-packages/pip/_vendor/rich/_timer.py +19 -0
- venv/Lib/site-packages/pip/_vendor/rich/_win32_console.py +661 -0
- venv/Lib/site-packages/pip/_vendor/rich/_windows.py +71 -0
- venv/Lib/site-packages/pip/_vendor/rich/_windows_renderer.py +56 -0
- venv/Lib/site-packages/pip/_vendor/rich/_wrap.py +93 -0
- venv/Lib/site-packages/pip/_vendor/rich/abc.py +33 -0
- venv/Lib/site-packages/pip/_vendor/rich/align.py +306 -0
- venv/Lib/site-packages/pip/_vendor/rich/ansi.py +241 -0
- venv/Lib/site-packages/pip/_vendor/rich/bar.py +93 -0
- venv/Lib/site-packages/pip/_vendor/rich/box.py +474 -0
- venv/Lib/site-packages/pip/_vendor/rich/cells.py +174 -0
- venv/Lib/site-packages/pip/_vendor/rich/color.py +621 -0
- venv/Lib/site-packages/pip/_vendor/rich/color_triplet.py +38 -0
- venv/Lib/site-packages/pip/_vendor/rich/columns.py +187 -0
- venv/Lib/site-packages/pip/_vendor/rich/console.py +2680 -0
- venv/Lib/site-packages/pip/_vendor/rich/constrain.py +37 -0
- venv/Lib/site-packages/pip/_vendor/rich/containers.py +167 -0
- venv/Lib/site-packages/pip/_vendor/rich/control.py +219 -0
- venv/Lib/site-packages/pip/_vendor/rich/default_styles.py +193 -0
- venv/Lib/site-packages/pip/_vendor/rich/diagnose.py +39 -0
- venv/Lib/site-packages/pip/_vendor/rich/emoji.py +91 -0
- venv/Lib/site-packages/pip/_vendor/rich/errors.py +34 -0
- venv/Lib/site-packages/pip/_vendor/rich/file_proxy.py +57 -0
- venv/Lib/site-packages/pip/_vendor/rich/filesize.py +88 -0
- venv/Lib/site-packages/pip/_vendor/rich/highlighter.py +232 -0
- venv/Lib/site-packages/pip/_vendor/rich/json.py +139 -0
- venv/Lib/site-packages/pip/_vendor/rich/jupyter.py +101 -0
- venv/Lib/site-packages/pip/_vendor/rich/layout.py +442 -0
- venv/Lib/site-packages/pip/_vendor/rich/live.py +400 -0
- venv/Lib/site-packages/pip/_vendor/rich/live_render.py +106 -0
- venv/Lib/site-packages/pip/_vendor/rich/logging.py +297 -0
- venv/Lib/site-packages/pip/_vendor/rich/markup.py +251 -0
- venv/Lib/site-packages/pip/_vendor/rich/measure.py +151 -0
- venv/Lib/site-packages/pip/_vendor/rich/padding.py +141 -0
- venv/Lib/site-packages/pip/_vendor/rich/pager.py +34 -0
- venv/Lib/site-packages/pip/_vendor/rich/palette.py +100 -0
- venv/Lib/site-packages/pip/_vendor/rich/panel.py +317 -0
- venv/Lib/site-packages/pip/_vendor/rich/pretty.py +1016 -0
- venv/Lib/site-packages/pip/_vendor/rich/progress.py +1715 -0
- venv/Lib/site-packages/pip/_vendor/rich/progress_bar.py +223 -0
- venv/Lib/site-packages/pip/_vendor/rich/prompt.py +400 -0
- venv/Lib/site-packages/pip/_vendor/rich/protocol.py +42 -0
- venv/Lib/site-packages/pip/_vendor/rich/py.typed +0 -0
- venv/Lib/site-packages/pip/_vendor/rich/region.py +10 -0
- venv/Lib/site-packages/pip/_vendor/rich/repr.py +149 -0
- venv/Lib/site-packages/pip/_vendor/rich/rule.py +130 -0
- venv/Lib/site-packages/pip/_vendor/rich/scope.py +86 -0
- venv/Lib/site-packages/pip/_vendor/rich/screen.py +54 -0
- venv/Lib/site-packages/pip/_vendor/rich/segment.py +752 -0
- venv/Lib/site-packages/pip/_vendor/rich/spinner.py +132 -0
- venv/Lib/site-packages/pip/_vendor/rich/status.py +131 -0
- venv/Lib/site-packages/pip/_vendor/rich/style.py +796 -0
- venv/Lib/site-packages/pip/_vendor/rich/styled.py +42 -0
- venv/Lib/site-packages/pip/_vendor/rich/syntax.py +985 -0
- venv/Lib/site-packages/pip/_vendor/rich/table.py +1006 -0
- venv/Lib/site-packages/pip/_vendor/rich/terminal_theme.py +153 -0
- venv/Lib/site-packages/pip/_vendor/rich/text.py +1361 -0
- venv/Lib/site-packages/pip/_vendor/rich/theme.py +115 -0
- venv/Lib/site-packages/pip/_vendor/rich/themes.py +5 -0
- venv/Lib/site-packages/pip/_vendor/rich/traceback.py +899 -0
- venv/Lib/site-packages/pip/_vendor/rich/tree.py +257 -0
- venv/Lib/site-packages/pip/_vendor/tomli/__init__.py +8 -0
- venv/Lib/site-packages/pip/_vendor/tomli/_parser.py +770 -0
- venv/Lib/site-packages/pip/_vendor/tomli/_re.py +112 -0
- venv/Lib/site-packages/pip/_vendor/tomli/_types.py +10 -0
- venv/Lib/site-packages/pip/_vendor/tomli/py.typed +1 -0
- venv/Lib/site-packages/pip/_vendor/tomli_w/__init__.py +4 -0
- venv/Lib/site-packages/pip/_vendor/tomli_w/_writer.py +229 -0
- venv/Lib/site-packages/pip/_vendor/tomli_w/py.typed +1 -0
- venv/Lib/site-packages/pip/_vendor/truststore/__init__.py +36 -0
- venv/Lib/site-packages/pip/_vendor/truststore/_api.py +333 -0
- venv/Lib/site-packages/pip/_vendor/truststore/_macos.py +571 -0
- venv/Lib/site-packages/pip/_vendor/truststore/_openssl.py +66 -0
- venv/Lib/site-packages/pip/_vendor/truststore/_ssl_constants.py +31 -0
- venv/Lib/site-packages/pip/_vendor/truststore/_windows.py +567 -0
- venv/Lib/site-packages/pip/_vendor/truststore/py.typed +0 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/__init__.py +102 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/_collections.py +355 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/_version.py +2 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/connection.py +572 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/connectionpool.py +1140 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +36 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +519 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +397 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/contrib/appengine.py +314 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +130 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +518 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +920 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/contrib/socks.py +216 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/exceptions.py +323 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/fields.py +274 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/filepost.py +98 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +51 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +155 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/packages/six.py +1076 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/poolmanager.py +540 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/request.py +191 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/response.py +879 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/util/__init__.py +49 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/util/connection.py +149 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/util/proxy.py +57 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/util/queue.py +22 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/util/request.py +137 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/util/response.py +107 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/util/retry.py +622 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/util/ssl_.py +504 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +159 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/util/ssltransport.py +221 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/util/timeout.py +271 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/util/url.py +435 -0
- venv/Lib/site-packages/pip/_vendor/urllib3/util/wait.py +152 -0
- venv/Lib/site-packages/pip/py.typed +4 -0
- cli_ih-0.6.3.dist-info/RECORD +0 -8
|
@@ -0,0 +1,389 @@
|
|
|
1
|
+
"""This is invoked in a subprocess to call the build backend hooks.
|
|
2
|
+
|
|
3
|
+
It expects:
|
|
4
|
+
- Command line args: hook_name, control_dir
|
|
5
|
+
- Environment variables:
|
|
6
|
+
_PYPROJECT_HOOKS_BUILD_BACKEND=entry.point:spec
|
|
7
|
+
_PYPROJECT_HOOKS_BACKEND_PATH=paths (separated with os.pathsep)
|
|
8
|
+
- control_dir/input.json:
|
|
9
|
+
- {"kwargs": {...}}
|
|
10
|
+
|
|
11
|
+
Results:
|
|
12
|
+
- control_dir/output.json
|
|
13
|
+
- {"return_val": ...}
|
|
14
|
+
"""
|
|
15
|
+
import json
|
|
16
|
+
import os
|
|
17
|
+
import os.path
|
|
18
|
+
import re
|
|
19
|
+
import shutil
|
|
20
|
+
import sys
|
|
21
|
+
import traceback
|
|
22
|
+
from glob import glob
|
|
23
|
+
from importlib import import_module
|
|
24
|
+
from importlib.machinery import PathFinder
|
|
25
|
+
from os.path import join as pjoin
|
|
26
|
+
|
|
27
|
+
# This file is run as a script, and `import wrappers` is not zip-safe, so we
|
|
28
|
+
# include write_json() and read_json() from wrappers.py.
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def write_json(obj, path, **kwargs):
|
|
32
|
+
with open(path, "w", encoding="utf-8") as f:
|
|
33
|
+
json.dump(obj, f, **kwargs)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def read_json(path):
|
|
37
|
+
with open(path, encoding="utf-8") as f:
|
|
38
|
+
return json.load(f)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class BackendUnavailable(Exception):
|
|
42
|
+
"""Raised if we cannot import the backend"""
|
|
43
|
+
|
|
44
|
+
def __init__(self, message, traceback=None):
|
|
45
|
+
super().__init__(message)
|
|
46
|
+
self.message = message
|
|
47
|
+
self.traceback = traceback
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class HookMissing(Exception):
|
|
51
|
+
"""Raised if a hook is missing and we are not executing the fallback"""
|
|
52
|
+
|
|
53
|
+
def __init__(self, hook_name=None):
|
|
54
|
+
super().__init__(hook_name)
|
|
55
|
+
self.hook_name = hook_name
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def _build_backend():
|
|
59
|
+
"""Find and load the build backend"""
|
|
60
|
+
backend_path = os.environ.get("_PYPROJECT_HOOKS_BACKEND_PATH")
|
|
61
|
+
ep = os.environ["_PYPROJECT_HOOKS_BUILD_BACKEND"]
|
|
62
|
+
mod_path, _, obj_path = ep.partition(":")
|
|
63
|
+
|
|
64
|
+
if backend_path:
|
|
65
|
+
# Ensure in-tree backend directories have the highest priority when importing.
|
|
66
|
+
extra_pathitems = backend_path.split(os.pathsep)
|
|
67
|
+
sys.meta_path.insert(0, _BackendPathFinder(extra_pathitems, mod_path))
|
|
68
|
+
|
|
69
|
+
try:
|
|
70
|
+
obj = import_module(mod_path)
|
|
71
|
+
except ImportError:
|
|
72
|
+
msg = f"Cannot import {mod_path!r}"
|
|
73
|
+
raise BackendUnavailable(msg, traceback.format_exc())
|
|
74
|
+
|
|
75
|
+
if obj_path:
|
|
76
|
+
for path_part in obj_path.split("."):
|
|
77
|
+
obj = getattr(obj, path_part)
|
|
78
|
+
return obj
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
class _BackendPathFinder:
|
|
82
|
+
"""Implements the MetaPathFinder interface to locate modules in ``backend-path``.
|
|
83
|
+
|
|
84
|
+
Since the environment provided by the frontend can contain all sorts of
|
|
85
|
+
MetaPathFinders, the only way to ensure the backend is loaded from the
|
|
86
|
+
right place is to prepend our own.
|
|
87
|
+
"""
|
|
88
|
+
|
|
89
|
+
def __init__(self, backend_path, backend_module):
|
|
90
|
+
self.backend_path = backend_path
|
|
91
|
+
self.backend_module = backend_module
|
|
92
|
+
self.backend_parent, _, _ = backend_module.partition(".")
|
|
93
|
+
|
|
94
|
+
def find_spec(self, fullname, _path, _target=None):
|
|
95
|
+
if "." in fullname:
|
|
96
|
+
# Rely on importlib to find nested modules based on parent's path
|
|
97
|
+
return None
|
|
98
|
+
|
|
99
|
+
# Ignore other items in _path or sys.path and use backend_path instead:
|
|
100
|
+
spec = PathFinder.find_spec(fullname, path=self.backend_path)
|
|
101
|
+
if spec is None and fullname == self.backend_parent:
|
|
102
|
+
# According to the spec, the backend MUST be loaded from backend-path.
|
|
103
|
+
# Therefore, we can halt the import machinery and raise a clean error.
|
|
104
|
+
msg = f"Cannot find module {self.backend_module!r} in {self.backend_path!r}"
|
|
105
|
+
raise BackendUnavailable(msg)
|
|
106
|
+
|
|
107
|
+
return spec
|
|
108
|
+
|
|
109
|
+
if sys.version_info >= (3, 8):
|
|
110
|
+
|
|
111
|
+
def find_distributions(self, context=None):
|
|
112
|
+
# Delayed import: Python 3.7 does not contain importlib.metadata
|
|
113
|
+
from importlib.metadata import DistributionFinder, MetadataPathFinder
|
|
114
|
+
|
|
115
|
+
context = DistributionFinder.Context(path=self.backend_path)
|
|
116
|
+
return MetadataPathFinder.find_distributions(context=context)
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
def _supported_features():
|
|
120
|
+
"""Return the list of options features supported by the backend.
|
|
121
|
+
|
|
122
|
+
Returns a list of strings.
|
|
123
|
+
The only possible value is 'build_editable'.
|
|
124
|
+
"""
|
|
125
|
+
backend = _build_backend()
|
|
126
|
+
features = []
|
|
127
|
+
if hasattr(backend, "build_editable"):
|
|
128
|
+
features.append("build_editable")
|
|
129
|
+
return features
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
def get_requires_for_build_wheel(config_settings):
|
|
133
|
+
"""Invoke the optional get_requires_for_build_wheel hook
|
|
134
|
+
|
|
135
|
+
Returns [] if the hook is not defined.
|
|
136
|
+
"""
|
|
137
|
+
backend = _build_backend()
|
|
138
|
+
try:
|
|
139
|
+
hook = backend.get_requires_for_build_wheel
|
|
140
|
+
except AttributeError:
|
|
141
|
+
return []
|
|
142
|
+
else:
|
|
143
|
+
return hook(config_settings)
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
def get_requires_for_build_editable(config_settings):
|
|
147
|
+
"""Invoke the optional get_requires_for_build_editable hook
|
|
148
|
+
|
|
149
|
+
Returns [] if the hook is not defined.
|
|
150
|
+
"""
|
|
151
|
+
backend = _build_backend()
|
|
152
|
+
try:
|
|
153
|
+
hook = backend.get_requires_for_build_editable
|
|
154
|
+
except AttributeError:
|
|
155
|
+
return []
|
|
156
|
+
else:
|
|
157
|
+
return hook(config_settings)
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
def prepare_metadata_for_build_wheel(
|
|
161
|
+
metadata_directory, config_settings, _allow_fallback
|
|
162
|
+
):
|
|
163
|
+
"""Invoke optional prepare_metadata_for_build_wheel
|
|
164
|
+
|
|
165
|
+
Implements a fallback by building a wheel if the hook isn't defined,
|
|
166
|
+
unless _allow_fallback is False in which case HookMissing is raised.
|
|
167
|
+
"""
|
|
168
|
+
backend = _build_backend()
|
|
169
|
+
try:
|
|
170
|
+
hook = backend.prepare_metadata_for_build_wheel
|
|
171
|
+
except AttributeError:
|
|
172
|
+
if not _allow_fallback:
|
|
173
|
+
raise HookMissing()
|
|
174
|
+
else:
|
|
175
|
+
return hook(metadata_directory, config_settings)
|
|
176
|
+
# fallback to build_wheel outside the try block to avoid exception chaining
|
|
177
|
+
# which can be confusing to users and is not relevant
|
|
178
|
+
whl_basename = backend.build_wheel(metadata_directory, config_settings)
|
|
179
|
+
return _get_wheel_metadata_from_wheel(
|
|
180
|
+
whl_basename, metadata_directory, config_settings
|
|
181
|
+
)
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
def prepare_metadata_for_build_editable(
|
|
185
|
+
metadata_directory, config_settings, _allow_fallback
|
|
186
|
+
):
|
|
187
|
+
"""Invoke optional prepare_metadata_for_build_editable
|
|
188
|
+
|
|
189
|
+
Implements a fallback by building an editable wheel if the hook isn't
|
|
190
|
+
defined, unless _allow_fallback is False in which case HookMissing is
|
|
191
|
+
raised.
|
|
192
|
+
"""
|
|
193
|
+
backend = _build_backend()
|
|
194
|
+
try:
|
|
195
|
+
hook = backend.prepare_metadata_for_build_editable
|
|
196
|
+
except AttributeError:
|
|
197
|
+
if not _allow_fallback:
|
|
198
|
+
raise HookMissing()
|
|
199
|
+
try:
|
|
200
|
+
build_hook = backend.build_editable
|
|
201
|
+
except AttributeError:
|
|
202
|
+
raise HookMissing(hook_name="build_editable")
|
|
203
|
+
else:
|
|
204
|
+
whl_basename = build_hook(metadata_directory, config_settings)
|
|
205
|
+
return _get_wheel_metadata_from_wheel(
|
|
206
|
+
whl_basename, metadata_directory, config_settings
|
|
207
|
+
)
|
|
208
|
+
else:
|
|
209
|
+
return hook(metadata_directory, config_settings)
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
WHEEL_BUILT_MARKER = "PYPROJECT_HOOKS_ALREADY_BUILT_WHEEL"
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
def _dist_info_files(whl_zip):
|
|
216
|
+
"""Identify the .dist-info folder inside a wheel ZipFile."""
|
|
217
|
+
res = []
|
|
218
|
+
for path in whl_zip.namelist():
|
|
219
|
+
m = re.match(r"[^/\\]+-[^/\\]+\.dist-info/", path)
|
|
220
|
+
if m:
|
|
221
|
+
res.append(path)
|
|
222
|
+
if res:
|
|
223
|
+
return res
|
|
224
|
+
raise Exception("No .dist-info folder found in wheel")
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
def _get_wheel_metadata_from_wheel(whl_basename, metadata_directory, config_settings):
|
|
228
|
+
"""Extract the metadata from a wheel.
|
|
229
|
+
|
|
230
|
+
Fallback for when the build backend does not
|
|
231
|
+
define the 'get_wheel_metadata' hook.
|
|
232
|
+
"""
|
|
233
|
+
from zipfile import ZipFile
|
|
234
|
+
|
|
235
|
+
with open(os.path.join(metadata_directory, WHEEL_BUILT_MARKER), "wb"):
|
|
236
|
+
pass # Touch marker file
|
|
237
|
+
|
|
238
|
+
whl_file = os.path.join(metadata_directory, whl_basename)
|
|
239
|
+
with ZipFile(whl_file) as zipf:
|
|
240
|
+
dist_info = _dist_info_files(zipf)
|
|
241
|
+
zipf.extractall(path=metadata_directory, members=dist_info)
|
|
242
|
+
return dist_info[0].split("/")[0]
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
def _find_already_built_wheel(metadata_directory):
|
|
246
|
+
"""Check for a wheel already built during the get_wheel_metadata hook."""
|
|
247
|
+
if not metadata_directory:
|
|
248
|
+
return None
|
|
249
|
+
metadata_parent = os.path.dirname(metadata_directory)
|
|
250
|
+
if not os.path.isfile(pjoin(metadata_parent, WHEEL_BUILT_MARKER)):
|
|
251
|
+
return None
|
|
252
|
+
|
|
253
|
+
whl_files = glob(os.path.join(metadata_parent, "*.whl"))
|
|
254
|
+
if not whl_files:
|
|
255
|
+
print("Found wheel built marker, but no .whl files")
|
|
256
|
+
return None
|
|
257
|
+
if len(whl_files) > 1:
|
|
258
|
+
print(
|
|
259
|
+
"Found multiple .whl files; unspecified behaviour. "
|
|
260
|
+
"Will call build_wheel."
|
|
261
|
+
)
|
|
262
|
+
return None
|
|
263
|
+
|
|
264
|
+
# Exactly one .whl file
|
|
265
|
+
return whl_files[0]
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
def build_wheel(wheel_directory, config_settings, metadata_directory=None):
|
|
269
|
+
"""Invoke the mandatory build_wheel hook.
|
|
270
|
+
|
|
271
|
+
If a wheel was already built in the
|
|
272
|
+
prepare_metadata_for_build_wheel fallback, this
|
|
273
|
+
will copy it rather than rebuilding the wheel.
|
|
274
|
+
"""
|
|
275
|
+
prebuilt_whl = _find_already_built_wheel(metadata_directory)
|
|
276
|
+
if prebuilt_whl:
|
|
277
|
+
shutil.copy2(prebuilt_whl, wheel_directory)
|
|
278
|
+
return os.path.basename(prebuilt_whl)
|
|
279
|
+
|
|
280
|
+
return _build_backend().build_wheel(
|
|
281
|
+
wheel_directory, config_settings, metadata_directory
|
|
282
|
+
)
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
def build_editable(wheel_directory, config_settings, metadata_directory=None):
|
|
286
|
+
"""Invoke the optional build_editable hook.
|
|
287
|
+
|
|
288
|
+
If a wheel was already built in the
|
|
289
|
+
prepare_metadata_for_build_editable fallback, this
|
|
290
|
+
will copy it rather than rebuilding the wheel.
|
|
291
|
+
"""
|
|
292
|
+
backend = _build_backend()
|
|
293
|
+
try:
|
|
294
|
+
hook = backend.build_editable
|
|
295
|
+
except AttributeError:
|
|
296
|
+
raise HookMissing()
|
|
297
|
+
else:
|
|
298
|
+
prebuilt_whl = _find_already_built_wheel(metadata_directory)
|
|
299
|
+
if prebuilt_whl:
|
|
300
|
+
shutil.copy2(prebuilt_whl, wheel_directory)
|
|
301
|
+
return os.path.basename(prebuilt_whl)
|
|
302
|
+
|
|
303
|
+
return hook(wheel_directory, config_settings, metadata_directory)
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
def get_requires_for_build_sdist(config_settings):
|
|
307
|
+
"""Invoke the optional get_requires_for_build_wheel hook
|
|
308
|
+
|
|
309
|
+
Returns [] if the hook is not defined.
|
|
310
|
+
"""
|
|
311
|
+
backend = _build_backend()
|
|
312
|
+
try:
|
|
313
|
+
hook = backend.get_requires_for_build_sdist
|
|
314
|
+
except AttributeError:
|
|
315
|
+
return []
|
|
316
|
+
else:
|
|
317
|
+
return hook(config_settings)
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
class _DummyException(Exception):
|
|
321
|
+
"""Nothing should ever raise this exception"""
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
class GotUnsupportedOperation(Exception):
|
|
325
|
+
"""For internal use when backend raises UnsupportedOperation"""
|
|
326
|
+
|
|
327
|
+
def __init__(self, traceback):
|
|
328
|
+
self.traceback = traceback
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
def build_sdist(sdist_directory, config_settings):
|
|
332
|
+
"""Invoke the mandatory build_sdist hook."""
|
|
333
|
+
backend = _build_backend()
|
|
334
|
+
try:
|
|
335
|
+
return backend.build_sdist(sdist_directory, config_settings)
|
|
336
|
+
except getattr(backend, "UnsupportedOperation", _DummyException):
|
|
337
|
+
raise GotUnsupportedOperation(traceback.format_exc())
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
HOOK_NAMES = {
|
|
341
|
+
"get_requires_for_build_wheel",
|
|
342
|
+
"prepare_metadata_for_build_wheel",
|
|
343
|
+
"build_wheel",
|
|
344
|
+
"get_requires_for_build_editable",
|
|
345
|
+
"prepare_metadata_for_build_editable",
|
|
346
|
+
"build_editable",
|
|
347
|
+
"get_requires_for_build_sdist",
|
|
348
|
+
"build_sdist",
|
|
349
|
+
"_supported_features",
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
def main():
|
|
354
|
+
if len(sys.argv) < 3:
|
|
355
|
+
sys.exit("Needs args: hook_name, control_dir")
|
|
356
|
+
hook_name = sys.argv[1]
|
|
357
|
+
control_dir = sys.argv[2]
|
|
358
|
+
if hook_name not in HOOK_NAMES:
|
|
359
|
+
sys.exit("Unknown hook: %s" % hook_name)
|
|
360
|
+
|
|
361
|
+
# Remove the parent directory from sys.path to avoid polluting the backend
|
|
362
|
+
# import namespace with this directory.
|
|
363
|
+
here = os.path.dirname(__file__)
|
|
364
|
+
if here in sys.path:
|
|
365
|
+
sys.path.remove(here)
|
|
366
|
+
|
|
367
|
+
hook = globals()[hook_name]
|
|
368
|
+
|
|
369
|
+
hook_input = read_json(pjoin(control_dir, "input.json"))
|
|
370
|
+
|
|
371
|
+
json_out = {"unsupported": False, "return_val": None}
|
|
372
|
+
try:
|
|
373
|
+
json_out["return_val"] = hook(**hook_input["kwargs"])
|
|
374
|
+
except BackendUnavailable as e:
|
|
375
|
+
json_out["no_backend"] = True
|
|
376
|
+
json_out["traceback"] = e.traceback
|
|
377
|
+
json_out["backend_error"] = e.message
|
|
378
|
+
except GotUnsupportedOperation as e:
|
|
379
|
+
json_out["unsupported"] = True
|
|
380
|
+
json_out["traceback"] = e.traceback
|
|
381
|
+
except HookMissing as e:
|
|
382
|
+
json_out["hook_missing"] = True
|
|
383
|
+
json_out["missing_hook_name"] = e.hook_name or hook_name
|
|
384
|
+
|
|
385
|
+
write_json(json_out, pjoin(control_dir, "output.json"), indent=2)
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
if __name__ == "__main__":
|
|
389
|
+
main()
|
|
File without changes
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
# __
|
|
2
|
+
# /__) _ _ _ _ _/ _
|
|
3
|
+
# / ( (- (/ (/ (- _) / _)
|
|
4
|
+
# /
|
|
5
|
+
|
|
6
|
+
"""
|
|
7
|
+
Requests HTTP Library
|
|
8
|
+
~~~~~~~~~~~~~~~~~~~~~
|
|
9
|
+
|
|
10
|
+
Requests is an HTTP library, written in Python, for human beings.
|
|
11
|
+
Basic GET usage:
|
|
12
|
+
|
|
13
|
+
>>> import requests
|
|
14
|
+
>>> r = requests.get('https://www.python.org')
|
|
15
|
+
>>> r.status_code
|
|
16
|
+
200
|
|
17
|
+
>>> b'Python is a programming language' in r.content
|
|
18
|
+
True
|
|
19
|
+
|
|
20
|
+
... or POST:
|
|
21
|
+
|
|
22
|
+
>>> payload = dict(key1='value1', key2='value2')
|
|
23
|
+
>>> r = requests.post('https://httpbin.org/post', data=payload)
|
|
24
|
+
>>> print(r.text)
|
|
25
|
+
{
|
|
26
|
+
...
|
|
27
|
+
"form": {
|
|
28
|
+
"key1": "value1",
|
|
29
|
+
"key2": "value2"
|
|
30
|
+
},
|
|
31
|
+
...
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
The other HTTP methods are supported - see `requests.api`. Full documentation
|
|
35
|
+
is at <https://requests.readthedocs.io>.
|
|
36
|
+
|
|
37
|
+
:copyright: (c) 2017 by Kenneth Reitz.
|
|
38
|
+
:license: Apache 2.0, see LICENSE for more details.
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
import warnings
|
|
42
|
+
|
|
43
|
+
from pip._vendor import urllib3
|
|
44
|
+
|
|
45
|
+
from .exceptions import RequestsDependencyWarning
|
|
46
|
+
|
|
47
|
+
charset_normalizer_version = None
|
|
48
|
+
chardet_version = None
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def check_compatibility(urllib3_version, chardet_version, charset_normalizer_version):
|
|
52
|
+
urllib3_version = urllib3_version.split(".")
|
|
53
|
+
assert urllib3_version != ["dev"] # Verify urllib3 isn't installed from git.
|
|
54
|
+
|
|
55
|
+
# Sometimes, urllib3 only reports its version as 16.1.
|
|
56
|
+
if len(urllib3_version) == 2:
|
|
57
|
+
urllib3_version.append("0")
|
|
58
|
+
|
|
59
|
+
# Check urllib3 for compatibility.
|
|
60
|
+
major, minor, patch = urllib3_version # noqa: F811
|
|
61
|
+
major, minor, patch = int(major), int(minor), int(patch)
|
|
62
|
+
# urllib3 >= 1.21.1
|
|
63
|
+
assert major >= 1
|
|
64
|
+
if major == 1:
|
|
65
|
+
assert minor >= 21
|
|
66
|
+
|
|
67
|
+
# Check charset_normalizer for compatibility.
|
|
68
|
+
if chardet_version:
|
|
69
|
+
major, minor, patch = chardet_version.split(".")[:3]
|
|
70
|
+
major, minor, patch = int(major), int(minor), int(patch)
|
|
71
|
+
# chardet_version >= 3.0.2, < 6.0.0
|
|
72
|
+
assert (3, 0, 2) <= (major, minor, patch) < (6, 0, 0)
|
|
73
|
+
elif charset_normalizer_version:
|
|
74
|
+
major, minor, patch = charset_normalizer_version.split(".")[:3]
|
|
75
|
+
major, minor, patch = int(major), int(minor), int(patch)
|
|
76
|
+
# charset_normalizer >= 2.0.0 < 4.0.0
|
|
77
|
+
assert (2, 0, 0) <= (major, minor, patch) < (4, 0, 0)
|
|
78
|
+
else:
|
|
79
|
+
# pip does not need or use character detection
|
|
80
|
+
pass
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
def _check_cryptography(cryptography_version):
|
|
84
|
+
# cryptography < 1.3.4
|
|
85
|
+
try:
|
|
86
|
+
cryptography_version = list(map(int, cryptography_version.split(".")))
|
|
87
|
+
except ValueError:
|
|
88
|
+
return
|
|
89
|
+
|
|
90
|
+
if cryptography_version < [1, 3, 4]:
|
|
91
|
+
warning = "Old version of cryptography ({}) may cause slowdown.".format(
|
|
92
|
+
cryptography_version
|
|
93
|
+
)
|
|
94
|
+
warnings.warn(warning, RequestsDependencyWarning)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
# Check imported dependencies for compatibility.
|
|
98
|
+
try:
|
|
99
|
+
check_compatibility(
|
|
100
|
+
urllib3.__version__, chardet_version, charset_normalizer_version
|
|
101
|
+
)
|
|
102
|
+
except (AssertionError, ValueError):
|
|
103
|
+
warnings.warn(
|
|
104
|
+
"urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn't match a supported "
|
|
105
|
+
"version!".format(
|
|
106
|
+
urllib3.__version__, chardet_version, charset_normalizer_version
|
|
107
|
+
),
|
|
108
|
+
RequestsDependencyWarning,
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
# Attempt to enable urllib3's fallback for SNI support
|
|
112
|
+
# if the standard library doesn't support SNI or the
|
|
113
|
+
# 'ssl' library isn't available.
|
|
114
|
+
try:
|
|
115
|
+
# Note: This logic prevents upgrading cryptography on Windows, if imported
|
|
116
|
+
# as part of pip.
|
|
117
|
+
from pip._internal.utils.compat import WINDOWS
|
|
118
|
+
if not WINDOWS:
|
|
119
|
+
raise ImportError("pip internals: don't import cryptography on Windows")
|
|
120
|
+
try:
|
|
121
|
+
import ssl
|
|
122
|
+
except ImportError:
|
|
123
|
+
ssl = None
|
|
124
|
+
|
|
125
|
+
if not getattr(ssl, "HAS_SNI", False):
|
|
126
|
+
from pip._vendor.urllib3.contrib import pyopenssl
|
|
127
|
+
|
|
128
|
+
pyopenssl.inject_into_urllib3()
|
|
129
|
+
|
|
130
|
+
# Check cryptography version
|
|
131
|
+
from cryptography import __version__ as cryptography_version
|
|
132
|
+
|
|
133
|
+
_check_cryptography(cryptography_version)
|
|
134
|
+
except ImportError:
|
|
135
|
+
pass
|
|
136
|
+
|
|
137
|
+
# urllib3's DependencyWarnings should be silenced.
|
|
138
|
+
from pip._vendor.urllib3.exceptions import DependencyWarning
|
|
139
|
+
|
|
140
|
+
warnings.simplefilter("ignore", DependencyWarning)
|
|
141
|
+
|
|
142
|
+
# Set default logging handler to avoid "No handler found" warnings.
|
|
143
|
+
import logging
|
|
144
|
+
from logging import NullHandler
|
|
145
|
+
|
|
146
|
+
from . import packages, utils
|
|
147
|
+
from .__version__ import (
|
|
148
|
+
__author__,
|
|
149
|
+
__author_email__,
|
|
150
|
+
__build__,
|
|
151
|
+
__cake__,
|
|
152
|
+
__copyright__,
|
|
153
|
+
__description__,
|
|
154
|
+
__license__,
|
|
155
|
+
__title__,
|
|
156
|
+
__url__,
|
|
157
|
+
__version__,
|
|
158
|
+
)
|
|
159
|
+
from .api import delete, get, head, options, patch, post, put, request
|
|
160
|
+
from .exceptions import (
|
|
161
|
+
ConnectionError,
|
|
162
|
+
ConnectTimeout,
|
|
163
|
+
FileModeWarning,
|
|
164
|
+
HTTPError,
|
|
165
|
+
JSONDecodeError,
|
|
166
|
+
ReadTimeout,
|
|
167
|
+
RequestException,
|
|
168
|
+
Timeout,
|
|
169
|
+
TooManyRedirects,
|
|
170
|
+
URLRequired,
|
|
171
|
+
)
|
|
172
|
+
from .models import PreparedRequest, Request, Response
|
|
173
|
+
from .sessions import Session, session
|
|
174
|
+
from .status_codes import codes
|
|
175
|
+
|
|
176
|
+
logging.getLogger(__name__).addHandler(NullHandler())
|
|
177
|
+
|
|
178
|
+
# FileModeWarnings go off per the default.
|
|
179
|
+
warnings.simplefilter("default", FileModeWarning, append=True)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# .-. .-. .-. . . .-. .-. .-. .-.
|
|
2
|
+
# |( |- |.| | | |- `-. | `-.
|
|
3
|
+
# ' ' `-' `-`.`-' `-' `-' ' `-'
|
|
4
|
+
|
|
5
|
+
__title__ = "requests"
|
|
6
|
+
__description__ = "Python HTTP for Humans."
|
|
7
|
+
__url__ = "https://requests.readthedocs.io"
|
|
8
|
+
__version__ = "2.32.4"
|
|
9
|
+
__build__ = 0x023204
|
|
10
|
+
__author__ = "Kenneth Reitz"
|
|
11
|
+
__author_email__ = "me@kennethreitz.org"
|
|
12
|
+
__license__ = "Apache-2.0"
|
|
13
|
+
__copyright__ = "Copyright Kenneth Reitz"
|
|
14
|
+
__cake__ = "\u2728 \U0001f370 \u2728"
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"""
|
|
2
|
+
requests._internal_utils
|
|
3
|
+
~~~~~~~~~~~~~~
|
|
4
|
+
|
|
5
|
+
Provides utility functions that are consumed internally by Requests
|
|
6
|
+
which depend on extremely few external helpers (such as compat)
|
|
7
|
+
"""
|
|
8
|
+
import re
|
|
9
|
+
|
|
10
|
+
from .compat import builtin_str
|
|
11
|
+
|
|
12
|
+
_VALID_HEADER_NAME_RE_BYTE = re.compile(rb"^[^:\s][^:\r\n]*$")
|
|
13
|
+
_VALID_HEADER_NAME_RE_STR = re.compile(r"^[^:\s][^:\r\n]*$")
|
|
14
|
+
_VALID_HEADER_VALUE_RE_BYTE = re.compile(rb"^\S[^\r\n]*$|^$")
|
|
15
|
+
_VALID_HEADER_VALUE_RE_STR = re.compile(r"^\S[^\r\n]*$|^$")
|
|
16
|
+
|
|
17
|
+
_HEADER_VALIDATORS_STR = (_VALID_HEADER_NAME_RE_STR, _VALID_HEADER_VALUE_RE_STR)
|
|
18
|
+
_HEADER_VALIDATORS_BYTE = (_VALID_HEADER_NAME_RE_BYTE, _VALID_HEADER_VALUE_RE_BYTE)
|
|
19
|
+
HEADER_VALIDATORS = {
|
|
20
|
+
bytes: _HEADER_VALIDATORS_BYTE,
|
|
21
|
+
str: _HEADER_VALIDATORS_STR,
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def to_native_string(string, encoding="ascii"):
|
|
26
|
+
"""Given a string object, regardless of type, returns a representation of
|
|
27
|
+
that string in the native string type, encoding and decoding where
|
|
28
|
+
necessary. This assumes ASCII unless told otherwise.
|
|
29
|
+
"""
|
|
30
|
+
if isinstance(string, builtin_str):
|
|
31
|
+
out = string
|
|
32
|
+
else:
|
|
33
|
+
out = string.decode(encoding)
|
|
34
|
+
|
|
35
|
+
return out
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def unicode_is_ascii(u_string):
|
|
39
|
+
"""Determine if unicode string only contains ASCII characters.
|
|
40
|
+
|
|
41
|
+
:param str u_string: unicode string to check. Must be unicode
|
|
42
|
+
and not Python 2 `str`.
|
|
43
|
+
:rtype: bool
|
|
44
|
+
"""
|
|
45
|
+
assert isinstance(u_string, str)
|
|
46
|
+
try:
|
|
47
|
+
u_string.encode("ascii")
|
|
48
|
+
return True
|
|
49
|
+
except UnicodeEncodeError:
|
|
50
|
+
return False
|