pip 24.3__tar.gz → 25.0__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.3 → pip-25.0}/AUTHORS.txt +7 -0
- {pip-24.3 → pip-25.0}/MANIFEST.in +4 -6
- {pip-24.3 → pip-25.0}/NEWS.rst +76 -3
- {pip-24.3 → pip-25.0}/PKG-INFO +2 -2
- pip-25.0/build-project.py +67 -0
- pip-25.0/build-requirements.in +2 -0
- pip-25.0/build-requirements.txt +24 -0
- {pip-24.3 → pip-25.0}/docs/html/conf.py +5 -9
- {pip-24.3 → pip-25.0}/docs/html/development/architecture/command-line-interface.rst +1 -1
- {pip-24.3 → pip-25.0}/docs/html/development/architecture/overview.rst +1 -1
- {pip-24.3 → pip-25.0}/docs/html/development/release-process.rst +2 -5
- {pip-24.3 → pip-25.0}/docs/html/reference/requirements-file-format.md +3 -3
- {pip-24.3 → pip-25.0}/docs/html/topics/authentication.md +0 -19
- {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/improving-pips-documentation.md +1 -1
- {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/personas.md +1 -1
- {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/pip-force-reinstall.md +3 -3
- {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/prioritizing-features.md +2 -2
- {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/users-and-security.md +3 -2
- {pip-24.3 → pip-25.0}/docs/requirements.txt +1 -0
- {pip-24.3 → pip-25.0}/pyproject.toml +4 -6
- {pip-24.3 → pip-25.0}/src/pip/__init__.py +1 -1
- {pip-24.3 → pip-25.0}/src/pip/_internal/build_env.py +6 -2
- {pip-24.3 → pip-25.0}/src/pip/_internal/cli/base_command.py +9 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/cli/cmdoptions.py +2 -2
- {pip-24.3 → pip-25.0}/src/pip/_internal/cli/index_command.py +1 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/cli/progress_bars.py +1 -1
- {pip-24.3 → pip-25.0}/src/pip/_internal/commands/cache.py +4 -1
- {pip-24.3 → pip-25.0}/src/pip/_internal/commands/install.py +8 -7
- {pip-24.3 → pip-25.0}/src/pip/_internal/commands/show.py +8 -1
- {pip-24.3 → pip-25.0}/src/pip/_internal/configuration.py +1 -1
- {pip-24.3 → pip-25.0}/src/pip/_internal/index/package_finder.py +41 -32
- {pip-24.3 → pip-25.0}/src/pip/_internal/metadata/__init__.py +2 -2
- {pip-24.3 → pip-25.0}/src/pip/_internal/metadata/_json.py +2 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/metadata/importlib/_dists.py +7 -1
- {pip-24.3 → pip-25.0}/src/pip/_internal/models/link.py +23 -9
- {pip-24.3 → pip-25.0}/src/pip/_internal/network/cache.py +12 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/network/session.py +1 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/operations/build/metadata_editable.py +1 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/operations/freeze.py +11 -13
- {pip-24.3 → pip-25.0}/src/pip/_internal/pyproject.py +1 -1
- {pip-24.3 → pip-25.0}/src/pip/_internal/req/req_file.py +106 -52
- {pip-24.3 → pip-25.0}/src/pip/_internal/req/req_install.py +2 -2
- {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/resolvelib/factory.py +1 -1
- {pip-24.3 → pip-25.0}/src/pip/_internal/self_outdated_check.py +9 -1
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/logging.py +8 -1
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/misc.py +15 -14
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/packaging.py +1 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/unpacking.py +1 -1
- {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/__init__.py +2 -1
- {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/adapter.py +2 -2
- {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/cache.py +1 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/caches/file_cache.py +1 -1
- {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/controller.py +1 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/filewrapper.py +2 -2
- {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/heuristics.py +4 -1
- {pip-24.3 → pip-25.0}/src/pip/_vendor/idna/__init__.py +2 -1
- {pip-24.3 → pip-25.0}/src/pip/_vendor/idna/codec.py +31 -27
- {pip-24.3 → pip-25.0}/src/pip/_vendor/idna/compat.py +6 -4
- pip-25.0/src/pip/_vendor/idna/core.py +437 -0
- pip-25.0/src/pip/_vendor/idna/idnadata.py +4243 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/idna/intranges.py +7 -4
- pip-25.0/src/pip/_vendor/idna/package_data.py +1 -0
- pip-25.0/src/pip/_vendor/idna/uts46data.py +8681 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/msgpack/__init__.py +8 -8
- {pip-24.3 → pip-25.0}/src/pip/_vendor/msgpack/ext.py +5 -3
- {pip-24.3 → pip-25.0}/src/pip/_vendor/msgpack/fallback.py +29 -51
- {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/__init__.py +2 -2
- {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/_elffile.py +4 -4
- {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/_manylinux.py +1 -0
- pip-25.0/src/pip/_vendor/packaging/licenses/__init__.py +145 -0
- pip-25.0/src/pip/_vendor/packaging/licenses/_spdx.py +759 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/markers.py +15 -9
- {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/metadata.py +83 -24
- {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/specifiers.py +19 -8
- {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/tags.py +15 -25
- {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/utils.py +33 -44
- {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/version.py +26 -7
- {pip-24.3 → pip-25.0}/src/pip/_vendor/platformdirs/__init__.py +14 -10
- {pip-24.3 → pip-25.0}/src/pip/_vendor/platformdirs/android.py +1 -1
- {pip-24.3 → pip-25.0}/src/pip/_vendor/platformdirs/api.py +6 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/platformdirs/macos.py +14 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/platformdirs/unix.py +0 -6
- {pip-24.3 → pip-25.0}/src/pip/_vendor/platformdirs/version.py +2 -2
- pip-25.0/src/pip/_vendor/pyproject_hooks/__init__.py +31 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pyproject_hooks/_impl.py +181 -101
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pyproject_hooks/_in_process/__init__.py +5 -2
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +113 -77
- {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/certs.py +1 -8
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_inspect.py +0 -2
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_null_file.py +1 -1
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_win32_console.py +3 -4
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/align.py +1 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/ansi.py +1 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/cells.py +30 -23
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/color.py +2 -2
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/console.py +55 -27
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/default_styles.py +2 -1
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/filesize.py +1 -2
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/highlighter.py +1 -1
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/live.py +1 -1
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/logging.py +8 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/padding.py +5 -5
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/panel.py +13 -7
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/pretty.py +46 -25
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/progress.py +25 -9
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/progress_bar.py +1 -1
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/prompt.py +29 -4
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/segment.py +33 -19
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/spinner.py +1 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/style.py +1 -1
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/syntax.py +16 -8
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/table.py +15 -8
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/text.py +10 -6
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/theme.py +2 -2
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/traceback.py +70 -26
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/tree.py +16 -8
- pip-25.0/src/pip/_vendor/tomli/LICENSE-HEADER +3 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/tomli/__init__.py +1 -4
- {pip-24.3 → pip-25.0}/src/pip/_vendor/tomli/_parser.py +158 -79
- {pip-24.3 → pip-25.0}/src/pip/_vendor/tomli/_re.py +10 -5
- pip-25.0/src/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/vendor.txt +8 -8
- {pip-24.3 → pip-25.0}/src/pip.egg-info/PKG-INFO +2 -2
- {pip-24.3 → pip-25.0}/src/pip.egg-info/SOURCES.txt +7 -2
- pip-24.3/src/pip/_internal/utils/encoding.py +0 -36
- pip-24.3/src/pip/_vendor/idna/core.py +0 -395
- pip-24.3/src/pip/_vendor/idna/idnadata.py +0 -4245
- pip-24.3/src/pip/_vendor/idna/package_data.py +0 -2
- pip-24.3/src/pip/_vendor/idna/uts46data.py +0 -8598
- pip-24.3/src/pip/_vendor/pyproject_hooks/__init__.py +0 -23
- pip-24.3/src/pip/_vendor/pyproject_hooks/_compat.py +0 -8
- {pip-24.3 → pip-25.0}/LICENSE.txt +0 -0
- {pip-24.3 → pip-25.0}/README.rst +0 -0
- {pip-24.3 → pip-25.0}/SECURITY.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/cli/index.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/cli/pip.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/cli/pip_cache.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/cli/pip_check.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/cli/pip_config.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/cli/pip_debug.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/cli/pip_download.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/cli/pip_freeze.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/cli/pip_hash.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/cli/pip_inspect.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/cli/pip_install.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/cli/pip_list.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/cli/pip_search.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/cli/pip_show.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/cli/pip_uninstall.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/cli/pip_wheel.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/copyright.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/development/architecture/anatomy.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/development/architecture/configuration-files.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/development/architecture/index.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/development/architecture/package-finding.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/development/architecture/upgrade-options.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/development/ci.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/development/contributing.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/development/conventions.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/development/getting-started.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/development/index.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/development/issue-triage.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/development/vendoring-policy.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/getting-started.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/index.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/installation.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/installing.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/news.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/quickstart.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/reference/build-system/index.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/reference/build-system/pyproject-toml.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/reference/build-system/setup-py.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/reference/index.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/reference/inspect-report.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/reference/installation-report.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/reference/pip.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/reference/pip_cache.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/reference/pip_check.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/reference/pip_config.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/reference/pip_debug.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/reference/pip_download.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/reference/pip_freeze.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/reference/pip_hash.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/reference/pip_install.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/reference/pip_list.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/reference/pip_search.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/reference/pip_show.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/reference/pip_uninstall.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/reference/pip_wheel.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/reference/requirement-specifiers.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/topics/caching.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/topics/configuration.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/topics/dependency-resolution.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/topics/deps.dot +0 -0
- {pip-24.3 → pip-25.0}/docs/html/topics/deps.png +0 -0
- {pip-24.3 → pip-25.0}/docs/html/topics/https-certificates.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/topics/index.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/topics/local-project-installs.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/topics/more-dependency-resolution.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/topics/python-option.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/topics/repeatable-installs.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/topics/secure-installs.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/topics/vcs-support.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/topics/workflow.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/user_guide.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/html/ux-research-design/contribute.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/ux-research-design/guidance.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/ux-research-design/index.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/about-our-users.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/ci-cd.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/index.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/mental-models.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/override-conflicting-dependencies.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/pip-search.md +0 -0
- {pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/pip-upgrade-conflict.md +0 -0
- {pip-24.3 → pip-25.0}/docs/man/commands/cache.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/man/commands/check.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/man/commands/config.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/man/commands/debug.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/man/commands/download.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/man/commands/freeze.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/man/commands/hash.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/man/commands/help.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/man/commands/install.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/man/commands/list.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/man/commands/search.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/man/commands/show.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/man/commands/uninstall.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/man/commands/wheel.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/man/index.rst +0 -0
- {pip-24.3 → pip-25.0}/docs/pip_sphinxext.py +0 -0
- {pip-24.3 → pip-25.0}/setup.cfg +0 -0
- {pip-24.3 → pip-25.0}/src/pip/__main__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/__pip-runner__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/cache.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/cli/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/cli/autocompletion.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/cli/command_context.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/cli/main.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/cli/main_parser.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/cli/parser.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/cli/req_command.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/cli/spinners.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/cli/status_codes.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/commands/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/commands/check.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/commands/completion.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/commands/configuration.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/commands/debug.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/commands/download.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/commands/freeze.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/commands/hash.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/commands/help.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/commands/index.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/commands/inspect.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/commands/list.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/commands/search.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/commands/uninstall.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/commands/wheel.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/distributions/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/distributions/base.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/distributions/installed.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/distributions/sdist.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/distributions/wheel.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/exceptions.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/index/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/index/collector.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/index/sources.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/locations/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/locations/_distutils.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/locations/_sysconfig.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/locations/base.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/main.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/metadata/base.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/metadata/importlib/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/metadata/importlib/_compat.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/metadata/importlib/_envs.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/metadata/pkg_resources.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/models/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/models/candidate.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/models/direct_url.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/models/format_control.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/models/index.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/models/installation_report.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/models/scheme.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/models/search_scope.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/models/selection_prefs.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/models/target_python.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/models/wheel.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/network/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/network/auth.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/network/download.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/network/lazy_wheel.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/network/utils.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/network/xmlrpc.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/operations/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/operations/build/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/operations/build/build_tracker.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/operations/build/metadata.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/operations/build/metadata_legacy.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/operations/build/wheel.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/operations/build/wheel_editable.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/operations/build/wheel_legacy.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/operations/check.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/operations/install/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/operations/install/editable_legacy.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/operations/install/wheel.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/operations/prepare.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/req/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/req/constructors.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/req/req_set.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/req/req_uninstall.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/base.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/legacy/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/legacy/resolver.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/resolvelib/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/resolvelib/base.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/resolvelib/candidates.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/resolvelib/found_candidates.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/resolvelib/provider.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/resolvelib/reporter.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/resolvelib/requirements.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/resolution/resolvelib/resolver.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/_jaraco_text.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/_log.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/appdirs.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/compat.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/compatibility_tags.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/datetime.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/deprecation.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/direct_url_helpers.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/egg_link.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/entrypoints.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/filesystem.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/filetypes.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/glibc.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/hashes.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/retry.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/setuptools_build.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/subprocess.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/temp_dir.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/urls.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/virtualenv.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/utils/wheel.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/vcs/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/vcs/bazaar.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/vcs/git.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/vcs/mercurial.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/vcs/subversion.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/vcs/versioncontrol.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_internal/wheel_builder.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/README.rst +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/LICENSE.txt +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/_cmd.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/caches/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/py.typed +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/serialize.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/cachecontrol/wrapper.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/certifi/LICENSE +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/certifi/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/certifi/__main__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/certifi/cacert.pem +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/certifi/core.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/certifi/py.typed +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/LICENSE.txt +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/compat.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/database.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/index.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/locators.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/manifest.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/markers.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/metadata.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/resources.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/scripts.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/t32.exe +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/t64-arm.exe +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/t64.exe +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/util.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/version.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/w32.exe +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/w64-arm.exe +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/w64.exe +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distlib/wheel.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distro/LICENSE +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distro/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distro/__main__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distro/distro.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/distro/py.typed +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/idna/LICENSE.md +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/idna/py.typed +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/msgpack/COPYING +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/msgpack/exceptions.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/LICENSE +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/LICENSE.APACHE +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/LICENSE.BSD +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/_musllinux.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/_parser.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/_structures.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/_tokenizer.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/py.typed +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/packaging/requirements.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pkg_resources/LICENSE +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pkg_resources/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/platformdirs/LICENSE +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/platformdirs/__main__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/platformdirs/py.typed +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/platformdirs/windows.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/LICENSE +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/__main__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/cmdline.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/console.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/filter.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/filters/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatter.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/_mapping.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/bbcode.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/groff.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/html.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/img.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/irc.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/latex.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/other.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/pangomarkup.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/rtf.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/svg.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/terminal.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/formatters/terminal256.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/lexer.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/lexers/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/lexers/_mapping.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/lexers/python.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/modeline.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/plugin.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/regexopt.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/scanner.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/sphinxext.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/style.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/styles/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/styles/_mapping.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/token.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/unistring.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pygments/util.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/pyproject_hooks/LICENSE +0 -0
- {pip-24.3/src/pip/_vendor/resolvelib → pip-25.0/src/pip/_vendor/pyproject_hooks}/py.typed +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/LICENSE +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/__version__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/_internal_utils.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/adapters.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/api.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/auth.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/compat.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/cookies.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/exceptions.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/help.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/hooks.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/models.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/packages.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/sessions.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/status_codes.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/structures.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/requests/utils.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/resolvelib/LICENSE +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/resolvelib/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/resolvelib/compat/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/resolvelib/compat/collections_abc.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/resolvelib/providers.py +0 -0
- {pip-24.3/src/pip/_vendor/rich → pip-25.0/src/pip/_vendor/resolvelib}/py.typed +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/resolvelib/reporters.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/resolvelib/resolvers.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/resolvelib/structs.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/LICENSE +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/__main__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_cell_widths.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_emoji_codes.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_emoji_replace.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_export_format.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_extension.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_fileno.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_log_render.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_loop.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_palettes.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_pick.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_ratio.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_spinners.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_stack.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_timer.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_windows.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_windows_renderer.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/_wrap.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/abc.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/bar.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/box.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/color_triplet.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/columns.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/constrain.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/containers.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/control.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/diagnose.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/emoji.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/errors.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/file_proxy.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/json.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/jupyter.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/layout.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/live_render.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/markup.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/measure.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/pager.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/palette.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/protocol.py +0 -0
- {pip-24.3/src/pip/_vendor/truststore → pip-25.0/src/pip/_vendor/rich}/py.typed +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/region.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/repr.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/rule.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/scope.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/screen.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/status.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/styled.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/terminal_theme.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/rich/themes.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/tomli/LICENSE +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/tomli/_types.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/tomli/py.typed +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/truststore/LICENSE +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/truststore/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/truststore/_api.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/truststore/_macos.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/truststore/_openssl.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/truststore/_ssl_constants.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/truststore/_windows.py +0 -0
- /pip-24.3/src/pip/_vendor/urllib3/contrib/__init__.py → /pip-25.0/src/pip/_vendor/truststore/py.typed +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/typing_extensions.LICENSE +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/typing_extensions.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/LICENSE.txt +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/_collections.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/_version.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/connection.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/connectionpool.py +0 -0
- {pip-24.3/src/pip/_vendor/urllib3/contrib/_securetransport → pip-25.0/src/pip/_vendor/urllib3/contrib}/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -0
- {pip-24.3/src/pip/_vendor/urllib3/packages → pip-25.0/src/pip/_vendor/urllib3/contrib/_securetransport}/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/contrib/appengine.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/contrib/securetransport.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/contrib/socks.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/exceptions.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/fields.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/filepost.py +0 -0
- {pip-24.3/src/pip/_vendor/urllib3/packages/backports → pip-25.0/src/pip/_vendor/urllib3/packages}/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/packages/backports/makefile.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/packages/six.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/poolmanager.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/request.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/response.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/__init__.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/connection.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/proxy.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/queue.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/request.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/response.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/retry.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/ssl_.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/ssltransport.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/timeout.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/url.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/_vendor/urllib3/util/wait.py +0 -0
- {pip-24.3 → pip-25.0}/src/pip/py.typed +0 -0
- {pip-24.3 → pip-25.0}/src/pip.egg-info/dependency_links.txt +0 -0
- {pip-24.3 → pip-25.0}/src/pip.egg-info/entry_points.txt +0 -0
- {pip-24.3 → pip-25.0}/src/pip.egg-info/top_level.txt +0 -0
|
@@ -125,6 +125,7 @@ burrows
|
|
|
125
125
|
Bussonnier Matthias
|
|
126
126
|
bwoodsend
|
|
127
127
|
c22
|
|
128
|
+
Caleb Brown
|
|
128
129
|
Caleb Martinez
|
|
129
130
|
Calvin Smith
|
|
130
131
|
Carl Meyer
|
|
@@ -134,6 +135,7 @@ Carter Thayer
|
|
|
134
135
|
Cass
|
|
135
136
|
Chandrasekhar Atina
|
|
136
137
|
Charlie Marsh
|
|
138
|
+
charwick
|
|
137
139
|
Chih-Hsuan Yen
|
|
138
140
|
Chris Brinker
|
|
139
141
|
Chris Hunt
|
|
@@ -403,18 +405,22 @@ Josh Cannon
|
|
|
403
405
|
Josh Hansen
|
|
404
406
|
Josh Schneier
|
|
405
407
|
Joshua
|
|
408
|
+
JoshuaPerdue
|
|
406
409
|
Juan Luis Cano Rodríguez
|
|
407
410
|
Juanjo Bazán
|
|
408
411
|
Judah Rand
|
|
409
412
|
Julian Berman
|
|
410
413
|
Julian Gethmann
|
|
411
414
|
Julien Demoor
|
|
415
|
+
July Tikhonov
|
|
412
416
|
Jussi Kukkonen
|
|
417
|
+
Justin van Heek
|
|
413
418
|
jwg4
|
|
414
419
|
Jyrki Pulliainen
|
|
415
420
|
Kai Chen
|
|
416
421
|
Kai Mueller
|
|
417
422
|
Kamal Bin Mustafa
|
|
423
|
+
Karolina Surma
|
|
418
424
|
kasium
|
|
419
425
|
kaustav haldar
|
|
420
426
|
keanemind
|
|
@@ -625,6 +631,7 @@ R. David Murray
|
|
|
625
631
|
Rafael Caricio
|
|
626
632
|
Ralf Schmitt
|
|
627
633
|
Ran Benita
|
|
634
|
+
Randy Döring
|
|
628
635
|
Razzi Abuissa
|
|
629
636
|
rdb
|
|
630
637
|
Reece Dunham
|
|
@@ -5,23 +5,22 @@ include README.rst
|
|
|
5
5
|
include SECURITY.md
|
|
6
6
|
include pyproject.toml
|
|
7
7
|
|
|
8
|
+
include build-requirements.in
|
|
9
|
+
include build-requirements.txt
|
|
10
|
+
include build-project.py
|
|
11
|
+
|
|
8
12
|
include src/pip/_vendor/README.rst
|
|
9
13
|
include src/pip/_vendor/vendor.txt
|
|
10
|
-
include src/pip/_vendor/pyparsing/diagram/template.jinja2
|
|
11
14
|
recursive-include src/pip/_vendor *LICENSE*
|
|
12
15
|
recursive-include src/pip/_vendor *COPYING*
|
|
13
16
|
|
|
14
|
-
include docs/docutils.conf
|
|
15
17
|
include docs/requirements.txt
|
|
16
18
|
|
|
17
19
|
exclude .git-blame-ignore-revs
|
|
18
|
-
exclude .coveragerc
|
|
19
20
|
exclude .mailmap
|
|
20
|
-
exclude .appveyor.yml
|
|
21
21
|
exclude .readthedocs.yml
|
|
22
22
|
exclude .pre-commit-config.yaml
|
|
23
23
|
exclude .readthedocs-custom-redirects.yml
|
|
24
|
-
exclude tox.ini
|
|
25
24
|
exclude noxfile.py
|
|
26
25
|
|
|
27
26
|
recursive-include src/pip/_vendor *.pem
|
|
@@ -34,6 +33,5 @@ recursive-exclude src/pip/_vendor *.pyi
|
|
|
34
33
|
prune .github
|
|
35
34
|
prune docs/build
|
|
36
35
|
prune news
|
|
37
|
-
prune tasks
|
|
38
36
|
prune tests
|
|
39
37
|
prune tools
|
{pip-24.3 → pip-25.0}/NEWS.rst
RENAMED
|
@@ -9,7 +9,80 @@
|
|
|
9
9
|
|
|
10
10
|
.. towncrier release notes start
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
25.0 (2025-01-26)
|
|
13
|
+
=================
|
|
14
|
+
|
|
15
|
+
Deprecations and Removals
|
|
16
|
+
-------------------------
|
|
17
|
+
|
|
18
|
+
- Deprecate the ``no-python-version-warning`` flag as it has long done nothing
|
|
19
|
+
since Python 2 support was removed in pip 21.0. (`#13154 <https://github.com/pypa/pip/issues/13154>`_)
|
|
20
|
+
|
|
21
|
+
Features
|
|
22
|
+
--------
|
|
23
|
+
|
|
24
|
+
- Prefer to display :pep:`639` ``License-Expression`` in ``pip show`` if metadata version is at least 2.4. (`#13112 <https://github.com/pypa/pip/issues/13112>`_)
|
|
25
|
+
- Support :pep:`639` ``License-Expression`` and ``License-File`` metadata fields in JSON
|
|
26
|
+
output. ``pip inspect`` and ``pip install --report`` now emit
|
|
27
|
+
``license_expression`` and ``license_file`` fields in the ``metadata`` object,
|
|
28
|
+
if the corresponding fields are present in the installed ``METADATA`` file. (`#13134 <https://github.com/pypa/pip/issues/13134>`_)
|
|
29
|
+
- Files in the network cache will inherit the read/write permissions of pip's cache
|
|
30
|
+
directory (in addition to the current user retaining read/write access). This
|
|
31
|
+
enables a single cache to be shared among multiple users. (`#11012 <https://github.com/pypa/pip/issues/11012>`_)
|
|
32
|
+
- Return the size, along with the number, of files cleared on ``pip cache purge`` and ``pip cache remove`` (`#12176 <https://github.com/pypa/pip/issues/12176>`_)
|
|
33
|
+
- Cache ``python-requires`` checks while filtering potential installation candidates. (`#13128 <https://github.com/pypa/pip/issues/13128>`_)
|
|
34
|
+
- Optimize package collection by avoiding unnecessary URL parsing and other processing. (`#13132 <https://github.com/pypa/pip/issues/13132>`_)
|
|
35
|
+
|
|
36
|
+
Bug Fixes
|
|
37
|
+
---------
|
|
38
|
+
|
|
39
|
+
- Reorder the encoding detection when decoding a requirements file, relying on
|
|
40
|
+
UTF-8 over the locale encoding by default, matching the documented behaviour.
|
|
41
|
+
(`#12771 <https://github.com/pypa/pip/issues/12771>`_)
|
|
42
|
+
- The pip version self check is disabled on ``EXTERNALLY-MANAGED`` environments. (`#11820 <https://github.com/pypa/pip/issues/11820>`_)
|
|
43
|
+
- Fix a security bug allowing a specially crafted wheel to execute code during
|
|
44
|
+
installation. (`#13079 <https://github.com/pypa/pip/issues/13079>`_)
|
|
45
|
+
- The inclusion of ``packaging`` 24.2 changes how pre-release specifiers with ``<`` and ``>``
|
|
46
|
+
behave. Including a pre-release version with these specifiers now implies
|
|
47
|
+
accepting pre-releases (e.g., ``<2.0dev`` can include ``1.0rc1``). To avoid
|
|
48
|
+
implying pre-releases, avoid specifying them (e.g., use ``<2.0``).
|
|
49
|
+
The exception is ``!=``, which never implies pre-releases. (`#13163 <https://github.com/pypa/pip/issues/13163>`_)
|
|
50
|
+
- The ``--cert`` and ``--client-cert`` command-line options are now respected while
|
|
51
|
+
installing build dependencies. Consequently, the private ``_PIP_STANDALONE_CERT``
|
|
52
|
+
environment variable is no longer used. (`#5502 <https://github.com/pypa/pip/issues/5502>`_)
|
|
53
|
+
- The ``--proxy`` command-line option is now respected while installing build dependencies. (`#6018 <https://github.com/pypa/pip/issues/6018>`_)
|
|
54
|
+
|
|
55
|
+
Vendored Libraries
|
|
56
|
+
------------------
|
|
57
|
+
|
|
58
|
+
- Upgrade CacheControl to 0.14.1
|
|
59
|
+
- Upgrade idna to 3.10
|
|
60
|
+
- Upgrade msgpack to 1.1.0
|
|
61
|
+
- Upgrade packaging to 24.2
|
|
62
|
+
- Upgrade platformdirs to 4.3.6
|
|
63
|
+
- Upgrade pyproject-hooks to 1.2.0
|
|
64
|
+
- Upgrade rich to 13.9.4
|
|
65
|
+
- Upgrade tomli to 2.2.1
|
|
66
|
+
|
|
67
|
+
Improved Documentation
|
|
68
|
+
----------------------
|
|
69
|
+
|
|
70
|
+
- Removed section about non-existing ``--force-keyring`` flag. (`#12455 <https://github.com/pypa/pip/issues/12455>`_)
|
|
71
|
+
|
|
72
|
+
Process
|
|
73
|
+
-------
|
|
74
|
+
|
|
75
|
+
- Started releasing to PyPI from a GitHub Actions CI/CD workflow that implements trusted publishing and bundles :pep:`740` digital attestations.
|
|
76
|
+
|
|
77
|
+
24.3.1 (2024-10-27)
|
|
78
|
+
===================
|
|
79
|
+
|
|
80
|
+
Bug Fixes
|
|
81
|
+
---------
|
|
82
|
+
|
|
83
|
+
- Allow multiple nested inclusions of the same requirements file again. (`#13046 <https://github.com/pypa/pip/issues/13046>`_)
|
|
84
|
+
|
|
85
|
+
24.3 (2024-10-27)
|
|
13
86
|
=================
|
|
14
87
|
|
|
15
88
|
Deprecations and Removals
|
|
@@ -3342,7 +3415,7 @@ Improved Documentation
|
|
|
3342
3415
|
- Upgrade the bundled copy of requests to 2.6.0, fixing CVE-2015-2296.
|
|
3343
3416
|
- Display format of latest package when using ``pip list --outdated``. (#2475)
|
|
3344
3417
|
- Don't use pywin32 as ctypes should always be available on Windows, using
|
|
3345
|
-
pywin32 prevented uninstallation of pywin32 on Windows. (:
|
|
3418
|
+
pywin32 prevented uninstallation of pywin32 on Windows. (:pr:`2467`)
|
|
3346
3419
|
- Normalize the ``--wheel-dir`` option, expanding out constructs such as ``~``
|
|
3347
3420
|
when used. (#2441)
|
|
3348
3421
|
- Display a warning when an undefined extra has been requested. (#2142)
|
|
@@ -3633,7 +3706,7 @@ Improved Documentation
|
|
|
3633
3706
|
--no-download`` are now formally deprecated. See #906 for discussion on
|
|
3634
3707
|
possible alternatives, or lack thereof, in future releases.
|
|
3635
3708
|
- **DEPRECATION** ``pip zip`` and ``pip unzip`` are now formally deprecated.
|
|
3636
|
-
- pip will now install Mac OSX platform wheels from PyPI. (:
|
|
3709
|
+
- pip will now install Mac OSX platform wheels from PyPI. (:pr:`1278`)
|
|
3637
3710
|
- pip now generates the appropriate platform-specific console scripts when
|
|
3638
3711
|
installing wheels. (#1251)
|
|
3639
3712
|
- pip now confirms a wheel is supported when installing directly from a path or
|
{pip-24.3 → pip-25.0}/PKG-INFO
RENAMED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Build pip using pinned build requirements."""
|
|
3
|
+
|
|
4
|
+
import subprocess
|
|
5
|
+
import tempfile
|
|
6
|
+
import venv
|
|
7
|
+
from os import PathLike
|
|
8
|
+
from pathlib import Path
|
|
9
|
+
from types import SimpleNamespace
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class EnvBuilder(venv.EnvBuilder):
|
|
13
|
+
"""A subclass of venv.EnvBuilder that exposes the python executable command."""
|
|
14
|
+
|
|
15
|
+
def ensure_directories(
|
|
16
|
+
self, env_dir: str | bytes | PathLike[str] | PathLike[bytes]
|
|
17
|
+
) -> SimpleNamespace:
|
|
18
|
+
context = super().ensure_directories(env_dir)
|
|
19
|
+
self.env_exec_cmd = context.env_exec_cmd
|
|
20
|
+
return context
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def get_git_head_timestamp() -> str:
|
|
24
|
+
return subprocess.run(
|
|
25
|
+
[
|
|
26
|
+
"git",
|
|
27
|
+
"log",
|
|
28
|
+
"-1",
|
|
29
|
+
"--pretty=format:%ct",
|
|
30
|
+
],
|
|
31
|
+
text=True,
|
|
32
|
+
stdout=subprocess.PIPE,
|
|
33
|
+
).stdout.strip()
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def main() -> None:
|
|
37
|
+
with tempfile.TemporaryDirectory() as build_env:
|
|
38
|
+
env_builder = EnvBuilder(with_pip=True)
|
|
39
|
+
env_builder.create(build_env)
|
|
40
|
+
subprocess.run(
|
|
41
|
+
[
|
|
42
|
+
env_builder.env_exec_cmd,
|
|
43
|
+
"-Im",
|
|
44
|
+
"pip",
|
|
45
|
+
"install",
|
|
46
|
+
"--no-deps",
|
|
47
|
+
"--only-binary=:all:",
|
|
48
|
+
"--require-hashes",
|
|
49
|
+
"-r",
|
|
50
|
+
Path(__file__).parent / "build-requirements.txt",
|
|
51
|
+
],
|
|
52
|
+
check=True,
|
|
53
|
+
)
|
|
54
|
+
subprocess.run(
|
|
55
|
+
[
|
|
56
|
+
env_builder.env_exec_cmd,
|
|
57
|
+
"-Im",
|
|
58
|
+
"build",
|
|
59
|
+
"--no-isolation",
|
|
60
|
+
],
|
|
61
|
+
check=True,
|
|
62
|
+
env={"SOURCE_DATE_EPOCH": get_git_head_timestamp()},
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
if __name__ == "__main__":
|
|
67
|
+
main()
|
|
@@ -0,0 +1,24 @@
|
|
|
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.2.2.post1 \
|
|
8
|
+
--hash=sha256:1d61c0887fa860c01971625baae8bdd338e517b836a2f70dd1f7aa3a6b2fc5b5 \
|
|
9
|
+
--hash=sha256:b36993e92ca9375a219c99e606a122ff365a760a2d4bba0caa09bd5278b608b7
|
|
10
|
+
# via -r build-requirements.in
|
|
11
|
+
packaging==24.2 \
|
|
12
|
+
--hash=sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 \
|
|
13
|
+
--hash=sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f
|
|
14
|
+
# via build
|
|
15
|
+
pyproject-hooks==1.2.0 \
|
|
16
|
+
--hash=sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8 \
|
|
17
|
+
--hash=sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913
|
|
18
|
+
# via build
|
|
19
|
+
|
|
20
|
+
# The following packages are considered to be unsafe in a requirements file:
|
|
21
|
+
setuptools==75.8.0 \
|
|
22
|
+
--hash=sha256:c5afc8f407c626b8313a86e10311dd3f661c6cd9c09d4bf8c15c0e11f9f2b0e6 \
|
|
23
|
+
--hash=sha256:e3982f444617239225d675215d51f6ba05f845d4eec313da4418fdbb56fb27e3
|
|
24
|
+
# via -r build-requirements.in
|
|
@@ -17,7 +17,6 @@ extensions = [
|
|
|
17
17
|
# first-party extensions
|
|
18
18
|
"sphinx.ext.autodoc",
|
|
19
19
|
"sphinx.ext.todo",
|
|
20
|
-
"sphinx.ext.extlinks",
|
|
21
20
|
"sphinx.ext.intersphinx",
|
|
22
21
|
# our extensions
|
|
23
22
|
"pip_sphinxext",
|
|
@@ -26,6 +25,7 @@ extensions = [
|
|
|
26
25
|
"sphinx_copybutton",
|
|
27
26
|
"sphinx_inline_tabs",
|
|
28
27
|
"sphinxcontrib.towncrier",
|
|
28
|
+
"sphinx_issues",
|
|
29
29
|
]
|
|
30
30
|
|
|
31
31
|
# General information about the project.
|
|
@@ -71,14 +71,6 @@ intersphinx_mapping = {
|
|
|
71
71
|
"pypug": ("https://packaging.python.org", None),
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
# -- Options for extlinks -------------------------------------------------------------
|
|
75
|
-
|
|
76
|
-
extlinks = {
|
|
77
|
-
"issue": ("https://github.com/pypa/pip/issues/%s", "#%s"),
|
|
78
|
-
"pull": ("https://github.com/pypa/pip/pull/%s", "PR #%s"),
|
|
79
|
-
"pypi": ("https://pypi.org/project/%s/", "%s"),
|
|
80
|
-
}
|
|
81
|
-
|
|
82
74
|
# -- Options for towncrier_draft extension --------------------------------------------
|
|
83
75
|
|
|
84
76
|
towncrier_draft_autoversion_mode = "draft" # or: 'sphinx-release', 'sphinx-version'
|
|
@@ -137,3 +129,7 @@ man_pages = determine_man_pages()
|
|
|
137
129
|
copybutton_prompt_text = r"\$ | C\:\> "
|
|
138
130
|
copybutton_prompt_is_regexp = True
|
|
139
131
|
copybutton_only_copy_prompt_lines = False
|
|
132
|
+
|
|
133
|
+
# -- Options for sphinx_issues --------------------------------------------------------
|
|
134
|
+
|
|
135
|
+
issues_default_group_project = "pypa/pip"
|
|
@@ -154,7 +154,7 @@ Its main addition consists of the following function:
|
|
|
154
154
|
|
|
155
155
|
.. py:method:: get_default_values()
|
|
156
156
|
|
|
157
|
-
Overrides the original method to allow updating the defaults
|
|
157
|
+
Overrides the original method to allow updating the defaults after the instantiation of the
|
|
158
158
|
option parser.
|
|
159
159
|
|
|
160
160
|
It allows overriding the default options and arguments using the ``Configuration`` class
|
|
@@ -134,7 +134,7 @@ Once it has those, it selects one file and downloads it.
|
|
|
134
134
|
cannot….should not be …. ? I want only the Flask …. Why am I getting the
|
|
135
135
|
whole list?
|
|
136
136
|
|
|
137
|
-
Answer: It's not every file, just files of Flask. No API for getting
|
|
137
|
+
Answer: It's not every file, just files of Flask. No API for getting all
|
|
138
138
|
files on PyPI. It’s for getting all files of Flask.)
|
|
139
139
|
|
|
140
140
|
.. _`tracking issue`: https://github.com/pypa/pip/issues/6831
|
|
@@ -146,11 +146,8 @@ Creating a new release
|
|
|
146
146
|
This will update the relevant files and tag the correct commit.
|
|
147
147
|
#. Submit the ``release/YY.N`` branch as a pull request and ensure CI passes.
|
|
148
148
|
Merge the changes back into ``main`` and pull them back locally.
|
|
149
|
-
#.
|
|
150
|
-
|
|
151
|
-
uploaded and checkout the main branch again.
|
|
152
|
-
#. Upload the release to PyPI using ``nox -s upload-release -- YY.N``.
|
|
153
|
-
#. Push the tag created by ``prepare-release``.
|
|
149
|
+
#. Push the tag created by ``prepare-release``. This will trigger the release
|
|
150
|
+
workflow on GitHub and publish to PyPI.
|
|
154
151
|
#. Regenerate the ``get-pip.py`` script in the `get-pip repository`_ (as
|
|
155
152
|
documented there) and commit the results.
|
|
156
153
|
#. Submit a Pull Request to `CPython`_ adding the new version of pip
|
|
@@ -56,9 +56,9 @@ examples of all these forms, see {ref}`pip install Examples`.
|
|
|
56
56
|
|
|
57
57
|
### Encoding
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
{pep}`263` style
|
|
61
|
-
|
|
59
|
+
The default encoding for requirement files is `UTF-8` unless a different
|
|
60
|
+
encoding is specified using a {pep}`263` style comment (e.g. `# -*- coding:
|
|
61
|
+
<encoding name> -*-`).
|
|
62
62
|
|
|
63
63
|
### Line continuations
|
|
64
64
|
|
|
@@ -163,25 +163,6 @@ from the subprocess in which they run Pip. You won't know whether the keyring
|
|
|
163
163
|
backend is waiting the user input or not in such situations.
|
|
164
164
|
```
|
|
165
165
|
|
|
166
|
-
pip is conservative and does not query keyring at all when `--no-input` is used
|
|
167
|
-
because the keyring might require user interaction such as prompting the user
|
|
168
|
-
on the console. You can force keyring usage by passing `--force-keyring` or one
|
|
169
|
-
of the following:
|
|
170
|
-
|
|
171
|
-
```bash
|
|
172
|
-
# possibly with --user, --global or --site
|
|
173
|
-
$ pip config set global.force-keyring true
|
|
174
|
-
# or
|
|
175
|
-
$ export PIP_FORCE_KEYRING=1
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
```{warning}
|
|
179
|
-
Be careful when doing this since it could cause tools such as pipx and Pipenv
|
|
180
|
-
to appear to hang. They show their own progress indicator while hiding output
|
|
181
|
-
from the subprocess in which they run Pip. You won't know whether the keyring
|
|
182
|
-
backend is waiting the user input or not in such situations.
|
|
183
|
-
```
|
|
184
|
-
|
|
185
166
|
Note that `keyring` (the Python package) needs to be installed separately from
|
|
186
167
|
pip. This can create a bootstrapping issue if you need the credentials stored in
|
|
187
168
|
the keyring to download and install keyring.
|
{pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/improving-pips-documentation.md
RENAMED
|
@@ -512,7 +512,7 @@ _Suggested content:_
|
|
|
512
512
|
_Page purpose:_
|
|
513
513
|
|
|
514
514
|
- To onboard people who want to contribute to pip's docs
|
|
515
|
-
- To share previous research and
|
|
515
|
+
- To share previous research and recommendations related to pip's docs
|
|
516
516
|
|
|
517
517
|
_Suggested content:_
|
|
518
518
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Problem
|
|
4
4
|
|
|
5
|
-
We want to develop personas for pip's user to
|
|
5
|
+
We want to develop personas for pip's user to facilitate faster user-centered decision making for the pip development team.
|
|
6
6
|
|
|
7
7
|
[Skip to recommendations](#recommendations)
|
|
8
8
|
|
|
@@ -66,7 +66,7 @@ Most respondents use `--force-reinstall` "almost never" (65.6%):
|
|
|
66
66
|

|
|
67
67
|

|
|
68
68
|
|
|
69
|
-
Amongst respondents who said they use `--force-
|
|
69
|
+
Amongst respondents who said they use `--force-reinstall` often or very often:
|
|
70
70
|
|
|
71
71
|
- 54.54% (6/11) of respondents thought that pip should install the same version of requests - i.e. that `--force-reinstall` should _not_ implicitly upgrade
|
|
72
72
|
- 45.45% (5/11) of respondents thought that pip should upgrade requests to the latest version - i.e that `--force-reinstall` _should_ implicitly upgrade
|
|
@@ -76,7 +76,7 @@ Respondents find `--force-reinstall` less useful than useful:
|
|
|
76
76
|

|
|
77
77
|

|
|
78
78
|
|
|
79
|
-
Amongst respondents who said they find `--force-
|
|
79
|
+
Amongst respondents who said they find `--force-reinstall` useful or very useful:
|
|
80
80
|
|
|
81
81
|
- 38.46% (20/52) of respondents thought that pip should install the same version of requests - i.e. that `--force-reinstall` should _not_ implicitly upgrade
|
|
82
82
|
- 50% (26/52) of respondents thought that pip should upgrade requests to the latest version - i.e that `--force-reinstall` _should_ implicitly upgrade
|
|
@@ -89,7 +89,7 @@ In this case, we recommend showing the following message when a user tries to us
|
|
|
89
89
|
|
|
90
90
|
> Error: the pip install --force-reinstall option no longer exists. Use pip uninstall then pip install to replace up-to-date packages, or pip install --upgrade to update your packages to the latest available versions.
|
|
91
91
|
|
|
92
|
-
Should the pip development team wish to keep `--force-
|
|
92
|
+
Should the pip development team wish to keep `--force-reinstall`, we recommend maintaining the current (implicit upgrade) behaviour, as pip's users have not expressed a clear preference for a different behaviour.
|
|
93
93
|
|
|
94
94
|
In this case, we recommend upgrading the [help text](https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-force-reinstall) to be more explicit:
|
|
95
95
|
|
{pip-24.3 → pip-25.0}/docs/html/ux-research-design/research-results/prioritizing-features.md
RENAMED
|
@@ -109,9 +109,9 @@ Results varied by the amount of Python experience the user had.
|
|
|
109
109
|
|
|
110
110
|

|
|
111
111
|
|
|
112
|
-
#### Install
|
|
112
|
+
#### Install a package from a local directory
|
|
113
113
|
|
|
114
|
-

|
|
115
115
|
|
|
116
116
|
#### Control where you want your installed package to live on your computer
|
|
117
117
|
|
|
@@ -56,6 +56,8 @@ Both of these groups identified their "sphere of influence" and did their best t
|
|
|
56
56
|
|
|
57
57
|
### User thoughts about security
|
|
58
58
|
|
|
59
|
+
Selected quotes from research participants
|
|
60
|
+
|
|
59
61
|
#### Responsibility as author
|
|
60
62
|
|
|
61
63
|
Participants who spent a lot of their time writing Python code - either for community or as part of their job - expressed a responsibility to their users for the code they wrote - people who wrote code which was made public expressed a stronger responsibility.
|
|
@@ -76,8 +78,7 @@ Participants also explained they rely on code security scanning and checking sof
|
|
|
76
78
|
|
|
77
79
|
#### Reliance on good software development practices
|
|
78
80
|
|
|
79
|
-
A small number of participants
|
|
80
|
-
xplained they have good software practices in place, which help with writing secure software.
|
|
81
|
+
A small number of participants explained they have good software practices in place, which help with writing secure software.
|
|
81
82
|
|
|
82
83
|
> "We have a book about ethics of code - we have mandatory certification."
|
|
83
84
|
|
|
@@ -60,8 +60,6 @@ exclude = ["contrib", "docs", "tests*", "tasks"]
|
|
|
60
60
|
"pip" = ["py.typed"]
|
|
61
61
|
"pip._vendor" = ["vendor.txt"]
|
|
62
62
|
"pip._vendor.certifi" = ["*.pem"]
|
|
63
|
-
"pip._vendor.requests" = ["*.pem"]
|
|
64
|
-
"pip._vendor.distlib._backport" = ["sysconfig.cfg"]
|
|
65
63
|
"pip._vendor.distlib" = [
|
|
66
64
|
"t32.exe",
|
|
67
65
|
"t64.exe",
|
|
@@ -123,6 +121,9 @@ drop = [
|
|
|
123
121
|
"bin/",
|
|
124
122
|
# interpreter and OS specific msgpack libs
|
|
125
123
|
"msgpack/*.so",
|
|
124
|
+
# optional accelerator extension libraries
|
|
125
|
+
"*mypyc*.so",
|
|
126
|
+
"tomli/*.so",
|
|
126
127
|
# unneeded parts of setuptools
|
|
127
128
|
"easy_install.py",
|
|
128
129
|
"setuptools",
|
|
@@ -304,10 +305,7 @@ source0 = [
|
|
|
304
305
|
]
|
|
305
306
|
|
|
306
307
|
[tool.coverage.report]
|
|
307
|
-
|
|
308
|
-
# We must re-state the default because the `exclude_lines` option overrides
|
|
309
|
-
# it.
|
|
310
|
-
"pragma: no cover",
|
|
308
|
+
exclude_also = [
|
|
311
309
|
# This excludes typing-specific code, which will be validated by mypy anyway.
|
|
312
310
|
"if TYPE_CHECKING",
|
|
313
311
|
]
|
|
@@ -246,6 +246,8 @@ class BuildEnvironment:
|
|
|
246
246
|
# target from config file or env var should be ignored
|
|
247
247
|
"--target",
|
|
248
248
|
"",
|
|
249
|
+
"--cert",
|
|
250
|
+
finder.custom_cert or where(),
|
|
249
251
|
]
|
|
250
252
|
if logger.getEffectiveLevel() <= logging.DEBUG:
|
|
251
253
|
args.append("-vv")
|
|
@@ -270,21 +272,23 @@ class BuildEnvironment:
|
|
|
270
272
|
for link in finder.find_links:
|
|
271
273
|
args.extend(["--find-links", link])
|
|
272
274
|
|
|
275
|
+
if finder.proxy:
|
|
276
|
+
args.extend(["--proxy", finder.proxy])
|
|
273
277
|
for host in finder.trusted_hosts:
|
|
274
278
|
args.extend(["--trusted-host", host])
|
|
279
|
+
if finder.client_cert:
|
|
280
|
+
args.extend(["--client-cert", finder.client_cert])
|
|
275
281
|
if finder.allow_all_prereleases:
|
|
276
282
|
args.append("--pre")
|
|
277
283
|
if finder.prefer_binary:
|
|
278
284
|
args.append("--prefer-binary")
|
|
279
285
|
args.append("--")
|
|
280
286
|
args.extend(requirements)
|
|
281
|
-
extra_environ = {"_PIP_STANDALONE_CERT": where()}
|
|
282
287
|
with open_spinner(f"Installing {kind}") as spinner:
|
|
283
288
|
call_subprocess(
|
|
284
289
|
args,
|
|
285
290
|
command_desc=f"pip subprocess to install {kind}",
|
|
286
291
|
spinner=spinner,
|
|
287
|
-
extra_environ=extra_environ,
|
|
288
292
|
)
|
|
289
293
|
|
|
290
294
|
|
|
@@ -29,6 +29,7 @@ from pip._internal.exceptions import (
|
|
|
29
29
|
NetworkConnectionError,
|
|
30
30
|
PreviousBuildDirError,
|
|
31
31
|
)
|
|
32
|
+
from pip._internal.utils.deprecation import deprecated
|
|
32
33
|
from pip._internal.utils.filesystem import check_path_owner
|
|
33
34
|
from pip._internal.utils.logging import BrokenStdoutLoggingError, setup_logging
|
|
34
35
|
from pip._internal.utils.misc import get_prog, normalize_path
|
|
@@ -228,4 +229,12 @@ class Command(CommandContextMixIn):
|
|
|
228
229
|
)
|
|
229
230
|
options.cache_dir = None
|
|
230
231
|
|
|
232
|
+
if options.no_python_version_warning:
|
|
233
|
+
deprecated(
|
|
234
|
+
reason="--no-python-version-warning is deprecated.",
|
|
235
|
+
replacement="to remove the flag as it's a no-op",
|
|
236
|
+
gone_in="25.1",
|
|
237
|
+
issue=13154,
|
|
238
|
+
)
|
|
239
|
+
|
|
231
240
|
return self._run_wrapper(level_number, options, args)
|
|
@@ -260,8 +260,8 @@ keyring_provider: Callable[..., Option] = partial(
|
|
|
260
260
|
default="auto",
|
|
261
261
|
help=(
|
|
262
262
|
"Enable the credential lookup via the keyring library if user input is allowed."
|
|
263
|
-
" Specify which mechanism to use [disabled, import, subprocess]."
|
|
264
|
-
" (default:
|
|
263
|
+
" Specify which mechanism to use [auto, disabled, import, subprocess]."
|
|
264
|
+
" (default: %default)"
|
|
265
265
|
),
|
|
266
266
|
)
|
|
267
267
|
|
|
@@ -123,6 +123,7 @@ class SessionCommandMixin(CommandContextMixIn):
|
|
|
123
123
|
"https": options.proxy,
|
|
124
124
|
}
|
|
125
125
|
session.trust_env = False
|
|
126
|
+
session.pip_proxy = options.proxy
|
|
126
127
|
|
|
127
128
|
# Determine if we can prompt the user for authentication or not
|
|
128
129
|
session.auth.prompting = not options.no_input
|
|
@@ -63,7 +63,7 @@ def _raw_progress_bar(
|
|
|
63
63
|
size: Optional[int],
|
|
64
64
|
) -> Generator[bytes, None, None]:
|
|
65
65
|
def write_progress(current: int, total: int) -> None:
|
|
66
|
-
sys.stdout.write("Progress
|
|
66
|
+
sys.stdout.write(f"Progress {current} of {total}\n")
|
|
67
67
|
sys.stdout.flush()
|
|
68
68
|
|
|
69
69
|
current = 0
|
|
@@ -8,6 +8,7 @@ from pip._internal.cli.status_codes import ERROR, SUCCESS
|
|
|
8
8
|
from pip._internal.exceptions import CommandError, PipError
|
|
9
9
|
from pip._internal.utils import filesystem
|
|
10
10
|
from pip._internal.utils.logging import getLogger
|
|
11
|
+
from pip._internal.utils.misc import format_size
|
|
11
12
|
|
|
12
13
|
logger = getLogger(__name__)
|
|
13
14
|
|
|
@@ -180,10 +181,12 @@ class CacheCommand(Command):
|
|
|
180
181
|
if not files:
|
|
181
182
|
logger.warning(no_matching_msg)
|
|
182
183
|
|
|
184
|
+
bytes_removed = 0
|
|
183
185
|
for filename in files:
|
|
186
|
+
bytes_removed += os.stat(filename).st_size
|
|
184
187
|
os.unlink(filename)
|
|
185
188
|
logger.verbose("Removed %s", filename)
|
|
186
|
-
logger.info("Files removed: %s", len(files))
|
|
189
|
+
logger.info("Files removed: %s (%s)", len(files), format_size(bytes_removed))
|
|
187
190
|
|
|
188
191
|
def purge_cache(self, options: Values, args: List[Any]) -> None:
|
|
189
192
|
if args:
|