pip 25.2__tar.gz → 25.3__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-25.2 → pip-25.3}/AUTHORS.txt +9 -0
- {pip-25.2 → pip-25.3}/NEWS.rst +64 -0
- {pip-25.2 → pip-25.3}/PKG-INFO +9 -10
- pip-25.3/build-project/build-requirements.in +2 -0
- pip-25.3/build-project/build-requirements.txt +22 -0
- {pip-25.2 → pip-25.3}/docs/html/cli/pip.rst +1 -1
- {pip-25.2 → pip-25.3}/docs/html/cli/pip_freeze.rst +9 -0
- {pip-25.2 → pip-25.3}/docs/html/cli/pip_install.rst +18 -19
- {pip-25.2 → pip-25.3}/docs/html/cli/pip_lock.rst +1 -1
- {pip-25.2 → pip-25.3}/docs/html/cli/pip_wheel.rst +1 -1
- {pip-25.2 → pip-25.3}/docs/html/development/architecture/anatomy.rst +0 -2
- pip-25.2/docs/html/reference/build-system/pyproject-toml.md → pip-25.3/docs/html/reference/build-system.md +39 -24
- {pip-25.2 → pip-25.3}/docs/html/reference/index.md +1 -1
- {pip-25.2 → pip-25.3}/docs/html/reference/requirements-file-format.md +0 -28
- {pip-25.2 → pip-25.3}/docs/html/topics/dependency-resolution.md +10 -2
- {pip-25.2 → pip-25.3}/docs/html/topics/local-project-installs.md +0 -11
- {pip-25.2 → pip-25.3}/docs/html/topics/repeatable-installs.md +0 -7
- {pip-25.2 → pip-25.3}/docs/html/topics/secure-installs.md +0 -4
- {pip-25.2 → pip-25.3}/docs/html/topics/vcs-support.md +32 -8
- {pip-25.2 → pip-25.3}/docs/html/user_guide.rst +44 -8
- {pip-25.2 → pip-25.3}/pyproject.toml +51 -25
- {pip-25.2 → pip-25.3}/src/pip/__init__.py +1 -1
- {pip-25.2 → pip-25.3}/src/pip/_internal/build_env.py +71 -3
- {pip-25.2 → pip-25.3}/src/pip/_internal/cache.py +1 -1
- {pip-25.2 → pip-25.3}/src/pip/_internal/cli/cmdoptions.py +43 -71
- {pip-25.2 → pip-25.3}/src/pip/_internal/cli/parser.py +3 -3
- {pip-25.2 → pip-25.3}/src/pip/_internal/cli/req_command.py +46 -26
- {pip-25.2 → pip-25.3}/src/pip/_internal/commands/download.py +4 -7
- {pip-25.2 → pip-25.3}/src/pip/_internal/commands/install.py +19 -14
- {pip-25.2 → pip-25.3}/src/pip/_internal/commands/lock.py +3 -6
- {pip-25.2 → pip-25.3}/src/pip/_internal/commands/wheel.py +5 -10
- {pip-25.2 → pip-25.3}/src/pip/_internal/configuration.py +1 -2
- {pip-25.2 → pip-25.3}/src/pip/_internal/distributions/sdist.py +13 -14
- {pip-25.2 → pip-25.3}/src/pip/_internal/exceptions.py +20 -3
- {pip-25.2 → pip-25.3}/src/pip/_internal/index/package_finder.py +3 -3
- {pip-25.2 → pip-25.3}/src/pip/_internal/metadata/__init__.py +7 -2
- {pip-25.2 → pip-25.3}/src/pip/_internal/metadata/importlib/_dists.py +8 -2
- {pip-25.2 → pip-25.3}/src/pip/_internal/models/link.py +1 -1
- pip-25.3/src/pip/_internal/models/wheel.py +80 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/network/cache.py +6 -11
- {pip-25.2 → pip-25.3}/src/pip/_internal/network/lazy_wheel.py +5 -3
- {pip-25.2 → pip-25.3}/src/pip/_internal/operations/build/wheel.py +4 -4
- {pip-25.2 → pip-25.3}/src/pip/_internal/operations/build/wheel_editable.py +4 -4
- {pip-25.2 → pip-25.3}/src/pip/_internal/operations/prepare.py +7 -1
- {pip-25.2 → pip-25.3}/src/pip/_internal/pyproject.py +2 -61
- {pip-25.2 → pip-25.3}/src/pip/_internal/req/__init__.py +1 -3
- {pip-25.2 → pip-25.3}/src/pip/_internal/req/constructors.py +42 -38
- {pip-25.2 → pip-25.3}/src/pip/_internal/req/req_file.py +0 -1
- {pip-25.2 → pip-25.3}/src/pip/_internal/req/req_install.py +32 -141
- {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/resolvelib/candidates.py +20 -11
- {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/resolvelib/factory.py +31 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/resolvelib/provider.py +9 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/resolvelib/reporter.py +21 -8
- {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/resolvelib/resolver.py +2 -6
- {pip-25.2 → pip-25.3}/src/pip/_internal/self_outdated_check.py +11 -3
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/filesystem.py +12 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/unpacking.py +25 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/wheel_builder.py +23 -96
- {pip-25.2 → pip-25.3}/src/pip/_vendor/certifi/__init__.py +1 -1
- {pip-25.2 → pip-25.3}/src/pip/_vendor/certifi/cacert.pem +62 -40
- {pip-25.2 → pip-25.3}/src/pip/_vendor/msgpack/__init__.py +2 -2
- {pip-25.2 → pip-25.3}/src/pip/_vendor/platformdirs/api.py +1 -1
- {pip-25.2 → pip-25.3}/src/pip/_vendor/platformdirs/macos.py +10 -8
- {pip-25.2 → pip-25.3}/src/pip/_vendor/platformdirs/version.py +16 -3
- {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/__version__.py +2 -2
- {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/adapters.py +17 -40
- {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/sessions.py +1 -1
- {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/__init__.py +1 -1
- {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/resolvers/abstract.py +3 -3
- {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/resolvers/resolution.py +5 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/style.py +7 -11
- {pip-25.2 → pip-25.3}/src/pip/_vendor/tomli/__init__.py +1 -1
- {pip-25.2 → pip-25.3}/src/pip/_vendor/tomli/_parser.py +28 -21
- {pip-25.2 → pip-25.3}/src/pip/_vendor/tomli/_re.py +8 -5
- {pip-25.2 → pip-25.3}/src/pip/_vendor/truststore/__init__.py +1 -1
- {pip-25.2 → pip-25.3}/src/pip/_vendor/truststore/_api.py +14 -6
- {pip-25.2 → pip-25.3}/src/pip/_vendor/truststore/_openssl.py +3 -1
- {pip-25.2 → pip-25.3}/src/pip/_vendor/vendor.txt +8 -8
- pip-25.2/MANIFEST.in +0 -34
- pip-25.2/build-project/build-requirements.in +0 -2
- pip-25.2/build-project/build-requirements.txt +0 -24
- pip-25.2/docs/html/reference/build-system/index.md +0 -127
- pip-25.2/docs/html/reference/build-system/setup-py.md +0 -124
- pip-25.2/docs/requirements.txt +0 -14
- pip-25.2/setup.cfg +0 -4
- pip-25.2/src/pip/_internal/models/wheel.py +0 -141
- pip-25.2/src/pip/_internal/operations/build/metadata_legacy.py +0 -73
- pip-25.2/src/pip/_internal/operations/build/wheel_legacy.py +0 -119
- pip-25.2/src/pip/_internal/operations/install/editable_legacy.py +0 -48
- pip-25.2/src/pip/_internal/utils/setuptools_build.py +0 -149
- pip-25.2/src/pip/_vendor/tomli/LICENSE-HEADER +0 -3
- pip-25.2/src/pip.egg-info/PKG-INFO +0 -112
- pip-25.2/src/pip.egg-info/SOURCES.txt +0 -578
- pip-25.2/src/pip.egg-info/dependency_links.txt +0 -1
- pip-25.2/src/pip.egg-info/entry_points.txt +0 -3
- pip-25.2/src/pip.egg-info/top_level.txt +0 -1
- {pip-25.2 → pip-25.3}/LICENSE.txt +0 -0
- {pip-25.2 → pip-25.3}/README.rst +0 -0
- {pip-25.2 → pip-25.3}/SECURITY.md +0 -0
- {pip-25.2 → pip-25.3}/build-project/.python-version +0 -0
- {pip-25.2 → pip-25.3}/build-project/build-project.py +0 -0
- {pip-25.2 → pip-25.3}/docs/html/cli/index.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/cli/pip_cache.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/cli/pip_check.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/cli/pip_config.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/cli/pip_debug.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/cli/pip_download.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/cli/pip_hash.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/cli/pip_index.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/cli/pip_inspect.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/cli/pip_list.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/cli/pip_search.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/cli/pip_show.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/cli/pip_uninstall.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/conf.py +0 -0
- {pip-25.2 → pip-25.3}/docs/html/copyright.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/development/architecture/command-line-interface.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/development/architecture/configuration-files.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/development/architecture/index.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/development/architecture/overview.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/development/architecture/package-finding.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/development/architecture/upgrade-options.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/development/ci.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/development/contributing.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/development/conventions.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/development/getting-started.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/development/index.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/development/issue-triage.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/development/release-process.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/development/vendoring-policy.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/getting-started.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/index.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/installation.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/installing.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/news.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/quickstart.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/reference/inspect-report.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/reference/installation-report.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/reference/pip.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/reference/pip_cache.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/reference/pip_check.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/reference/pip_config.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/reference/pip_debug.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/reference/pip_download.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/reference/pip_freeze.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/reference/pip_hash.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/reference/pip_index.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/reference/pip_install.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/reference/pip_list.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/reference/pip_search.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/reference/pip_show.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/reference/pip_uninstall.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/reference/pip_wheel.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/html/reference/requirement-specifiers.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/topics/authentication.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/topics/caching.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/topics/configuration.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/topics/deps.dot +0 -0
- {pip-25.2 → pip-25.3}/docs/html/topics/deps.png +0 -0
- {pip-25.2 → pip-25.3}/docs/html/topics/https-certificates.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/topics/index.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/topics/more-dependency-resolution.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/topics/python-option.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/topics/workflow.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/ux-research-design/contribute.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/ux-research-design/guidance.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/ux-research-design/index.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/about-our-users.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/ci-cd.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/improving-pips-documentation.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/index.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/mental-models.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/override-conflicting-dependencies.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/personas.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/pip-force-reinstall.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/pip-search.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/pip-upgrade-conflict.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/prioritizing-features.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/ux-research-design/research-results/users-and-security.md +0 -0
- {pip-25.2 → pip-25.3}/docs/html/ux-research-design/resolution-impossible-example.md +0 -0
- {pip-25.2 → pip-25.3}/docs/man/commands/cache.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/man/commands/check.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/man/commands/config.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/man/commands/debug.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/man/commands/download.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/man/commands/freeze.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/man/commands/hash.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/man/commands/help.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/man/commands/index.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/man/commands/install.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/man/commands/list.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/man/commands/lock.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/man/commands/search.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/man/commands/show.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/man/commands/uninstall.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/man/commands/wheel.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/man/index.rst +0 -0
- {pip-25.2 → pip-25.3}/docs/pip_sphinxext.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/__main__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/__pip-runner__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/cli/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/cli/autocompletion.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/cli/base_command.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/cli/command_context.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/cli/index_command.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/cli/main.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/cli/main_parser.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/cli/progress_bars.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/cli/spinners.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/cli/status_codes.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/commands/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/commands/cache.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/commands/check.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/commands/completion.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/commands/configuration.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/commands/debug.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/commands/freeze.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/commands/hash.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/commands/help.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/commands/index.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/commands/inspect.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/commands/list.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/commands/search.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/commands/show.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/commands/uninstall.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/distributions/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/distributions/base.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/distributions/installed.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/distributions/wheel.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/index/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/index/collector.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/index/sources.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/locations/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/locations/_distutils.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/locations/_sysconfig.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/locations/base.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/main.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/metadata/_json.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/metadata/base.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/metadata/importlib/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/metadata/importlib/_compat.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/metadata/importlib/_envs.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/metadata/pkg_resources.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/models/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/models/candidate.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/models/direct_url.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/models/format_control.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/models/index.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/models/installation_report.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/models/pylock.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/models/scheme.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/models/search_scope.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/models/selection_prefs.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/models/target_python.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/network/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/network/auth.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/network/download.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/network/session.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/network/utils.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/network/xmlrpc.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/operations/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/operations/build/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/operations/build/build_tracker.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/operations/build/metadata.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/operations/build/metadata_editable.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/operations/check.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/operations/freeze.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/operations/install/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/operations/install/wheel.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/req/req_dependency_group.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/req/req_set.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/req/req_uninstall.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/base.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/legacy/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/legacy/resolver.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/resolvelib/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/resolvelib/base.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/resolvelib/found_candidates.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/resolution/resolvelib/requirements.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/_jaraco_text.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/_log.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/appdirs.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/compat.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/compatibility_tags.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/datetime.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/deprecation.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/direct_url_helpers.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/egg_link.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/entrypoints.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/filetypes.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/glibc.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/hashes.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/logging.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/misc.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/packaging.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/retry.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/subprocess.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/temp_dir.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/urls.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/virtualenv.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/utils/wheel.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/vcs/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/vcs/bazaar.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/vcs/git.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/vcs/mercurial.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/vcs/subversion.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_internal/vcs/versioncontrol.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/README.rst +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/LICENSE.txt +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/_cmd.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/adapter.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/cache.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/caches/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/caches/file_cache.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/controller.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/filewrapper.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/heuristics.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/py.typed +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/serialize.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/cachecontrol/wrapper.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/certifi/LICENSE +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/certifi/__main__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/certifi/core.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/certifi/py.typed +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/dependency_groups/LICENSE.txt +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/dependency_groups/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/dependency_groups/__main__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/dependency_groups/_implementation.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/dependency_groups/_lint_dependency_groups.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/dependency_groups/_pip_wrapper.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/dependency_groups/_toml_compat.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/dependency_groups/py.typed +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/LICENSE.txt +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/compat.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/resources.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/scripts.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/t32.exe +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/t64-arm.exe +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/t64.exe +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/util.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/w32.exe +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/w64-arm.exe +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/distlib/w64.exe +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/distro/LICENSE +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/distro/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/distro/__main__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/distro/distro.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/distro/py.typed +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/idna/LICENSE.md +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/idna/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/idna/codec.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/idna/compat.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/idna/core.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/idna/idnadata.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/idna/intranges.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/idna/package_data.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/idna/py.typed +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/idna/uts46data.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/msgpack/COPYING +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/msgpack/exceptions.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/msgpack/ext.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/msgpack/fallback.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/LICENSE +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/LICENSE.APACHE +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/LICENSE.BSD +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/_elffile.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/_manylinux.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/_musllinux.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/_parser.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/_structures.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/_tokenizer.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/licenses/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/licenses/_spdx.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/markers.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/metadata.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/py.typed +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/requirements.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/specifiers.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/tags.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/utils.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/packaging/version.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pkg_resources/LICENSE +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pkg_resources/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/platformdirs/LICENSE +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/platformdirs/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/platformdirs/__main__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/platformdirs/android.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/platformdirs/py.typed +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/platformdirs/unix.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/platformdirs/windows.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/LICENSE +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/__main__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/console.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/filter.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/filters/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/formatter.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/formatters/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/formatters/_mapping.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/lexer.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/lexers/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/lexers/_mapping.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/lexers/python.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/modeline.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/plugin.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/regexopt.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/scanner.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/sphinxext.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/style.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/styles/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/styles/_mapping.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/token.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/unistring.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pygments/util.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pyproject_hooks/LICENSE +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pyproject_hooks/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pyproject_hooks/_impl.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pyproject_hooks/_in_process/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/pyproject_hooks/py.typed +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/LICENSE +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/_internal_utils.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/api.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/auth.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/certs.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/compat.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/cookies.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/exceptions.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/help.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/hooks.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/models.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/packages.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/status_codes.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/structures.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/requests/utils.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/LICENSE +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/providers.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/py.typed +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/reporters.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/resolvers/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/resolvers/criterion.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/resolvers/exceptions.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/resolvelib/structs.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/LICENSE +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/__main__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_cell_widths.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_emoji_codes.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_emoji_replace.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_export_format.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_extension.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_fileno.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_inspect.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_log_render.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_loop.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_null_file.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_palettes.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_pick.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_ratio.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_spinners.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_stack.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_timer.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_win32_console.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_windows.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_windows_renderer.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/_wrap.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/abc.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/align.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/ansi.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/bar.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/box.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/cells.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/color.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/color_triplet.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/columns.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/console.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/constrain.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/containers.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/control.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/default_styles.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/diagnose.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/emoji.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/errors.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/file_proxy.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/filesize.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/highlighter.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/json.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/jupyter.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/layout.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/live.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/live_render.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/logging.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/markup.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/measure.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/padding.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/pager.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/palette.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/panel.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/pretty.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/progress.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/progress_bar.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/prompt.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/protocol.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/py.typed +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/region.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/repr.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/rule.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/scope.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/screen.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/segment.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/spinner.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/status.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/styled.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/syntax.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/table.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/terminal_theme.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/text.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/theme.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/themes.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/traceback.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/rich/tree.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/tomli/LICENSE +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/tomli/_types.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/tomli/py.typed +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/tomli_w/LICENSE +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/tomli_w/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/tomli_w/_writer.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/tomli_w/py.typed +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/truststore/LICENSE +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/truststore/_macos.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/truststore/_ssl_constants.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/truststore/_windows.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/truststore/py.typed +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/LICENSE.txt +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/_collections.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/_version.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/connection.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/connectionpool.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/contrib/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/contrib/appengine.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/contrib/securetransport.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/contrib/socks.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/exceptions.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/fields.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/filepost.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/packages/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/packages/backports/makefile.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/packages/six.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/poolmanager.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/request.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/response.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/__init__.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/connection.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/proxy.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/queue.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/request.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/response.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/retry.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/ssl_.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/ssltransport.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/timeout.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/url.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/_vendor/urllib3/util/wait.py +0 -0
- {pip-25.2 → pip-25.3}/src/pip/py.typed +0 -0
|
@@ -24,6 +24,7 @@ albertg
|
|
|
24
24
|
Alberto Sottile
|
|
25
25
|
Aleks Bunin
|
|
26
26
|
Ales Erjavec
|
|
27
|
+
Alessandro Molina
|
|
27
28
|
Alethea Flowers
|
|
28
29
|
Alex Gaynor
|
|
29
30
|
Alex Grönholm
|
|
@@ -37,6 +38,7 @@ Alexandre Conrad
|
|
|
37
38
|
Alexey Popravka
|
|
38
39
|
Aleš Erjavec
|
|
39
40
|
Alli
|
|
41
|
+
Aman
|
|
40
42
|
Ami Fischman
|
|
41
43
|
Ananya Maiti
|
|
42
44
|
Anatoly Techtonik
|
|
@@ -56,6 +58,7 @@ Aniruddha Basak
|
|
|
56
58
|
Anish Tambe
|
|
57
59
|
Anrs Hu
|
|
58
60
|
Anthony Sottile
|
|
61
|
+
Antoine Lambert
|
|
59
62
|
Antoine Musso
|
|
60
63
|
Anton Ovchinnikov
|
|
61
64
|
Anton Patrushev
|
|
@@ -236,6 +239,7 @@ Dimitri Merejkowsky
|
|
|
236
239
|
Dimitri Papadopoulos
|
|
237
240
|
Dimitri Papadopoulos Orfanos
|
|
238
241
|
Dirk Stolle
|
|
242
|
+
dkjsone
|
|
239
243
|
Dmitry Gladkov
|
|
240
244
|
Dmitry Volodin
|
|
241
245
|
Domen Kožar
|
|
@@ -347,6 +351,7 @@ Igor Sobreira
|
|
|
347
351
|
Ikko Ashimine
|
|
348
352
|
Ilan Schnell
|
|
349
353
|
Illia Volochii
|
|
354
|
+
Ilya Abdolmanafi
|
|
350
355
|
Ilya Baryshev
|
|
351
356
|
Inada Naoki
|
|
352
357
|
Ionel Cristian Mărieș
|
|
@@ -482,6 +487,7 @@ luojiebin
|
|
|
482
487
|
luz.paz
|
|
483
488
|
László Kiss Kollár
|
|
484
489
|
M00nL1ght
|
|
490
|
+
MajorTanya
|
|
485
491
|
Malcolm Smith
|
|
486
492
|
Marc Abramowitz
|
|
487
493
|
Marc Tamlyn
|
|
@@ -498,6 +504,7 @@ Martin Pavlasek
|
|
|
498
504
|
Masaki
|
|
499
505
|
Masklinn
|
|
500
506
|
Matej Stuchlik
|
|
507
|
+
Mateusz Sokół
|
|
501
508
|
Mathew Jennings
|
|
502
509
|
Mathieu Bridon
|
|
503
510
|
Mathieu Kniewallner
|
|
@@ -525,6 +532,7 @@ mayeut
|
|
|
525
532
|
mbaluna
|
|
526
533
|
Md Sujauddin Sekh
|
|
527
534
|
mdebi
|
|
535
|
+
Meet Vasita
|
|
528
536
|
memoselyk
|
|
529
537
|
meowmeowcat
|
|
530
538
|
Michael
|
|
@@ -714,6 +722,7 @@ Shivansh-007
|
|
|
714
722
|
Shixian Sheng
|
|
715
723
|
Shlomi Fish
|
|
716
724
|
Shovan Maity
|
|
725
|
+
Shubham Nagure
|
|
717
726
|
Simeon Visser
|
|
718
727
|
Simon Cross
|
|
719
728
|
Simon Pichugin
|
{pip-25.2 → pip-25.3}/NEWS.rst
RENAMED
|
@@ -9,6 +9,70 @@
|
|
|
9
9
|
|
|
10
10
|
.. towncrier release notes start
|
|
11
11
|
|
|
12
|
+
25.3 (2025-10-24)
|
|
13
|
+
=================
|
|
14
|
+
|
|
15
|
+
Deprecations and Removals
|
|
16
|
+
-------------------------
|
|
17
|
+
|
|
18
|
+
- Remove support for the legacy ``setup.py develop`` editable method in setuptools
|
|
19
|
+
editable installs; setuptools >= 64 is now required. (`#11457 <https://github.com/pypa/pip/issues/11457>`_)
|
|
20
|
+
- Remove the deprecated ``--global-option`` and ``--build-option``.
|
|
21
|
+
``--config-setting`` is now the only way to pass options to the build backend. (`#11859 <https://github.com/pypa/pip/issues/11859>`_)
|
|
22
|
+
- Deprecate the ``PIP_CONSTRAINT`` environment variable for specifying build
|
|
23
|
+
constraints.
|
|
24
|
+
|
|
25
|
+
Use the ``--build-constraint`` option or the ``PIP_BUILD_CONSTRAINT`` environment variable
|
|
26
|
+
instead. When build constraints are used, ``PIP_CONSTRAINT`` no longer affects isolated build
|
|
27
|
+
environments. To enable this behavior without specifying any build constraints, use
|
|
28
|
+
``--use-feature=build-constraint``. (`#13534 <https://github.com/pypa/pip/issues/13534>`_)
|
|
29
|
+
- Remove support for non-standard legacy wheel filenames. (`#13581 <https://github.com/pypa/pip/issues/13581>`_)
|
|
30
|
+
- Remove support for the deprecated ``setup.py bdist_wheel`` mechanism. Consequently,
|
|
31
|
+
``--use-pep517`` is now always on, and ``--no-use-pep517`` has been removed. (`#6334 <https://github.com/pypa/pip/issues/6334>`_)
|
|
32
|
+
|
|
33
|
+
Features
|
|
34
|
+
--------
|
|
35
|
+
|
|
36
|
+
- When :pep:`658` metadata is available, full distribution files are no longer downloaded when using ``pip lock`` or ``pip install --dry-run``. (`#12603 <https://github.com/pypa/pip/issues/12603>`_)
|
|
37
|
+
- Add support for installing an editable requirement written as a Direct URL (``PackageName @ URL``). (`#13495 <https://github.com/pypa/pip/issues/13495>`_)
|
|
38
|
+
- Add support for build constraints via the ``--build-constraint`` option. This
|
|
39
|
+
allows constraining the versions of packages used during the build process
|
|
40
|
+
(e.g., setuptools) without affecting the final installation. (`#13534 <https://github.com/pypa/pip/issues/13534>`_)
|
|
41
|
+
- On ``ResolutionImpossible`` errors, include a note about causes with no candidates. (`#13588 <https://github.com/pypa/pip/issues/13588>`_)
|
|
42
|
+
- Building pip itself from source now uses flit-core instead of setuptools.
|
|
43
|
+
This does not affect how pip installs or builds packages you use. (`#13743 <https://github.com/pypa/pip/issues/13743>`_)
|
|
44
|
+
|
|
45
|
+
Bug Fixes
|
|
46
|
+
---------
|
|
47
|
+
|
|
48
|
+
- Handle malformed ``Version`` metadata entries and
|
|
49
|
+
show a sensible error message instead of crashing. (`#13443 <https://github.com/pypa/pip/issues/13443>`_)
|
|
50
|
+
- Permit spaces between a filepath and extras in an install requirement. (`#13523 <https://github.com/pypa/pip/issues/13523>`_)
|
|
51
|
+
- Ensure the self-check files in the cache have the same permissions as the rest of the cache. (`#13528 <https://github.com/pypa/pip/issues/13528>`_)
|
|
52
|
+
- Avoid concurrency issues and improve performance when caching locally built wheels,
|
|
53
|
+
especially when the temporary build directory is on a different filesystem than the cache.
|
|
54
|
+
The wheel directory passed to the build backend is now a temporary subdirectory inside
|
|
55
|
+
the cache directory. (`#13540 <https://github.com/pypa/pip/issues/13540>`_)
|
|
56
|
+
- Include relevant user-supplied constraints in logs when reporting dependency conflicts. (`#13545 <https://github.com/pypa/pip/issues/13545>`_)
|
|
57
|
+
- Fix a regression in configuration parsing that was turning a single value
|
|
58
|
+
into a list and thus leading to a validation error. (`#13548 <https://github.com/pypa/pip/issues/13548>`_)
|
|
59
|
+
- For Python versions that do not support :pep:`706`, pip will now raise an installation error for a
|
|
60
|
+
source distribution when it includes a symlink that points outside the source distribution archive. (`#13550 <https://github.com/pypa/pip/issues/13550>`_)
|
|
61
|
+
- Prevent ``--user`` installs if ``site.ENABLE_USER_SITE`` is set to ``False``. (`#8794 <https://github.com/pypa/pip/issues/8794>`_)
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
Vendored Libraries
|
|
65
|
+
------------------
|
|
66
|
+
|
|
67
|
+
- Upgrade certifi to 2025.10.5
|
|
68
|
+
- Upgrade msgpack to 1.1.2
|
|
69
|
+
- Upgrade platformdirs to 4.5.0
|
|
70
|
+
- Upgrade requests to 2.32.5
|
|
71
|
+
- Upgrade resolvelib to 1.2.1
|
|
72
|
+
- Upgrade rich to 14.2.0
|
|
73
|
+
- Upgrade tomli to 2.3.0
|
|
74
|
+
- Upgrade truststore to 0.10.4
|
|
75
|
+
|
|
12
76
|
25.2 (2025-07-30)
|
|
13
77
|
=================
|
|
14
78
|
|
{pip-25.2 → pip-25.3}/PKG-INFO
RENAMED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pip
|
|
3
|
-
Version: 25.
|
|
3
|
+
Version: 25.3
|
|
4
4
|
Summary: The PyPA recommended tool for installing Python packages.
|
|
5
5
|
Author-email: The pip developers <distutils-sig@python.org>
|
|
6
|
+
Requires-Python: >=3.9
|
|
7
|
+
Description-Content-Type: text/x-rst
|
|
6
8
|
License-Expression: MIT
|
|
7
|
-
Project-URL: Homepage, https://pip.pypa.io/
|
|
8
|
-
Project-URL: Documentation, https://pip.pypa.io
|
|
9
|
-
Project-URL: Source, https://github.com/pypa/pip
|
|
10
|
-
Project-URL: Changelog, https://pip.pypa.io/en/stable/news/
|
|
11
9
|
Classifier: Development Status :: 5 - Production/Stable
|
|
12
10
|
Classifier: Intended Audience :: Developers
|
|
13
11
|
Classifier: Topic :: Software Development :: Build Tools
|
|
@@ -22,17 +20,15 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
22
20
|
Classifier: Programming Language :: Python :: 3.14
|
|
23
21
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
24
22
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
25
|
-
Requires-Python: >=3.9
|
|
26
|
-
Description-Content-Type: text/x-rst
|
|
27
23
|
License-File: AUTHORS.txt
|
|
28
24
|
License-File: LICENSE.txt
|
|
29
|
-
License-File: src/pip/_vendor/msgpack/COPYING
|
|
30
25
|
License-File: src/pip/_vendor/cachecontrol/LICENSE.txt
|
|
31
26
|
License-File: src/pip/_vendor/certifi/LICENSE
|
|
32
27
|
License-File: src/pip/_vendor/dependency_groups/LICENSE.txt
|
|
33
28
|
License-File: src/pip/_vendor/distlib/LICENSE.txt
|
|
34
29
|
License-File: src/pip/_vendor/distro/LICENSE
|
|
35
30
|
License-File: src/pip/_vendor/idna/LICENSE.md
|
|
31
|
+
License-File: src/pip/_vendor/msgpack/COPYING
|
|
36
32
|
License-File: src/pip/_vendor/packaging/LICENSE
|
|
37
33
|
License-File: src/pip/_vendor/packaging/LICENSE.APACHE
|
|
38
34
|
License-File: src/pip/_vendor/packaging/LICENSE.BSD
|
|
@@ -44,11 +40,13 @@ License-File: src/pip/_vendor/requests/LICENSE
|
|
|
44
40
|
License-File: src/pip/_vendor/resolvelib/LICENSE
|
|
45
41
|
License-File: src/pip/_vendor/rich/LICENSE
|
|
46
42
|
License-File: src/pip/_vendor/tomli/LICENSE
|
|
47
|
-
License-File: src/pip/_vendor/tomli/LICENSE-HEADER
|
|
48
43
|
License-File: src/pip/_vendor/tomli_w/LICENSE
|
|
49
44
|
License-File: src/pip/_vendor/truststore/LICENSE
|
|
50
45
|
License-File: src/pip/_vendor/urllib3/LICENSE.txt
|
|
51
|
-
|
|
46
|
+
Project-URL: Changelog, https://pip.pypa.io/en/stable/news/
|
|
47
|
+
Project-URL: Documentation, https://pip.pypa.io
|
|
48
|
+
Project-URL: Homepage, https://pip.pypa.io/
|
|
49
|
+
Project-URL: Source, https://github.com/pypa/pip
|
|
52
50
|
|
|
53
51
|
pip - The Python Package Installer
|
|
54
52
|
==================================
|
|
@@ -110,3 +108,4 @@ rooms, and mailing lists is expected to follow the `PSF Code of Conduct`_.
|
|
|
110
108
|
.. _User IRC: https://kiwiirc.com/nextclient/#ircs://irc.libera.chat:+6697/pypa
|
|
111
109
|
.. _Development IRC: https://kiwiirc.com/nextclient/#ircs://irc.libera.chat:+6697/pypa-dev
|
|
112
110
|
.. _PSF Code of Conduct: https://github.com/pypa/.github/blob/main/CODE_OF_CONDUCT.md
|
|
111
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file is autogenerated by pip-compile with Python 3.12
|
|
3
|
+
# by the following command:
|
|
4
|
+
#
|
|
5
|
+
# pip-compile --allow-unsafe --generate-hashes build-requirements.in
|
|
6
|
+
#
|
|
7
|
+
build==1.3.0 \
|
|
8
|
+
--hash=sha256:698edd0ea270bde950f53aed21f3a0135672206f3911e0176261a31e0e07b397 \
|
|
9
|
+
--hash=sha256:7145f0b5061ba90a1500d60bd1b13ca0a8a4cebdd0cc16ed8adf1c0e739f43b4
|
|
10
|
+
# via -r build-requirements.in
|
|
11
|
+
flit-core==3.12.0 \
|
|
12
|
+
--hash=sha256:18f63100d6f94385c6ed57a72073443e1a71a4acb4339491615d0f16d6ff01b2 \
|
|
13
|
+
--hash=sha256:e7a0304069ea895172e3c7bb703292e992c5d1555dd1233ab7b5621b5b69e62c
|
|
14
|
+
# via -r build-requirements.in
|
|
15
|
+
packaging==25.0 \
|
|
16
|
+
--hash=sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484 \
|
|
17
|
+
--hash=sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f
|
|
18
|
+
# via build
|
|
19
|
+
pyproject-hooks==1.2.0 \
|
|
20
|
+
--hash=sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8 \
|
|
21
|
+
--hash=sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913
|
|
22
|
+
# via build
|
|
@@ -23,6 +23,15 @@ Description
|
|
|
23
23
|
|
|
24
24
|
.. pip-command-description:: freeze
|
|
25
25
|
|
|
26
|
+
.. note::
|
|
27
|
+
By default, ``pip freeze`` omits bootstrap packaging tools so the output
|
|
28
|
+
focuses on your project’s dependencies. On Python **3.11 and earlier**
|
|
29
|
+
this excludes ``pip``, ``setuptools``, ``wheel`` and ``distribute``; on
|
|
30
|
+
Python **3.12 and later** only ``pip`` is excluded. Use ``--all`` to
|
|
31
|
+
include those packages when you need a complete environment snapshot.
|
|
32
|
+
``pip freeze`` reports what is installed; it does **not** compute a
|
|
33
|
+
lockfile or a solver result.
|
|
34
|
+
|
|
26
35
|
|
|
27
36
|
Options
|
|
28
37
|
=======
|
|
@@ -66,8 +66,8 @@ for the name and project version (this is in theory slightly less reliable
|
|
|
66
66
|
than using the ``egg_info`` command, but avoids downloading and processing
|
|
67
67
|
unnecessary numbers of files).
|
|
68
68
|
|
|
69
|
-
|
|
70
|
-
explicitly state the project name.
|
|
69
|
+
The :ref:`Direct URL requirement syntax <pypug:dependency-specifiers>` can be used
|
|
70
|
+
to explicitly state the project name (see :doc:`../topics/vcs-support`).
|
|
71
71
|
|
|
72
72
|
Satisfying Requirements
|
|
73
73
|
-----------------------
|
|
@@ -255,7 +255,7 @@ This is now covered in :doc:`../topics/local-project-installs`.
|
|
|
255
255
|
.. _`0-build-system-interface`:
|
|
256
256
|
.. rubric:: Build System Interface
|
|
257
257
|
|
|
258
|
-
This is now covered in :doc:`../reference/build-system
|
|
258
|
+
This is now covered in :doc:`../reference/build-system`.
|
|
259
259
|
|
|
260
260
|
.. _`pip install Options`:
|
|
261
261
|
|
|
@@ -367,21 +367,21 @@ Examples
|
|
|
367
367
|
|
|
368
368
|
.. code-block:: shell
|
|
369
369
|
|
|
370
|
-
python -m pip install -e 'git+https://git.repo/some_pkg.git
|
|
371
|
-
python -m pip install -e 'hg+https://hg.repo/some_pkg.git
|
|
372
|
-
python -m pip install -e 'svn+svn://svn.repo/some_pkg/trunk
|
|
373
|
-
python -m pip install -e 'git+https://git.repo/some_pkg.git@feature
|
|
374
|
-
python -m pip install -e 'git+https://git.repo/some_repo.git#
|
|
370
|
+
python -m pip install -e 'SomePackage @ git+https://git.repo/some_pkg.git' # from git
|
|
371
|
+
python -m pip install -e 'SomePackage @ hg+https://hg.repo/some_pkg.git' # from mercurial
|
|
372
|
+
python -m pip install -e 'SomePakcage @ svn+svn://svn.repo/some_pkg/trunk/' # from svn
|
|
373
|
+
python -m pip install -e 'SomePackage @ git+https://git.repo/some_pkg.git@feature' # from 'feature' branch
|
|
374
|
+
python -m pip install -e 'SomePackage @ git+https://git.repo/some_repo.git#subdirectory=subdir_path' # install a python package from a repo subdirectory
|
|
375
375
|
|
|
376
376
|
.. tab:: Windows
|
|
377
377
|
|
|
378
378
|
.. code-block:: shell
|
|
379
379
|
|
|
380
|
-
py -m pip install -e "git+https://git.repo/some_pkg.git
|
|
381
|
-
py -m pip install -e "hg+https://hg.repo/some_pkg.git
|
|
382
|
-
py -m pip install -e "svn+svn://svn.repo/some_pkg/trunk
|
|
383
|
-
py -m pip install -e "git+https://git.repo/some_pkg.git@feature
|
|
384
|
-
py -m pip install -e "git+https://git.repo/some_repo.git#
|
|
380
|
+
py -m pip install -e "SomePackage @ git+https://git.repo/some_pkg.git" # from git
|
|
381
|
+
py -m pip install -e "SomePackage @ hg+https://hg.repo/some_pkg.git" # from mercurial
|
|
382
|
+
py -m pip install -e "SomePackage @ svn+svn://svn.repo/some_pkg/trunk/" # from svn
|
|
383
|
+
py -m pip install -e "SomePackage @ git+https://git.repo/some_pkg.git@feature" # from 'feature' branch
|
|
384
|
+
py -m pip install -e "SomePackage @ git+https://git.repo/some_repo.git#subdirectory=subdir_path" # install a python package from a repo subdirectory
|
|
385
385
|
|
|
386
386
|
#. Install a package with extras, i.e., optional dependencies
|
|
387
387
|
(:ref:`specification <pypug:dependency-specifiers>`).
|
|
@@ -479,12 +479,11 @@ Examples
|
|
|
479
479
|
|
|
480
480
|
.. warning::
|
|
481
481
|
|
|
482
|
-
Using
|
|
483
|
-
repository (
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
will ensure it gets chosen over the private package.
|
|
482
|
+
Using the ``--extra-index-url`` option to search for packages which are
|
|
483
|
+
not in the main repository (for example, private packages) is unsafe.
|
|
484
|
+
This is a class of security issue known as `dependency confusion <https://azure.microsoft.com/en-us/resources/3-ways-to-mitigate-risk-using-private-package-feeds/>`_: an
|
|
485
|
+
attacker can publish a package with the same name to a public index,
|
|
486
|
+
which may then be chosen instead of your private package.
|
|
488
487
|
|
|
489
488
|
.. tab:: Unix/macOS
|
|
490
489
|
|
|
@@ -28,7 +28,7 @@ Description
|
|
|
28
28
|
.. _`1-build-system-interface`:
|
|
29
29
|
.. rubric:: Build System Interface
|
|
30
30
|
|
|
31
|
-
This is now covered in :doc:`../reference/build-system
|
|
31
|
+
This is now covered in :doc:`../reference/build-system`.
|
|
32
32
|
|
|
33
33
|
Differences to ``build``
|
|
34
34
|
------------------------
|
|
@@ -18,7 +18,6 @@ The ``README``, license, ``pyproject.toml``, and so on are in the top level.
|
|
|
18
18
|
|
|
19
19
|
* ``AUTHORS.txt``
|
|
20
20
|
* ``LICENSE.txt``
|
|
21
|
-
* ``MANIFEST.in``
|
|
22
21
|
* ``NEWS.rst``
|
|
23
22
|
* ``pyproject.toml``
|
|
24
23
|
* ``README.rst``
|
|
@@ -31,7 +30,6 @@ The ``README``, license, ``pyproject.toml``, and so on are in the top level.
|
|
|
31
30
|
* ``html/`` *[sources to HTML documentation avail. online]*
|
|
32
31
|
* ``man/`` has man pages the distros can use by running ``man pip``
|
|
33
32
|
* ``pip_sphinxext.py`` *[an extension -- pip-specific plugins to Sphinx that do not apply to other packages]*
|
|
34
|
-
* ``requirements.txt``
|
|
35
33
|
|
|
36
34
|
* ``news/`` *[pip stores news fragments… Every time pip makes a user-facing change, a file is added to this directory (usually a short note referring to a GitHub issue) with the right extension & name so it gets included in changelog…. So every release the maintainers will be deleting old files in this directory? Yes - we use the towncrier automation to generate a NEWS file, and auto-delete old stuff. There’s more about this in the contributor documentation!]*
|
|
37
35
|
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
(build-interface)=
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
# Build System Interface
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
When dealing with installable source distributions of a package, pip does not
|
|
6
|
+
directly handle the build process for the package. This responsibility is
|
|
7
|
+
delegated to "build backends" -- also known as "build systems". This means
|
|
8
|
+
that pip needs an interface, to interact with these build backends.
|
|
6
9
|
|
|
7
10
|
Modern Python packages can contain a `pyproject.toml` file, first introduced in
|
|
8
11
|
{pep}`518` and later expanded in {pep}`517`, {pep}`621` and {pep}`660`.
|
|
@@ -96,16 +99,6 @@ For performing editable installs, pip will use {pep}`660`
|
|
|
96
99
|
`build_wheel_for_editable` hook that has to be provided by the build backend.
|
|
97
100
|
The wheels generated using this mechanism are not cached.
|
|
98
101
|
|
|
99
|
-
```{admonition} Compatibility fallback
|
|
100
|
-
If this hook is missing on the build backend _and_ there's a `setup.py` file
|
|
101
|
-
in the project, pip will fallback to the legacy setup.py-based editable
|
|
102
|
-
installation.
|
|
103
|
-
|
|
104
|
-
This is considered a stopgap solution until setuptools adds support for
|
|
105
|
-
{pep}`660`, at which point this functionality will be removed; following pip's
|
|
106
|
-
regular {ref}`deprecation policy <Deprecation Policy>`.
|
|
107
|
-
```
|
|
108
|
-
|
|
109
102
|
### Backend Configuration
|
|
110
103
|
|
|
111
104
|
Build backends have the ability to accept configuration settings, which can
|
|
@@ -125,8 +118,7 @@ files.
|
|
|
125
118
|
## Build output
|
|
126
119
|
|
|
127
120
|
It is the responsibility of the build backend to ensure that the output is
|
|
128
|
-
in the correct encoding, as described in {pep}`517`.
|
|
129
|
-
dealing with [the same challenges as pip has for legacy builds](build-output).
|
|
121
|
+
in the correct encoding, as described in {pep}`517`.
|
|
130
122
|
|
|
131
123
|
## Fallback Behaviour
|
|
132
124
|
|
|
@@ -138,7 +130,8 @@ https://setuptools.pypa.io/en/stable/userguide/quickstart.html#basic-use).
|
|
|
138
130
|
```
|
|
139
131
|
|
|
140
132
|
If a project does not have a `pyproject.toml` file containing a `build-system`
|
|
141
|
-
section, it will be assumed to have the following
|
|
133
|
+
section, and contains a `setup.py` it will be assumed to have the following
|
|
134
|
+
backend settings:
|
|
142
135
|
|
|
143
136
|
```toml
|
|
144
137
|
[build-system]
|
|
@@ -164,14 +157,36 @@ passed.
|
|
|
164
157
|
|
|
165
158
|
## Historical notes
|
|
166
159
|
|
|
160
|
+
```{versionadded} 10.0
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
|
|
167
164
|
As this feature was incrementally rolled out, there have been various notable
|
|
168
165
|
changes and improvements in it.
|
|
169
166
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
167
|
+
Setuptools 40.8.0 is the first version of setuptools that offers a
|
|
168
|
+
{pep}`517` backend that closely mimics directly executing `setup.py`.
|
|
169
|
+
|
|
170
|
+
```{versionadded} 18.0
|
|
171
|
+
Prior to pip 18.0, pip only supports installing build requirements from
|
|
172
|
+
wheels, and does not support the use of environment markers and extras (only
|
|
173
|
+
version specifiers are respected).
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
```{versionadded} 18.1
|
|
177
|
+
Prior to pip 18.1, build dependencies using `.pth` files are not properly
|
|
178
|
+
supported; as a result namespace packages do not work under Python 3.2 and
|
|
179
|
+
earlier.
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
```{versionchanged} 23.1
|
|
183
|
+
The legacy interface where pip could invoke `setup.py install`
|
|
184
|
+
in some circumstances was removed,
|
|
185
|
+
in favor of the fallback behavior described above.
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
```{versionchanged} 25.3
|
|
189
|
+
The legacy interface where pip could invoke `setup.py build_wheel` or
|
|
190
|
+
`setup.py develop` in some circumstances was removed,
|
|
191
|
+
in favor of the fallback behavior described above.
|
|
192
|
+
```
|
|
@@ -109,7 +109,6 @@ and two {ref}`--find-links <install_--find-links>` locations:
|
|
|
109
109
|
|
|
110
110
|
The options which can be applied to individual requirements are:
|
|
111
111
|
|
|
112
|
-
- {ref}`--global-option <install_--global-option>`
|
|
113
112
|
- {ref}`--config-settings <install_--config-settings>`
|
|
114
113
|
- `--hash` (for {ref}`Hash-checking mode`)
|
|
115
114
|
|
|
@@ -150,30 +149,3 @@ You can now store sensitive data (tokens, keys, etc.) in environment variables
|
|
|
150
149
|
and only specify the variable name for your requirements, letting pip lookup
|
|
151
150
|
the value at runtime. This approach aligns with the commonly used
|
|
152
151
|
[12-factor configuration pattern](https://12factor.net/config).
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
## Influencing the build system
|
|
156
|
-
|
|
157
|
-
```{danger}
|
|
158
|
-
This disables the use of wheels (cached or otherwise). This could mean that builds will be slower, less deterministic, less reliable and may not behave correctly upon installation.
|
|
159
|
-
|
|
160
|
-
This mechanism is only preserved for backwards compatibility and should be considered deprecated. A future release of pip may drop these options.
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
The `--global-option` option is used to pass options to `setup.py`.
|
|
164
|
-
|
|
165
|
-
```{attention}
|
|
166
|
-
These options are highly coupled with how pip invokes setuptools using the {doc}`../reference/build-system/setup-py` build system interface. It is not compatible with newer {doc}`../reference/build-system/pyproject-toml` build system interface.
|
|
167
|
-
|
|
168
|
-
This is will not work with other build-backends or newer setup.cfg-only projects.
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
If you have a declaration like:
|
|
172
|
-
|
|
173
|
-
FooProject >= 1.2 --global-option="--no-user-cfg"
|
|
174
|
-
|
|
175
|
-
The above translates roughly into running FooProject's `setup.py` script as:
|
|
176
|
-
|
|
177
|
-
python setup.py --no-user-cfg install
|
|
178
|
-
|
|
179
|
-
Note that the only way of giving more than one option to `setup.py` is through multiple `--global-option` options.
|
|
@@ -165,6 +165,9 @@ will avoid performing dependency resolution during deployment.
|
|
|
165
165
|
|
|
166
166
|
## Dealing with dependency conflicts
|
|
167
167
|
|
|
168
|
+
This section uses hypothetical packages (`package_coffee`, `package_tea`, and
|
|
169
|
+
`package_water`) to explain how pip resolves conflicts.
|
|
170
|
+
|
|
168
171
|
This section provides practical suggestions to pip users who encounter
|
|
169
172
|
a `ResolutionImpossible` error, where pip cannot install their specified
|
|
170
173
|
packages due to conflicting dependencies.
|
|
@@ -194,6 +197,11 @@ because they each depend on different versions of the same package
|
|
|
194
197
|
- ``package_tea`` version ``4.3.0`` depends on version ``2.3.1`` of
|
|
195
198
|
``package_water``
|
|
196
199
|
|
|
200
|
+
Note: `package_coffee`, `package_tea`, and `package_water` are hypothetical
|
|
201
|
+
packages used only to illustrate dependency conflicts. They are not real
|
|
202
|
+
projects you can install.
|
|
203
|
+
|
|
204
|
+
|
|
197
205
|
Sometimes these messages are straightforward to read, because they use
|
|
198
206
|
commonly understood comparison operators to specify the required version
|
|
199
207
|
(e.g. `<` or `>`).
|
|
@@ -252,10 +260,10 @@ the same version of `package_water`, you might consider:
|
|
|
252
260
|
|
|
253
261
|
In the second case, pip will automatically find a version of both
|
|
254
262
|
`package_coffee` and `package_tea` that depend on the same version of
|
|
255
|
-
`package_water`,
|
|
263
|
+
`package_water`, for example:
|
|
256
264
|
|
|
257
265
|
- `package_coffee 0.44.1`, which depends on `package_water 2.6.1`
|
|
258
|
-
- `package_tea 4.4.3
|
|
266
|
+
- `package_tea 4.4.3`, which also depends on `package_water 2.6.1`
|
|
259
267
|
|
|
260
268
|
If you want to prioritize one package over another, you can add version
|
|
261
269
|
specifiers to _only_ the more important package:
|
|
@@ -37,17 +37,6 @@ With an editable install, you only need to perform a re-installation if you chan
|
|
|
37
37
|
It is possible to see behaviour differences between regular installs vs editable installs. These differences depend on the build-backend, and you should check the build-backend documentation for the details. In case you distribute the project as a "distribution package", users will see the behaviour of regular installs -- thus, it is important to ensure that regular installs work correctly.
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
```{note}
|
|
41
|
-
This is functionally the same as [setuptools' develop mode], and that's precisely the mechanism used for setuptools-based projects.
|
|
42
|
-
|
|
43
|
-
There are two advantages over using `setup.py develop` directly:
|
|
44
|
-
|
|
45
|
-
- This works with non-setuptools build-backends as well.
|
|
46
|
-
- The ".egg-info" directory is created relative to the project path, when using pip. This is generally a better location than setuptools, which dumps it in the current working directory.
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
[setuptools' develop mode]: https://setuptools.readthedocs.io/en/latest/userguide/development_mode.html
|
|
50
|
-
|
|
51
40
|
## Build artifacts
|
|
52
41
|
|
|
53
42
|
```{versionchanged} 21.3
|
|
@@ -90,10 +90,3 @@ across machines.
|
|
|
90
90
|
Hash-checking mode can also be used along with this method (since this uses a
|
|
91
91
|
requirements file as well), to ensure that future archives are built with
|
|
92
92
|
identical packages.
|
|
93
|
-
|
|
94
|
-
```{warning}
|
|
95
|
-
Beware of the `setup_requires` keyword arg in {file}`setup.py`. The (rare)
|
|
96
|
-
packages that use it will cause those dependencies to be downloaded by
|
|
97
|
-
setuptools directly, skipping pip's protections. If you need to use such a
|
|
98
|
-
package, see {ref}`Controlling setup_requires <controlling-setup_requires>`.
|
|
99
|
-
```
|
|
@@ -77,10 +77,6 @@ Other hash algorithms that have guaranteed support from `hashlib` are also suppo
|
|
|
77
77
|
|
|
78
78
|
Hash-checking mode also works with {ref}`pip download` and {ref}`pip wheel`. See {doc}`../topics/repeatable-installs` for a comparison of hash-checking mode with other repeatability strategies.
|
|
79
79
|
|
|
80
|
-
```{warning}
|
|
81
|
-
Beware of the `setup_requires` keyword arg in {file}`setup.py`. The (rare) packages that use it will cause those dependencies to be downloaded by setuptools directly, skipping pip's hash-checking. If you need to use such a package, see {ref}`controlling setup_requires <controlling-setup_requires>`.
|
|
82
|
-
```
|
|
83
|
-
|
|
84
80
|
## Do not use setuptools directly
|
|
85
81
|
|
|
86
82
|
Be careful not to nullify all your security work by installing your actual project by using setuptools' deprecated interfaces directly: for example, by calling `python setup.py install`, `python setup.py develop`, or `easy_install`.
|