pip 24.2__tar.gz → 24.3.1__tar.gz
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.
- {pip-24.2 → pip-24.3.1}/AUTHORS.txt +3 -0
- {pip-24.2 → pip-24.3.1}/NEWS.rst +39 -0
- {pip-24.2 → pip-24.3.1}/PKG-INFO +2 -1
- {pip-24.2 → pip-24.3.1}/docs/html/development/ci.rst +21 -7
- {pip-24.2 → pip-24.3.1}/docs/html/installation.md +1 -1
- {pip-24.2 → pip-24.3.1}/docs/requirements.txt +3 -1
- {pip-24.2 → pip-24.3.1}/pyproject.toml +15 -4
- {pip-24.2 → pip-24.3.1}/src/pip/__init__.py +1 -1
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/build_env.py +4 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/cli/index_command.py +1 -1
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/cli/parser.py +2 -2
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/cli/progress_bars.py +1 -1
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/commands/list.py +1 -1
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/commands/search.py +1 -1
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/exceptions.py +33 -1
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/index/sources.py +2 -3
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/locations/_distutils.py +3 -3
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/metadata/importlib/_envs.py +1 -1
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/models/wheel.py +28 -3
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/network/lazy_wheel.py +1 -1
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/req/constructors.py +1 -1
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/req/req_file.py +30 -7
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/resolution/resolvelib/candidates.py +7 -2
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/resolution/resolvelib/factory.py +11 -5
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/compatibility_tags.py +25 -2
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/misc.py +2 -7
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/certifi/__init__.py +1 -1
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/certifi/cacert.pem +131 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distlib/__init__.py +1 -1
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distlib/compat.py +1 -2
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distlib/database.py +30 -60
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distlib/locators.py +57 -65
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distlib/markers.py +7 -12
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distlib/metadata.py +72 -109
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distlib/scripts.py +36 -55
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distlib/util.py +41 -82
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distlib/version.py +1 -2
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distlib/wheel.py +65 -64
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/packaging/tags.py +64 -5
- pip-24.3.1/src/pip/_vendor/truststore/__init__.py +36 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/truststore/_api.py +3 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/truststore/_macos.py +136 -64
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/truststore/_windows.py +5 -2
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/_version.py +1 -1
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/connection.py +2 -2
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/connectionpool.py +5 -2
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/util/retry.py +3 -1
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/util/ssl_.py +13 -4
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/vendor.txt +4 -4
- {pip-24.2 → pip-24.3.1}/src/pip.egg-info/PKG-INFO +2 -1
- pip-24.2/src/pip/_vendor/truststore/__init__.py +0 -13
- {pip-24.2 → pip-24.3.1}/LICENSE.txt +0 -0
- {pip-24.2 → pip-24.3.1}/MANIFEST.in +0 -0
- {pip-24.2 → pip-24.3.1}/README.rst +0 -0
- {pip-24.2 → pip-24.3.1}/SECURITY.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/cli/index.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/cli/pip.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/cli/pip_cache.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/cli/pip_check.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/cli/pip_config.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/cli/pip_debug.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/cli/pip_download.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/cli/pip_freeze.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/cli/pip_hash.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/cli/pip_inspect.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/cli/pip_install.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/cli/pip_list.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/cli/pip_search.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/cli/pip_show.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/cli/pip_uninstall.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/cli/pip_wheel.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/conf.py +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/copyright.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/development/architecture/anatomy.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/development/architecture/command-line-interface.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/development/architecture/configuration-files.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/development/architecture/index.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/development/architecture/overview.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/development/architecture/package-finding.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/development/architecture/upgrade-options.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/development/contributing.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/development/conventions.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/development/getting-started.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/development/index.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/development/issue-triage.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/development/release-process.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/development/vendoring-policy.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/getting-started.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/index.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/installing.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/news.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/quickstart.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/build-system/index.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/build-system/pyproject-toml.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/build-system/setup-py.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/index.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/inspect-report.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/installation-report.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/pip.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/pip_cache.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/pip_check.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/pip_config.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/pip_debug.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/pip_download.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/pip_freeze.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/pip_hash.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/pip_install.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/pip_list.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/pip_search.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/pip_show.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/pip_uninstall.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/pip_wheel.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/requirement-specifiers.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/reference/requirements-file-format.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/topics/authentication.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/topics/caching.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/topics/configuration.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/topics/dependency-resolution.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/topics/deps.dot +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/topics/deps.png +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/topics/https-certificates.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/topics/index.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/topics/local-project-installs.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/topics/more-dependency-resolution.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/topics/python-option.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/topics/repeatable-installs.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/topics/secure-installs.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/topics/vcs-support.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/topics/workflow.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/user_guide.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/ux-research-design/contribute.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/ux-research-design/guidance.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/ux-research-design/index.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/ux-research-design/research-results/about-our-users.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/ux-research-design/research-results/ci-cd.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/ux-research-design/research-results/improving-pips-documentation.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/ux-research-design/research-results/index.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/ux-research-design/research-results/mental-models.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/ux-research-design/research-results/override-conflicting-dependencies.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/ux-research-design/research-results/personas.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/ux-research-design/research-results/pip-force-reinstall.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/ux-research-design/research-results/pip-search.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/ux-research-design/research-results/pip-upgrade-conflict.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/ux-research-design/research-results/prioritizing-features.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/html/ux-research-design/research-results/users-and-security.md +0 -0
- {pip-24.2 → pip-24.3.1}/docs/man/commands/cache.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/man/commands/check.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/man/commands/config.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/man/commands/debug.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/man/commands/download.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/man/commands/freeze.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/man/commands/hash.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/man/commands/help.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/man/commands/install.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/man/commands/list.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/man/commands/search.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/man/commands/show.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/man/commands/uninstall.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/man/commands/wheel.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/man/index.rst +0 -0
- {pip-24.2 → pip-24.3.1}/docs/pip_sphinxext.py +0 -0
- {pip-24.2 → pip-24.3.1}/setup.cfg +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/__main__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/__pip-runner__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/cache.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/cli/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/cli/autocompletion.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/cli/base_command.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/cli/cmdoptions.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/cli/command_context.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/cli/main.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/cli/main_parser.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/cli/req_command.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/cli/spinners.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/cli/status_codes.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/commands/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/commands/cache.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/commands/check.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/commands/completion.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/commands/configuration.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/commands/debug.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/commands/download.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/commands/freeze.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/commands/hash.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/commands/help.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/commands/index.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/commands/inspect.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/commands/install.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/commands/show.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/commands/uninstall.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/commands/wheel.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/configuration.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/distributions/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/distributions/base.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/distributions/installed.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/distributions/sdist.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/distributions/wheel.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/index/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/index/collector.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/index/package_finder.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/locations/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/locations/_sysconfig.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/locations/base.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/main.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/metadata/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/metadata/_json.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/metadata/base.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/metadata/importlib/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/metadata/importlib/_compat.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/metadata/importlib/_dists.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/metadata/pkg_resources.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/models/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/models/candidate.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/models/direct_url.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/models/format_control.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/models/index.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/models/installation_report.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/models/link.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/models/scheme.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/models/search_scope.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/models/selection_prefs.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/models/target_python.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/network/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/network/auth.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/network/cache.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/network/download.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/network/session.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/network/utils.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/network/xmlrpc.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/operations/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/operations/build/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/operations/build/build_tracker.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/operations/build/metadata.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/operations/build/metadata_editable.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/operations/build/metadata_legacy.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/operations/build/wheel.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/operations/build/wheel_editable.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/operations/build/wheel_legacy.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/operations/check.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/operations/freeze.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/operations/install/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/operations/install/editable_legacy.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/operations/install/wheel.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/operations/prepare.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/pyproject.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/req/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/req/req_install.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/req/req_set.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/req/req_uninstall.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/resolution/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/resolution/base.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/resolution/legacy/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/resolution/legacy/resolver.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/resolution/resolvelib/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/resolution/resolvelib/base.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/resolution/resolvelib/found_candidates.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/resolution/resolvelib/provider.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/resolution/resolvelib/reporter.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/resolution/resolvelib/requirements.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/resolution/resolvelib/resolver.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/self_outdated_check.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/_jaraco_text.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/_log.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/appdirs.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/compat.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/datetime.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/deprecation.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/direct_url_helpers.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/egg_link.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/encoding.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/entrypoints.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/filesystem.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/filetypes.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/glibc.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/hashes.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/logging.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/packaging.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/retry.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/setuptools_build.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/subprocess.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/temp_dir.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/unpacking.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/urls.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/virtualenv.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/utils/wheel.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/vcs/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/vcs/bazaar.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/vcs/git.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/vcs/mercurial.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/vcs/subversion.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/vcs/versioncontrol.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_internal/wheel_builder.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/README.rst +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/cachecontrol/LICENSE.txt +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/cachecontrol/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/cachecontrol/_cmd.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/cachecontrol/adapter.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/cachecontrol/cache.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/cachecontrol/caches/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/cachecontrol/caches/file_cache.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/cachecontrol/controller.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/cachecontrol/filewrapper.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/cachecontrol/heuristics.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/cachecontrol/py.typed +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/cachecontrol/serialize.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/cachecontrol/wrapper.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/certifi/LICENSE +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/certifi/__main__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/certifi/core.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/certifi/py.typed +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distlib/LICENSE.txt +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distlib/index.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distlib/manifest.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distlib/resources.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distlib/t32.exe +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distlib/t64-arm.exe +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distlib/t64.exe +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distlib/w32.exe +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distlib/w64-arm.exe +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distlib/w64.exe +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distro/LICENSE +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distro/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distro/__main__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distro/distro.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/distro/py.typed +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/idna/LICENSE.md +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/idna/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/idna/codec.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/idna/compat.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/idna/core.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/idna/idnadata.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/idna/intranges.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/idna/package_data.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/idna/py.typed +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/idna/uts46data.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/msgpack/COPYING +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/msgpack/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/msgpack/exceptions.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/msgpack/ext.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/msgpack/fallback.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/packaging/LICENSE +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/packaging/LICENSE.APACHE +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/packaging/LICENSE.BSD +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/packaging/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/packaging/_elffile.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/packaging/_manylinux.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/packaging/_musllinux.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/packaging/_parser.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/packaging/_structures.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/packaging/_tokenizer.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/packaging/markers.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/packaging/metadata.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/packaging/py.typed +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/packaging/requirements.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/packaging/specifiers.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/packaging/utils.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/packaging/version.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pkg_resources/LICENSE +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pkg_resources/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/platformdirs/LICENSE +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/platformdirs/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/platformdirs/__main__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/platformdirs/android.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/platformdirs/api.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/platformdirs/macos.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/platformdirs/py.typed +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/platformdirs/unix.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/platformdirs/version.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/platformdirs/windows.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/LICENSE +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/__main__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/cmdline.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/console.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/filter.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/filters/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/formatter.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/formatters/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/formatters/_mapping.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/formatters/bbcode.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/formatters/groff.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/formatters/html.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/formatters/img.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/formatters/irc.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/formatters/latex.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/formatters/other.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/formatters/pangomarkup.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/formatters/rtf.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/formatters/svg.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/formatters/terminal.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/formatters/terminal256.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/lexer.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/lexers/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/lexers/_mapping.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/lexers/python.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/modeline.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/plugin.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/regexopt.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/scanner.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/sphinxext.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/style.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/styles/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/styles/_mapping.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/token.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/unistring.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pygments/util.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pyproject_hooks/LICENSE +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pyproject_hooks/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pyproject_hooks/_compat.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pyproject_hooks/_impl.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pyproject_hooks/_in_process/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/requests/LICENSE +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/requests/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/requests/__version__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/requests/_internal_utils.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/requests/adapters.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/requests/api.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/requests/auth.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/requests/certs.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/requests/compat.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/requests/cookies.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/requests/exceptions.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/requests/help.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/requests/hooks.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/requests/models.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/requests/packages.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/requests/sessions.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/requests/status_codes.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/requests/structures.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/requests/utils.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/resolvelib/LICENSE +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/resolvelib/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/resolvelib/compat/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/resolvelib/compat/collections_abc.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/resolvelib/providers.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/resolvelib/py.typed +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/resolvelib/reporters.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/resolvelib/resolvers.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/resolvelib/structs.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/LICENSE +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/__main__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/_cell_widths.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/_emoji_codes.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/_emoji_replace.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/_export_format.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/_extension.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/_fileno.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/_inspect.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/_log_render.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/_loop.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/_null_file.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/_palettes.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/_pick.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/_ratio.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/_spinners.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/_stack.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/_timer.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/_win32_console.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/_windows.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/_windows_renderer.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/_wrap.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/abc.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/align.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/ansi.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/bar.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/box.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/cells.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/color.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/color_triplet.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/columns.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/console.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/constrain.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/containers.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/control.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/default_styles.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/diagnose.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/emoji.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/errors.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/file_proxy.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/filesize.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/highlighter.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/json.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/jupyter.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/layout.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/live.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/live_render.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/logging.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/markup.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/measure.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/padding.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/pager.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/palette.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/panel.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/pretty.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/progress.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/progress_bar.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/prompt.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/protocol.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/py.typed +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/region.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/repr.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/rule.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/scope.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/screen.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/segment.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/spinner.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/status.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/style.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/styled.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/syntax.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/table.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/terminal_theme.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/text.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/theme.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/themes.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/traceback.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/rich/tree.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/tomli/LICENSE +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/tomli/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/tomli/_parser.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/tomli/_re.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/tomli/_types.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/tomli/py.typed +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/truststore/LICENSE +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/truststore/_openssl.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/truststore/_ssl_constants.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/truststore/py.typed +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/typing_extensions.LICENSE +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/typing_extensions.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/LICENSE.txt +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/_collections.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/contrib/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/contrib/appengine.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/contrib/securetransport.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/contrib/socks.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/exceptions.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/fields.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/filepost.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/packages/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/packages/backports/makefile.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/packages/six.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/poolmanager.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/request.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/response.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/util/__init__.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/util/connection.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/util/proxy.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/util/queue.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/util/request.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/util/response.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/util/ssltransport.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/util/timeout.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/util/url.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/_vendor/urllib3/util/wait.py +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip/py.typed +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip.egg-info/SOURCES.txt +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip.egg-info/dependency_links.txt +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip.egg-info/entry_points.txt +0 -0
- {pip-24.2 → pip-24.3.1}/src/pip.egg-info/top_level.txt +0 -0
|
@@ -57,6 +57,7 @@ Anthony Sottile
|
|
|
57
57
|
Antoine Musso
|
|
58
58
|
Anton Ovchinnikov
|
|
59
59
|
Anton Patrushev
|
|
60
|
+
Anton Zelenov
|
|
60
61
|
Antonio Alvarado Hernandez
|
|
61
62
|
Antony Lee
|
|
62
63
|
Antti Kaihola
|
|
@@ -225,6 +226,7 @@ Diego Ramirez
|
|
|
225
226
|
DiegoCaraballo
|
|
226
227
|
Dimitri Merejkowsky
|
|
227
228
|
Dimitri Papadopoulos
|
|
229
|
+
Dimitri Papadopoulos Orfanos
|
|
228
230
|
Dirk Stolle
|
|
229
231
|
Dmitry Gladkov
|
|
230
232
|
Dmitry Volodin
|
|
@@ -690,6 +692,7 @@ snook92
|
|
|
690
692
|
socketubs
|
|
691
693
|
Sorin Sbarnea
|
|
692
694
|
Srinivas Nyayapati
|
|
695
|
+
Srishti Hegde
|
|
693
696
|
Stavros Korokithakis
|
|
694
697
|
Stefan Scherfke
|
|
695
698
|
Stefano Rivera
|
{pip-24.2 → pip-24.3.1}/NEWS.rst
RENAMED
|
@@ -9,6 +9,45 @@
|
|
|
9
9
|
|
|
10
10
|
.. towncrier release notes start
|
|
11
11
|
|
|
12
|
+
24.3.1 (2024-10-27)
|
|
13
|
+
===================
|
|
14
|
+
|
|
15
|
+
Bug Fixes
|
|
16
|
+
---------
|
|
17
|
+
|
|
18
|
+
- Allow multiple nested inclusions of the same requirements file again. (`#13046 <https://github.com/pypa/pip/issues/13046>`_)
|
|
19
|
+
|
|
20
|
+
24.3 (2024-10-27)
|
|
21
|
+
=================
|
|
22
|
+
|
|
23
|
+
Deprecations and Removals
|
|
24
|
+
-------------------------
|
|
25
|
+
|
|
26
|
+
- Deprecate wheel filenames that are not compliant with :pep:`440`. (`#12918 <https://github.com/pypa/pip/issues/12918>`_)
|
|
27
|
+
|
|
28
|
+
Features
|
|
29
|
+
--------
|
|
30
|
+
|
|
31
|
+
- Detect recursively referencing requirements files and help users identify
|
|
32
|
+
the source. (`#12653 <https://github.com/pypa/pip/issues/12653>`_)
|
|
33
|
+
- Support for :pep:`730` iOS wheels. (`#12961 <https://github.com/pypa/pip/issues/12961>`_)
|
|
34
|
+
|
|
35
|
+
Bug Fixes
|
|
36
|
+
---------
|
|
37
|
+
|
|
38
|
+
- Display a better error message when an already installed package has an invalid requirement. (`#12953 <https://github.com/pypa/pip/issues/12953>`_)
|
|
39
|
+
- Ignore ``PIP_TARGET`` and ``pip.conf`` ``global.target`` when preparing a build environment. (`#8438 <https://github.com/pypa/pip/issues/8438>`_)
|
|
40
|
+
- Restore support for macOS 10.12 and older (via truststore). (`#12901 <https://github.com/pypa/pip/issues/12901>`_)
|
|
41
|
+
- Allow installing pip in editable mode in a virtual environment on Windows. (`#12666 <https://github.com/pypa/pip/issues/12666>`_)
|
|
42
|
+
|
|
43
|
+
Vendored Libraries
|
|
44
|
+
------------------
|
|
45
|
+
|
|
46
|
+
- Upgrade certifi to 2024.8.30
|
|
47
|
+
- Upgrade distlib to 0.3.9
|
|
48
|
+
- Upgrade truststore to 0.10.0
|
|
49
|
+
- Upgrade urllib3 to 1.26.20
|
|
50
|
+
|
|
12
51
|
24.2 (2024-07-28)
|
|
13
52
|
=================
|
|
14
53
|
|
{pip-24.2 → pip-24.3.1}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pip
|
|
3
|
-
Version: 24.
|
|
3
|
+
Version: 24.3.1
|
|
4
4
|
Summary: The PyPA recommended tool for installing Python packages.
|
|
5
5
|
Author-email: The pip developers <distutils-sig@python.org>
|
|
6
6
|
License: MIT
|
|
@@ -20,6 +20,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.10
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.11
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
24
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
24
25
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
25
26
|
Requires-Python: >=3.8
|
|
@@ -23,6 +23,7 @@ pip support a variety of Python interpreters:
|
|
|
23
23
|
- CPython 3.10
|
|
24
24
|
- CPython 3.11
|
|
25
25
|
- CPython 3.12
|
|
26
|
+
- CPython 3.13
|
|
26
27
|
- Latest PyPy3
|
|
27
28
|
|
|
28
29
|
on different operating systems:
|
|
@@ -35,8 +36,9 @@ and on different architectures:
|
|
|
35
36
|
|
|
36
37
|
- x64
|
|
37
38
|
- x86
|
|
39
|
+
- arm64 (macOS only)
|
|
38
40
|
|
|
39
|
-
so
|
|
41
|
+
so 49 hypothetical interpreters.
|
|
40
42
|
|
|
41
43
|
|
|
42
44
|
Checks
|
|
@@ -99,6 +101,8 @@ Actual testing
|
|
|
99
101
|
| | +-------+---------------+-----------------+
|
|
100
102
|
| | | CP3.12| | |
|
|
101
103
|
| | +-------+---------------+-----------------+
|
|
104
|
+
| | | CP3.13| | |
|
|
105
|
+
| | +-------+---------------+-----------------+
|
|
102
106
|
| | | PyPy3 | | |
|
|
103
107
|
| Windows +----------+-------+---------------+-----------------+
|
|
104
108
|
| | x64 | CP3.8 | GitHub | GitHub |
|
|
@@ -107,10 +111,12 @@ Actual testing
|
|
|
107
111
|
| | +-------+---------------+-----------------+
|
|
108
112
|
| | | CP3.10| | |
|
|
109
113
|
| | +-------+---------------+-----------------+
|
|
110
|
-
| | | CP3.11|
|
|
114
|
+
| | | CP3.11| | |
|
|
111
115
|
| | +-------+---------------+-----------------+
|
|
112
116
|
| | | CP3.12| | |
|
|
113
117
|
| | +-------+---------------+-----------------+
|
|
118
|
+
| | | CP3.13| GitHub | GitHub |
|
|
119
|
+
| | +-------+---------------+-----------------+
|
|
114
120
|
| | | PyPy3 | | |
|
|
115
121
|
+-----------+----------+-------+---------------+-----------------+
|
|
116
122
|
| | x86 | CP3.8 | | |
|
|
@@ -123,6 +129,8 @@ Actual testing
|
|
|
123
129
|
| | +-------+---------------+-----------------+
|
|
124
130
|
| | | CP3.12| | |
|
|
125
131
|
| | +-------+---------------+-----------------+
|
|
132
|
+
| | | CP3.13| | |
|
|
133
|
+
| | +-------+---------------+-----------------+
|
|
126
134
|
| | | PyPy3 | | |
|
|
127
135
|
| Linux +----------+-------+---------------+-----------------+
|
|
128
136
|
| | x64 | CP3.8 | GitHub | GitHub |
|
|
@@ -135,17 +143,21 @@ Actual testing
|
|
|
135
143
|
| | +-------+---------------+-----------------+
|
|
136
144
|
| | | CP3.12| GitHub | GitHub |
|
|
137
145
|
| | +-------+---------------+-----------------+
|
|
146
|
+
| | | CP3.13| GitHub | GitHub |
|
|
147
|
+
| | +-------+---------------+-----------------+
|
|
138
148
|
| | | PyPy3 | | |
|
|
139
149
|
+-----------+----------+-------+---------------+-----------------+
|
|
140
|
-
| | arm64 | CP3.8 |
|
|
150
|
+
| | arm64 | CP3.8 | GitHub | GitHub |
|
|
141
151
|
| | +-------+---------------+-----------------+
|
|
142
|
-
| | | CP3.9 |
|
|
152
|
+
| | | CP3.9 | GitHub | GitHub |
|
|
143
153
|
| | +-------+---------------+-----------------+
|
|
144
|
-
| | | CP3.10|
|
|
154
|
+
| | | CP3.10| GitHub | GitHub |
|
|
145
155
|
| | +-------+---------------+-----------------+
|
|
146
|
-
| | | CP3.11|
|
|
156
|
+
| | | CP3.11| GitHub | GitHub |
|
|
147
157
|
| | +-------+---------------+-----------------+
|
|
148
|
-
| | | CP3.12|
|
|
158
|
+
| | | CP3.12| GitHub | GitHub |
|
|
159
|
+
| | +-------+---------------+-----------------+
|
|
160
|
+
| | | CP3.13| GitHub | GitHub |
|
|
149
161
|
| | +-------+---------------+-----------------+
|
|
150
162
|
| | | PyPy3 | | |
|
|
151
163
|
| macOS +----------+-------+---------------+-----------------+
|
|
@@ -159,5 +171,7 @@ Actual testing
|
|
|
159
171
|
| | +-------+---------------+-----------------+
|
|
160
172
|
| | | CP3.12| GitHub | GitHub |
|
|
161
173
|
| | +-------+---------------+-----------------+
|
|
174
|
+
| | | CP3.13| GitHub | GitHub |
|
|
175
|
+
| | +-------+---------------+-----------------+
|
|
162
176
|
| | | PyPy3 | | |
|
|
163
177
|
+-----------+----------+-------+---------------+-----------------+
|
|
@@ -126,7 +126,7 @@ $ pip install --upgrade pip
|
|
|
126
126
|
The current version of pip works on:
|
|
127
127
|
|
|
128
128
|
- Windows, Linux and macOS.
|
|
129
|
-
- CPython 3.8, 3.9, 3.10, 3.11, 3.12, and latest PyPy3.
|
|
129
|
+
- CPython 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, and latest PyPy3.
|
|
130
130
|
|
|
131
131
|
pip is tested to work on the latest patch version of the Python interpreter,
|
|
132
132
|
for each of the minor versions listed above. Previous patch versions are
|
|
@@ -18,6 +18,7 @@ classifiers = [
|
|
|
18
18
|
"Programming Language :: Python :: 3.10",
|
|
19
19
|
"Programming Language :: Python :: 3.11",
|
|
20
20
|
"Programming Language :: Python :: 3.12",
|
|
21
|
+
"Programming Language :: Python :: 3.13",
|
|
21
22
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
22
23
|
"Programming Language :: Python :: Implementation :: PyPy",
|
|
23
24
|
]
|
|
@@ -181,13 +182,23 @@ select = [
|
|
|
181
182
|
"PLR0",
|
|
182
183
|
"W",
|
|
183
184
|
"RUF100",
|
|
184
|
-
"
|
|
185
|
+
"UP",
|
|
185
186
|
]
|
|
186
187
|
|
|
187
188
|
[tool.ruff.lint.isort]
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
189
|
+
section-order = [
|
|
190
|
+
"future",
|
|
191
|
+
"standard-library",
|
|
192
|
+
"third-party",
|
|
193
|
+
"vendored",
|
|
194
|
+
"first-party",
|
|
195
|
+
"tests",
|
|
196
|
+
"local-folder",
|
|
197
|
+
]
|
|
198
|
+
|
|
199
|
+
[tool.ruff.lint.isort.sections]
|
|
200
|
+
"vendored" = ["pip._vendor"]
|
|
201
|
+
"tests" = ["tests"]
|
|
191
202
|
|
|
192
203
|
[tool.ruff.lint.mccabe]
|
|
193
204
|
max-complexity = 33 # default is 10
|
|
@@ -242,6 +242,10 @@ class BuildEnvironment:
|
|
|
242
242
|
prefix.path,
|
|
243
243
|
"--no-warn-script-location",
|
|
244
244
|
"--disable-pip-version-check",
|
|
245
|
+
# The prefix specified two lines above, thus
|
|
246
|
+
# target from config file or env var should be ignored
|
|
247
|
+
"--target",
|
|
248
|
+
"",
|
|
245
249
|
]
|
|
246
250
|
if logger.getEffectiveLevel() <= logging.DEBUG:
|
|
247
251
|
args.append("-vv")
|
|
@@ -54,7 +54,7 @@ class SessionCommandMixin(CommandContextMixIn):
|
|
|
54
54
|
|
|
55
55
|
def __init__(self) -> None:
|
|
56
56
|
super().__init__()
|
|
57
|
-
self._session: Optional[
|
|
57
|
+
self._session: Optional[PipSession] = None
|
|
58
58
|
|
|
59
59
|
@classmethod
|
|
60
60
|
def _get_index_urls(cls, options: Values) -> Optional[List[str]]:
|
|
@@ -6,7 +6,7 @@ import shutil
|
|
|
6
6
|
import sys
|
|
7
7
|
import textwrap
|
|
8
8
|
from contextlib import suppress
|
|
9
|
-
from typing import Any, Dict, Generator, List, Optional, Tuple
|
|
9
|
+
from typing import Any, Dict, Generator, List, NoReturn, Optional, Tuple
|
|
10
10
|
|
|
11
11
|
from pip._internal.cli.status_codes import UNKNOWN_ERROR
|
|
12
12
|
from pip._internal.configuration import Configuration, ConfigurationError
|
|
@@ -289,6 +289,6 @@ class ConfigOptionParser(CustomOptionParser):
|
|
|
289
289
|
defaults[option.dest] = option.check_value(opt_str, default)
|
|
290
290
|
return optparse.Values(defaults)
|
|
291
291
|
|
|
292
|
-
def error(self, msg: str) ->
|
|
292
|
+
def error(self, msg: str) -> NoReturn:
|
|
293
293
|
self.print_usage(sys.stderr)
|
|
294
294
|
self.exit(UNKNOWN_ERROR, f"{msg}\n")
|
|
@@ -176,7 +176,7 @@ class ListCommand(IndexGroupCommand):
|
|
|
176
176
|
if options.excludes:
|
|
177
177
|
skip.update(canonicalize_name(n) for n in options.excludes)
|
|
178
178
|
|
|
179
|
-
packages:
|
|
179
|
+
packages: _ProcessedDists = [
|
|
180
180
|
cast("_DistWithLatestInfo", d)
|
|
181
181
|
for d in get_environment(options.path).iter_installed_distributions(
|
|
182
182
|
local_only=options.local,
|
|
@@ -89,7 +89,7 @@ def transform_hits(hits: List[Dict[str, str]]) -> List["TransformedHit"]:
|
|
|
89
89
|
packages with the list of versions stored inline. This converts the
|
|
90
90
|
list from pypi into one we can use.
|
|
91
91
|
"""
|
|
92
|
-
packages: Dict[str,
|
|
92
|
+
packages: Dict[str, TransformedHit] = OrderedDict()
|
|
93
93
|
for hit in hits:
|
|
94
94
|
name = hit["name"]
|
|
95
95
|
summary = hit["summary"]
|
|
@@ -15,6 +15,8 @@ import sys
|
|
|
15
15
|
from itertools import chain, groupby, repeat
|
|
16
16
|
from typing import TYPE_CHECKING, Dict, Iterator, List, Literal, Optional, Union
|
|
17
17
|
|
|
18
|
+
from pip._vendor.packaging.requirements import InvalidRequirement
|
|
19
|
+
from pip._vendor.packaging.version import InvalidVersion
|
|
18
20
|
from pip._vendor.rich.console import Console, ConsoleOptions, RenderResult
|
|
19
21
|
from pip._vendor.rich.markup import escape
|
|
20
22
|
from pip._vendor.rich.text import Text
|
|
@@ -429,7 +431,7 @@ class HashErrors(InstallationError):
|
|
|
429
431
|
"""Multiple HashError instances rolled into one for reporting"""
|
|
430
432
|
|
|
431
433
|
def __init__(self) -> None:
|
|
432
|
-
self.errors: List[
|
|
434
|
+
self.errors: List[HashError] = []
|
|
433
435
|
|
|
434
436
|
def append(self, error: "HashError") -> None:
|
|
435
437
|
self.errors.append(error)
|
|
@@ -775,3 +777,33 @@ class LegacyDistutilsInstall(DiagnosticPipError):
|
|
|
775
777
|
),
|
|
776
778
|
hint_stmt=None,
|
|
777
779
|
)
|
|
780
|
+
|
|
781
|
+
|
|
782
|
+
class InvalidInstalledPackage(DiagnosticPipError):
|
|
783
|
+
reference = "invalid-installed-package"
|
|
784
|
+
|
|
785
|
+
def __init__(
|
|
786
|
+
self,
|
|
787
|
+
*,
|
|
788
|
+
dist: "BaseDistribution",
|
|
789
|
+
invalid_exc: Union[InvalidRequirement, InvalidVersion],
|
|
790
|
+
) -> None:
|
|
791
|
+
installed_location = dist.installed_location
|
|
792
|
+
|
|
793
|
+
if isinstance(invalid_exc, InvalidRequirement):
|
|
794
|
+
invalid_type = "requirement"
|
|
795
|
+
else:
|
|
796
|
+
invalid_type = "version"
|
|
797
|
+
|
|
798
|
+
super().__init__(
|
|
799
|
+
message=Text(
|
|
800
|
+
f"Cannot process installed package {dist} "
|
|
801
|
+
+ (f"in {installed_location!r} " if installed_location else "")
|
|
802
|
+
+ f"because it has an invalid {invalid_type}:\n{invalid_exc.args[0]}"
|
|
803
|
+
),
|
|
804
|
+
context=(
|
|
805
|
+
"Starting with pip 24.1, packages with invalid "
|
|
806
|
+
f"{invalid_type}s can not be processed."
|
|
807
|
+
),
|
|
808
|
+
hint_stmt="To proceed this package must be uninstalled.",
|
|
809
|
+
)
|
|
@@ -6,7 +6,6 @@ from typing import Callable, Dict, Iterable, List, Optional, Tuple
|
|
|
6
6
|
|
|
7
7
|
from pip._vendor.packaging.utils import (
|
|
8
8
|
InvalidSdistFilename,
|
|
9
|
-
InvalidVersion,
|
|
10
9
|
InvalidWheelFilename,
|
|
11
10
|
canonicalize_name,
|
|
12
11
|
parse_sdist_filename,
|
|
@@ -68,10 +67,10 @@ class _FlatDirectoryToUrls:
|
|
|
68
67
|
# otherwise not worth considering as a package
|
|
69
68
|
try:
|
|
70
69
|
project_filename = parse_wheel_filename(entry.name)[0]
|
|
71
|
-
except
|
|
70
|
+
except InvalidWheelFilename:
|
|
72
71
|
try:
|
|
73
72
|
project_filename = parse_sdist_filename(entry.name)[0]
|
|
74
|
-
except
|
|
73
|
+
except InvalidSdistFilename:
|
|
75
74
|
continue
|
|
76
75
|
|
|
77
76
|
self._project_name_to_urls[project_filename].append(url)
|
|
@@ -21,7 +21,7 @@ from distutils.cmd import Command as DistutilsCommand
|
|
|
21
21
|
from distutils.command.install import SCHEME_KEYS
|
|
22
22
|
from distutils.command.install import install as distutils_install_command
|
|
23
23
|
from distutils.sysconfig import get_python_lib
|
|
24
|
-
from typing import Dict, List, Optional, Union
|
|
24
|
+
from typing import Dict, List, Optional, Union
|
|
25
25
|
|
|
26
26
|
from pip._internal.models.scheme import Scheme
|
|
27
27
|
from pip._internal.utils.compat import WINDOWS
|
|
@@ -64,7 +64,7 @@ def distutils_scheme(
|
|
|
64
64
|
obj: Optional[DistutilsCommand] = None
|
|
65
65
|
obj = d.get_command_obj("install", create=True)
|
|
66
66
|
assert obj is not None
|
|
67
|
-
i =
|
|
67
|
+
i: distutils_install_command = obj
|
|
68
68
|
# NOTE: setting user or home has the side-effect of creating the home dir
|
|
69
69
|
# or user base for installations during finalize_options()
|
|
70
70
|
# ideally, we'd prefer a scheme class that has no side-effects.
|
|
@@ -78,7 +78,7 @@ def distutils_scheme(
|
|
|
78
78
|
i.root = root or i.root
|
|
79
79
|
i.finalize_options()
|
|
80
80
|
|
|
81
|
-
scheme = {}
|
|
81
|
+
scheme: Dict[str, str] = {}
|
|
82
82
|
for key in SCHEME_KEYS:
|
|
83
83
|
scheme[key] = getattr(i, "install_" + key)
|
|
84
84
|
|
|
@@ -150,7 +150,7 @@ def _emit_egg_deprecation(location: Optional[str]) -> None:
|
|
|
150
150
|
deprecated(
|
|
151
151
|
reason=f"Loading egg at {location} is deprecated.",
|
|
152
152
|
replacement="to use pip for package installation",
|
|
153
|
-
gone_in="
|
|
153
|
+
gone_in="25.1",
|
|
154
154
|
issue=12330,
|
|
155
155
|
)
|
|
156
156
|
|
|
@@ -6,8 +6,13 @@ import re
|
|
|
6
6
|
from typing import Dict, Iterable, List
|
|
7
7
|
|
|
8
8
|
from pip._vendor.packaging.tags import Tag
|
|
9
|
+
from pip._vendor.packaging.utils import (
|
|
10
|
+
InvalidWheelFilename as PackagingInvalidWheelName,
|
|
11
|
+
)
|
|
12
|
+
from pip._vendor.packaging.utils import parse_wheel_filename
|
|
9
13
|
|
|
10
14
|
from pip._internal.exceptions import InvalidWheelFilename
|
|
15
|
+
from pip._internal.utils.deprecation import deprecated
|
|
11
16
|
|
|
12
17
|
|
|
13
18
|
class Wheel:
|
|
@@ -29,9 +34,29 @@ class Wheel:
|
|
|
29
34
|
raise InvalidWheelFilename(f"{filename} is not a valid wheel filename.")
|
|
30
35
|
self.filename = filename
|
|
31
36
|
self.name = wheel_info.group("name").replace("_", "-")
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
37
|
+
_version = wheel_info.group("ver")
|
|
38
|
+
if "_" in _version:
|
|
39
|
+
try:
|
|
40
|
+
parse_wheel_filename(filename)
|
|
41
|
+
except PackagingInvalidWheelName as e:
|
|
42
|
+
deprecated(
|
|
43
|
+
reason=(
|
|
44
|
+
f"Wheel filename {filename!r} is not correctly normalised. "
|
|
45
|
+
"Future versions of pip will raise the following error:\n"
|
|
46
|
+
f"{e.args[0]}\n\n"
|
|
47
|
+
),
|
|
48
|
+
replacement=(
|
|
49
|
+
"to rename the wheel to use a correctly normalised "
|
|
50
|
+
"name (this may require updating the version in "
|
|
51
|
+
"the project metadata)"
|
|
52
|
+
),
|
|
53
|
+
gone_in="25.1",
|
|
54
|
+
issue=12938,
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
_version = _version.replace("_", "-")
|
|
58
|
+
|
|
59
|
+
self.version = _version
|
|
35
60
|
self.build_tag = wheel_info.group("build")
|
|
36
61
|
self.pyversions = wheel_info.group("pyver").split(".")
|
|
37
62
|
self.abis = wheel_info.group("abi").split(".")
|
|
@@ -80,7 +80,7 @@ def _set_requirement_extras(req: Requirement, new_extras: Set[str]) -> Requireme
|
|
|
80
80
|
assert (
|
|
81
81
|
pre is not None and post is not None
|
|
82
82
|
), f"regex group selection for requirement {req} failed, this should never happen"
|
|
83
|
-
extras: str = "[
|
|
83
|
+
extras: str = "[{}]".format(",".join(sorted(new_extras)) if new_extras else "")
|
|
84
84
|
return get_requirement(f"{pre}{extras}{post}")
|
|
85
85
|
|
|
86
86
|
|
|
@@ -329,10 +329,15 @@ class RequirementsFileParser:
|
|
|
329
329
|
self, filename: str, constraint: bool
|
|
330
330
|
) -> Generator[ParsedLine, None, None]:
|
|
331
331
|
"""Parse a given file, yielding parsed lines."""
|
|
332
|
-
yield from self._parse_and_recurse(
|
|
332
|
+
yield from self._parse_and_recurse(
|
|
333
|
+
filename, constraint, [{os.path.abspath(filename): None}]
|
|
334
|
+
)
|
|
333
335
|
|
|
334
336
|
def _parse_and_recurse(
|
|
335
|
-
self,
|
|
337
|
+
self,
|
|
338
|
+
filename: str,
|
|
339
|
+
constraint: bool,
|
|
340
|
+
parsed_files_stack: List[Dict[str, Optional[str]]],
|
|
336
341
|
) -> Generator[ParsedLine, None, None]:
|
|
337
342
|
for line in self._parse_file(filename, constraint):
|
|
338
343
|
if not line.is_requirement and (
|
|
@@ -353,12 +358,30 @@ class RequirementsFileParser:
|
|
|
353
358
|
# original file and nested file are paths
|
|
354
359
|
elif not SCHEME_RE.search(req_path):
|
|
355
360
|
# do a join so relative paths work
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
361
|
+
# and then abspath so that we can identify recursive references
|
|
362
|
+
req_path = os.path.abspath(
|
|
363
|
+
os.path.join(
|
|
364
|
+
os.path.dirname(filename),
|
|
365
|
+
req_path,
|
|
366
|
+
)
|
|
359
367
|
)
|
|
360
|
-
|
|
361
|
-
|
|
368
|
+
parsed_files = parsed_files_stack[0]
|
|
369
|
+
if req_path in parsed_files:
|
|
370
|
+
initial_file = parsed_files[req_path]
|
|
371
|
+
tail = (
|
|
372
|
+
f" and again in {initial_file}"
|
|
373
|
+
if initial_file is not None
|
|
374
|
+
else ""
|
|
375
|
+
)
|
|
376
|
+
raise RequirementsFileParseError(
|
|
377
|
+
f"{req_path} recursively references itself in {filename}{tail}"
|
|
378
|
+
)
|
|
379
|
+
# Keeping a track where was each file first included in
|
|
380
|
+
new_parsed_files = parsed_files.copy()
|
|
381
|
+
new_parsed_files[req_path] = filename
|
|
382
|
+
yield from self._parse_and_recurse(
|
|
383
|
+
req_path, nested_constraint, [new_parsed_files, *parsed_files_stack]
|
|
384
|
+
)
|
|
362
385
|
else:
|
|
363
386
|
yield line
|
|
364
387
|
|
|
@@ -9,6 +9,7 @@ from pip._vendor.packaging.version import Version
|
|
|
9
9
|
from pip._internal.exceptions import (
|
|
10
10
|
HashError,
|
|
11
11
|
InstallationSubprocessError,
|
|
12
|
+
InvalidInstalledPackage,
|
|
12
13
|
MetadataInconsistent,
|
|
13
14
|
MetadataInvalid,
|
|
14
15
|
)
|
|
@@ -398,8 +399,12 @@ class AlreadyInstalledCandidate(Candidate):
|
|
|
398
399
|
def iter_dependencies(self, with_requires: bool) -> Iterable[Optional[Requirement]]:
|
|
399
400
|
if not with_requires:
|
|
400
401
|
return
|
|
401
|
-
|
|
402
|
-
|
|
402
|
+
|
|
403
|
+
try:
|
|
404
|
+
for r in self.dist.iter_dependencies():
|
|
405
|
+
yield from self._factory.make_requirements_from_spec(str(r), self._ireq)
|
|
406
|
+
except InvalidRequirement as exc:
|
|
407
|
+
raise InvalidInstalledPackage(dist=self.dist, invalid_exc=exc) from None
|
|
403
408
|
|
|
404
409
|
def get_install_requirement(self) -> Optional[InstallRequirement]:
|
|
405
410
|
return None
|
|
@@ -23,13 +23,14 @@ from typing import (
|
|
|
23
23
|
from pip._vendor.packaging.requirements import InvalidRequirement
|
|
24
24
|
from pip._vendor.packaging.specifiers import SpecifierSet
|
|
25
25
|
from pip._vendor.packaging.utils import NormalizedName, canonicalize_name
|
|
26
|
-
from pip._vendor.packaging.version import Version
|
|
26
|
+
from pip._vendor.packaging.version import InvalidVersion, Version
|
|
27
27
|
from pip._vendor.resolvelib import ResolutionImpossible
|
|
28
28
|
|
|
29
29
|
from pip._internal.cache import CacheEntry, WheelCache
|
|
30
30
|
from pip._internal.exceptions import (
|
|
31
31
|
DistributionNotFound,
|
|
32
32
|
InstallationError,
|
|
33
|
+
InvalidInstalledPackage,
|
|
33
34
|
MetadataInconsistent,
|
|
34
35
|
MetadataInvalid,
|
|
35
36
|
UnsupportedPythonVersion,
|
|
@@ -283,10 +284,15 @@ class Factory:
|
|
|
283
284
|
installed_dist = self._installed_dists[name]
|
|
284
285
|
except KeyError:
|
|
285
286
|
return None
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
287
|
+
|
|
288
|
+
try:
|
|
289
|
+
# Don't use the installed distribution if its version
|
|
290
|
+
# does not fit the current dependency graph.
|
|
291
|
+
if not specifier.contains(installed_dist.version, prereleases=True):
|
|
292
|
+
return None
|
|
293
|
+
except InvalidVersion as e:
|
|
294
|
+
raise InvalidInstalledPackage(dist=installed_dist, invalid_exc=e)
|
|
295
|
+
|
|
290
296
|
candidate = self._make_candidate_from_dist(
|
|
291
297
|
dist=installed_dist,
|
|
292
298
|
extras=extras,
|
|
@@ -12,10 +12,11 @@ from pip._vendor.packaging.tags import (
|
|
|
12
12
|
generic_tags,
|
|
13
13
|
interpreter_name,
|
|
14
14
|
interpreter_version,
|
|
15
|
+
ios_platforms,
|
|
15
16
|
mac_platforms,
|
|
16
17
|
)
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
_apple_arch_pat = re.compile(r"(.+)_(\d+)_(\d+)_(.+)")
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
def version_info_to_nodot(version_info: Tuple[int, ...]) -> str:
|
|
@@ -24,7 +25,7 @@ def version_info_to_nodot(version_info: Tuple[int, ...]) -> str:
|
|
|
24
25
|
|
|
25
26
|
|
|
26
27
|
def _mac_platforms(arch: str) -> List[str]:
|
|
27
|
-
match =
|
|
28
|
+
match = _apple_arch_pat.match(arch)
|
|
28
29
|
if match:
|
|
29
30
|
name, major, minor, actual_arch = match.groups()
|
|
30
31
|
mac_version = (int(major), int(minor))
|
|
@@ -43,6 +44,26 @@ def _mac_platforms(arch: str) -> List[str]:
|
|
|
43
44
|
return arches
|
|
44
45
|
|
|
45
46
|
|
|
47
|
+
def _ios_platforms(arch: str) -> List[str]:
|
|
48
|
+
match = _apple_arch_pat.match(arch)
|
|
49
|
+
if match:
|
|
50
|
+
name, major, minor, actual_multiarch = match.groups()
|
|
51
|
+
ios_version = (int(major), int(minor))
|
|
52
|
+
arches = [
|
|
53
|
+
# Since we have always only checked that the platform starts
|
|
54
|
+
# with "ios", for backwards-compatibility we extract the
|
|
55
|
+
# actual prefix provided by the user in case they provided
|
|
56
|
+
# something like "ioscustom_". It may be good to remove
|
|
57
|
+
# this as undocumented or deprecate it in the future.
|
|
58
|
+
"{}_{}".format(name, arch[len("ios_") :])
|
|
59
|
+
for arch in ios_platforms(ios_version, actual_multiarch)
|
|
60
|
+
]
|
|
61
|
+
else:
|
|
62
|
+
# arch pattern didn't match (?!)
|
|
63
|
+
arches = [arch]
|
|
64
|
+
return arches
|
|
65
|
+
|
|
66
|
+
|
|
46
67
|
def _custom_manylinux_platforms(arch: str) -> List[str]:
|
|
47
68
|
arches = [arch]
|
|
48
69
|
arch_prefix, arch_sep, arch_suffix = arch.partition("_")
|
|
@@ -68,6 +89,8 @@ def _get_custom_platforms(arch: str) -> List[str]:
|
|
|
68
89
|
arch_prefix, arch_sep, arch_suffix = arch.partition("_")
|
|
69
90
|
if arch.startswith("macosx"):
|
|
70
91
|
arches = _mac_platforms(arch)
|
|
92
|
+
elif arch.startswith("ios"):
|
|
93
|
+
arches = _ios_platforms(arch)
|
|
71
94
|
elif arch_prefix in ["manylinux2014", "manylinux2010"]:
|
|
72
95
|
arches = _custom_manylinux_platforms(arch)
|
|
73
96
|
else:
|