Commit Graph

2482 Commits

Author SHA1 Message Date
Stéphane Bidoul 5189a6e0f4 --no-binary does not imply setup.py install anymore 2023-03-12 17:18:53 +01:00
William Edwards e0e54e3255 Add NEWS file 2023-03-05 12:17:57 +01:00
Damian Shaw 4b14e7cd7c
Remove no longer needed setuptools hack (#11837) 2023-03-05 09:05:41 +00:00
Filipe Laíns 30fd549c77
Add -C as a short version of --config-settings (#11786)
Signed-off-by: Filipe Laíns <lains@riseup.net>
2023-02-28 00:33:06 +00:00
Guillaume Seguin c546c99480 Display dependency chain on each Collecting line
This tremendously helps understand why a package is being fetched and
can help investigate and fix dependency resolver backtracking issues
when incoherent constraints/package sets are provided or when new
versions of a package trigger a completely different backtracking
strategy, leading to very hard to debug situations.
2023-02-23 18:12:08 -08:00
Dos Moonen 6affad8032 Merge branch 'main' into keyring-multi-choice
# Conflicts:
#	src/pip/_internal/network/auth.py
2023-02-21 14:02:32 +01:00
Michael Mintz 6ce2afb210 Add the news fragment for SECURITY.md 2023-02-20 11:09:59 -05:00
Pradyun Gedam 031d6ec3f8
Merge pull request #11689 from pradyunsg/update-setuptools 2023-02-20 04:49:50 +00:00
Pradyun Gedam 45e5c418da
Drop news fragments from 23.0.1 2023-02-17 18:17:07 +00:00
Pradyun Gedam 39d28cc8b5
Merge branch 'main' into update-setuptools 2023-02-13 10:10:34 +00:00
Stéphane Bidoul 852deddb9c
Merge pull request #11775 from pelson/doc/prefix-warning
Document the limitations of the pip install --prefix argument
2023-02-11 15:14:30 +01:00
Tzu-ping Chung e399d7d4ed
Doc formatting 2023-02-09 20:21:11 +08:00
Phil Elson f12a2ef2a2 Include a news item for the documentation change 2023-02-09 13:17:07 +01:00
Pradyun Gedam 8dbc2db274
Upgrade resolvelib to 0.9.0 2023-02-06 17:45:51 +00:00
Daniele Nicolodi 7ff4da6e8f
Reconcile computation of isolated build environment paths (#11740)
Use the same code to determine isolated environment paths at
dependency install time and at environment setup time. We do not care
about the exact paths but the paths needs to be consistent at package
installation time and environment setup.

This should fix issues observed on platforms that customize the
installation schemes, such as Debian and Homebrew, where dependency
installation and isolated build environment setup resolved to
different paths.
2023-02-06 11:27:44 +00:00
Stefano Rivera 9abb3c899a
Implement `--break-system-packages` for EXTERNALLY-MANAGED installations (#11780)
The PEP 668 expects an override mechanism to ease the transition.
This provides an override.

---------

Co-authored-by: Pradyun Gedam <pradyunsg@gmail.com>
2023-02-06 07:06:59 +00:00
Oliver Mannion 62fb64ac96
Ignore PIP_REQUIRE_VIRTUALENV for `pip index` (#11671)
Ignore PIP_REQUIRE_VIRTUALENV in `pip index`
2023-02-06 07:05:31 +00:00
Stéphane Bidoul e5c88951a0 Do not crash in presence of misformatted hash field in ``direct_url.json``. 2023-02-05 00:13:32 +01:00
Pradyun Gedam eb7b4ed62e
Update vendored `pkg_resources` 2023-02-04 21:18:10 +00:00
Frost Ming 706456c5cf
add news 2023-02-03 09:39:21 +08:00
Tzu-ping Chung 56e5fa3c0f
Merge pull request #11487 from pelson/feature/base-prefix-config 2023-02-01 01:40:09 +08:00
Pradyun Gedam 2c09e9c760
Merge pull request #11529 from mdmintz/main
Fix grammar of the notice that indicates a new release is available
2023-01-31 01:05:53 +00:00
Pradyun Gedam 368c7b4c55
Bump for release 2023-01-30 15:13:08 +00:00
Pradyun Gedam 60ce5c0943
Fix the kind of news fragment 2023-01-30 15:12:52 +00:00
Dos Moonen 33cd541cc4 Make it possible to request a keyring provider: `auto`, `disabled`, `import` or `subprocess`
Refactored `_get_index_url()` to get integration tests for the subprocess backend working.

Keyring support via the 'subprocess' provider can only retrieve a password, not a username-password combo. The username therefor MUST come from the URL.
If the URL obtained from the index does not contain a username then the username from a matching index is used. `_get_index_url()` does that matching.

The problem this refactoring solves is that the URL where a wheel or sdist can be downloaded from does not always start with the index url. Azure DevOps Artifacts Feeds are an example since it replaces the friendly name of the Feed with the GUID of the Feed. Causing `url.startswith(prefix)` to evaluate as `False`.

The new behaviour is to return the index which matches the netloc and has the longest common prefix of the `path` property of the value returned by `urllib.parse.urlsplit()`. The behaviour for resolving ties is unspecified.
2023-01-30 09:00:59 +01:00
Pradyun Gedam 60a4598440
Merge pull request #11758 from pradyunsg/vendoring-update 2023-01-29 01:36:04 +00:00
Pradyun Gedam 17b73457a1
Upgrade urllib3 to 1.26.14 2023-01-28 22:11:31 +00:00
Pradyun Gedam be20a75c10
Upgrade chardet to 5.1.0 2023-01-28 22:11:31 +00:00
Pradyun Gedam 1c110bede6
Upgrade certifi to 2022.12.7 2023-01-28 22:11:31 +00:00
Pradyun Gedam fb17ee1e91
Upgrade requests to 2.28.2 2023-01-28 22:11:31 +00:00
Pradyun Gedam 85e128b2d9
Upgrade platformdirs to 2.6.2 2023-01-28 22:11:28 +00:00
Pradyun Gedam b5be1da918
Merge pull request #11757 from sbidoul/inspect-and-install-reports-stable-sbi
Declare inspect and install reports formats to be stable
2023-01-28 20:36:28 +00:00
Pradyun Gedam e32ec0a8c3
Merge pull request #11679 from sbidoul/direct_url-hashes-sbi
Allow multiple hashes in direct_url.json
2023-01-28 20:36:01 +00:00
Stéphane Bidoul 46ec9368fb Add news 2023-01-28 14:15:04 +01:00
Stéphane Bidoul 38681f3d66 Allow multiple hashes in direct_url.json
This influences the recorded direct_url.json metadata,
and therefore the pip inspect output,
as well as the pip install --report format.
2023-01-28 13:25:38 +01:00
Роман Донченко 44c1ccaf40 Replace deprecated setup/teardown usage
As explained in
<https://docs.pytest.org/en/stable/deprecations.html#support-for-tests-written-for-nose>,
`setup`/`teardown` are a part of nose compatibility, which is deprecated.
You're supposed to use `setup_method` and `teardown_method` instead.
2023-01-27 22:00:50 +03:00
Tzu-ping Chung 95a58e7ba5
Merge pull request #11663 from uranusjr/pep-668 2023-01-18 11:50:26 +08:00
Daniil Konovalenko 5540331160 add a news entry 2023-01-14 12:27:51 +01:00
Tzu-ping Chung 5eda50d237 Test and news for wheel cache restoration
The fix merged in 3b60e36289 also fixed
the wheel cache; this cherry-picks the test and news from the other pull
request to validate and document the fact.
2023-01-09 10:13:19 +08:00
Tzu-ping Chung a057c9bc99
Merge pull request #11623 from dnicolodi/debian-scheme 2023-01-04 15:22:16 +08:00
Tzu-ping Chung 69cb3f8617 Check EXTERNALLY-MANAGED in install and uninstall
This implements the PEP 668 logic to 'pip install' and 'pip uninstall'.
Are there any other commands that may need it?

This implementation disables the check is any of --prefix, --home, or
--target is provided, since those can indicate the command does not
actually install into the environment. Note that it is still possible
the command is still modifying the environment, but we don't have a
way to stop the user *that* determined to break the environment anyway
(they can always just use those flags in a virtual environment).

Also not sure how best this can be tested.
2023-01-03 07:57:21 +08:00
Pradyun Gedam 90db7b641d
Merge pull request #11654 from pradyunsg/replace-pep517-with-pyproject-hooks 2022-12-30 02:47:41 +00:00
Stéphane Bidoul 668ea3f6f3 Clarify the role of the egg URL fragment 2022-12-28 23:24:53 +01:00
Pradyun Gedam b224c38732
Merge pull request #11675 from sbidoul/fix-vcs-support-docs 2022-12-28 20:14:42 +00:00
Pradyun Gedam fa4b2efbab
Replace `pep517` with `pyproject_hooks`
The `pep517` package has been superseded by a new package.
2022-12-28 20:13:57 +00:00
William Woodruff 64fe2235d8
Merge branch 'main' into ww/restrict-egg-fragement 2022-12-28 10:44:23 -05:00
Pradyun Gedam cecd346697
Merge pull request #11672 from pradyunsg/update-rich
Update `rich` to 12.6.0
2022-12-28 13:47:23 +00:00
Stéphane Bidoul e22003e0e1 Update VCS support documentation
Now that PEP 610 (direct_url.json) is implemented, an editable install
is not required anymore for pip freeze to work correctly.
2022-12-28 12:19:21 +01:00
Daniele Nicolodi da478818c1 Fix isolated environment scripts path on Debian
The scripts path was looked up passing explicitly the scheme to be
used using "nt" on Windows and "posix_prefix" everywhere else.
However, when the isolated build environment is created, packages are
installed using the default scheme for the platform. On most platforms
this works because normally "nt" and "posix_prefix" are the default
schemes.

However, Debian customizes sysconfig to use a "posix_local" scheme by
default and under this scheme the scripts path does not match the one
of the "posix_prefix" scheme. This results in scripts installed as
part of the build dependencies not to be found during the build, as
reported here https://github.com/mesonbuild/meson-python/issues/109
and here https://bugs.debian.org/1019293.

The problem can be solved omitting to specify a scheme when looking up
the scripts path. To future proof the path lookup, use the "venv"
scheme if available as done in #11598. For uniformity use similar
functions as used to lookup the library paths.
2022-12-27 21:04:06 +01:00
Jakub Kuczys 8dbb8b9bbe
Don't check for `wheel` when only `build-system.requires` is present (#11674) 2022-12-27 09:36:28 +00:00
Pradyun Gedam b7ad4ee389
Update `rich` to 12.6.0 2022-12-26 14:59:18 +00:00
Ed Morley dd70d4a3ac
Remove duplicate news entry for #11547
#11547 was backported to pip 22.3.1, so has already been released and already has a news entry:
https://pip.pypa.io/en/latest/news/#v22-3-1

As such, one shouldn't be included for it, for the next pip release:
https://pip.pypa.io/en/latest/news/#not-yet-released-2022-12-19
2022-12-20 12:56:50 +00:00
doron zarhi e59ff2fc8c show: add editable location if package is editable (#11638) 2022-12-18 01:33:57 +02:00
q0w 833c23c1f5 Mention requirements files 2022-12-16 13:00:38 +03:00
q0w 1a93652c8f
Merge branch 'main' into per-req-config-settings 2022-12-15 02:28:02 +03:00
Tzu-ping Chung 6d1f25b222 Skip tests using custom SSL on 3.7 + Linux
This combination does not work well on CI, and since 3.7 support is on
its last days anyway, let's just ignore those tests.
2022-12-13 14:33:56 +08:00
q0w 227fe23b0e Add per-requirement --config-settings 2022-12-05 08:05:26 +03:00
William Woodruff 76cff14723
news: recategorize entry
Signed-off-by: William Woodruff <william@trailofbits.com>
2022-12-03 11:28:11 -08:00
William Woodruff 63097482bb
news: add entry
Signed-off-by: William Woodruff <william@trailofbits.com>
2022-12-02 21:41:12 -08:00
Tzu-ping Chung 8d34a1111d
Merge branch 'main' into feature/base-prefix-config 2022-11-25 09:38:56 +08:00
Pradyun Gedam 17e84a9b9d
Merge pull request #11598 from dnicolodi/homebrew-scheme
Fixes https://github.com/pypa/pip/issues/11539
2022-11-18 14:00:10 +00:00
Rishi ba0e3ac6f4
Update the macos tag in `pip download` docs (#11603) 2022-11-16 21:55:47 +00:00
Daniele Nicolodi 19e802250e Use the "venv" scheme if available to obtain prefixed lib paths
get_prefixed_libs() computes the Python path for libraries in a pip
isolation environment. Python 3.11 introduced the "venv" path scheme
to be used in these cases. Use it if available.

This solves a bug on Homebrew's Python 3.10 and later where the
default paths scheme when Python is invoked outside a virtual
environment is "osx_framework_library" and does not relative to the
"{base}" or "{platbase}" variables.

Fixes #11539.
2022-11-16 22:40:52 +01:00
Miro Hrončok f7589d6ec0 Don't maintain 2 copies of change_root
The change_root function was added twice:

In ae324d1703
and in 36a9b36523
2022-11-16 13:28:17 +01:00
Tzu-ping Chung 4a87ab04c8
Merge branch 'main' into feature/base-prefix-config 2022-11-16 12:50:52 +08:00
Paul Moore bbe83b044a Upgrade platformdirs to 2.5.3 2022-11-12 11:23:34 +00:00
Paul Moore 6bc9ae84c6 Upgrade distro to 1.8.0 2022-11-12 11:23:34 +00:00
Paul Moore 8cda1c34eb Upgrade colorama to 0.4.6 2022-11-12 11:23:34 +00:00
Oliver Freund 4604106ee9
Merge branch 'main' into 10265-updated-documentation-install-options 2022-11-10 21:07:18 -06:00
Tzu-ping Chung 3a1b9da2c9
Merge branch 'main' into main 2022-11-10 17:48:48 +08:00
Judah Rand edc588c48f
Add news 2022-11-09 19:40:59 +00:00
Paul Moore ce3fef7d98 Delete news fragments from release 22.3.1 2022-11-05 15:41:33 +00:00
Tzu-ping Chung 30b4cff198
Fix typos
Co-authored-by: Ed Morley <501702+edmorley@users.noreply.github.com>
2022-11-03 15:20:47 +08:00
Oliver Freund bfaebd96b9 changed the description of --install_options, since the option is now deprecated 2022-10-28 23:37:56 -05:00
Tzu-ping Chung 2c195f9c2c Fix multi-digit version in entry point replacement
Previously, the special case to generate 'pip' and 'easy_install' entry
points with the correct Python version (e.g. 'pip3.9' on Python 3.9)
only accounted for single-digit version segments, and did not work
correctly on Python 3.10 and up. This was missed when Python 3.10 was
released because we (accidentally) generated wheels that did not need
any such replacements, but was exposed in CPython 3.11.0 since it
bundled pip 22.3 generated against Python 3.10.
2022-10-28 01:51:36 +08:00
Tzu-ping Chung 1e236f4c84 Ignore failing git submodule test for now
Git 2.38.1 patched CVE-2022-39253 by disaling automated fetch against a
file: repository. This breaks git submodule, which is used by a pip
test. Information on how projects relying on automated fetch should
configure git correctly after this change is lacking, so the test is
disabled for now until someone can come up with a better solution.
2022-10-28 00:16:33 +08:00
Felipe Peter fdc262f069 Fix error message and improve help text 2022-10-19 14:47:27 +08:00
Michael Mintz 22d401bfb7 Update the news fragment for the grammar fix 2022-10-19 00:07:31 -04:00
Michael Mintz 0e48cae74e
Add a news fragment for the grammar fix 2022-10-19 00:02:05 -04:00
Miro Hrončok fe7948a4a2 Avoid distutils imports in tests
The tests still don't run without distutils
because they require virtualenv < 20 (and virtualenv 16 uses distutils),
but at least they don't import distutils directly now.

Fixes https://github.com/pypa/pip/issues/11521
2022-10-17 19:33:03 +02:00
Paul Moore 0a76da3a94 Bump for release 2022-10-15 11:59:14 +01:00
Pradyun Gedam e86f27fe4e
Merge pull request #11493 from pradyunsg/remove-2020-resolver-opt-in 2022-10-15 11:52:39 +01:00
Paul Moore 1fcc3ce4b5
Merge pull request #11514 from pradyunsg/certifi-update
Update certifi and replace complex certifi patch with a more targetted requests patch
2022-10-15 11:17:53 +01:00
Pradyun Gedam 1b7e5ef34f
Upgrade certifi to 2022.9.24 2022-10-14 11:01:21 +01:00
Pradyun Gedam 4ab07c7e19
Upgrade typing_extensions to 4.4.0 2022-10-11 00:13:45 +01:00
Pradyun Gedam 99eab68bf9
Upgrade pygments to 2.13.0 2022-10-11 00:13:43 +01:00
Pradyun Gedam 2e7f88e71d
Upgrade urllib3 to 1.26.12 2022-10-11 00:13:17 +01:00
Paul Moore 07c86c7947 Upgrade tenacity to 8.1.0 2022-10-10 13:47:44 +01:00
Paul Moore b922e0f660 Upgrade idna to 3.4 2022-10-10 12:22:56 +01:00
Paul Moore 77a0a61722 Upgrade pep517 to 0.13.0 2022-10-10 12:22:56 +01:00
Paul Moore c423e42909 Upgrade distlib to 0.3.6 2022-10-10 12:22:56 +01:00
Jelmer Vernooij d37034ccf4
bazaar: Use lightweight checkouts rather than a full branch clone (#11264) 2022-10-07 19:16:33 +01:00
Pradyun Gedam 7662593941
📰 2022-10-07 11:59:08 +01:00
Paul Moore fe78726b36
Merge pull request #11492 from ret2libc/raise-file-parse-error-no-valueerr
Raise RequirementsFileParseError when missing closing quotation
2022-10-06 14:31:16 +01:00
Riccardo Schirone 3ca52dc55c Raise RequirementsFileParseError when missing closing quotation
shlex.split, used to split options in requirements.txt files, might
raise a ValueError when the input string is not well formed. Catch the
ValueError and re-raise it as a RequirementsFileParseError instead.
2022-10-06 14:36:46 +02:00
Pradyun Gedam 7311c82476
Merge pull request #11359 from sbidoul/deprecate-install-options
Deprecate --install-options
2022-10-06 10:06:48 +01:00
Phil Elson b777bcda81 Add the "base" config level concept, to allow configuration of all virtual environments sharing the same base.
The new functionality serves a use case which was not previously possible with pip configuration files, namely the situation where you have a base Python installation and want to influence the pip configuration for all derivative virtual environments *without* changing the config for all other environments on a machine (global), or for all other environment run by the same user (user). Concretely, this could be used for a centrally managed network mounted filesystem based Python installation, from which multiple users can build virtual environments and inside which a specific pip configuration is needed (e.g. an index URL).
2022-10-06 09:33:38 +02:00
Felipe Peter e6e7c12b6d
Disallow freeze format with pip list --outdated (#11482)
Co-authored-by: Tzu-ping Chung <uranusjr@gmail.com>
2022-10-04 10:11:46 +01:00
Tzu-ping Chung 2c89928bfc
Merge pull request #11422 from SCH227/patch-1 2022-10-04 15:18:43 +08:00
Claudio Jolowicz 74dfed55c4
Mark as trivial 2022-10-03 12:00:14 +02:00
Pradyun Gedam a5f4a9f898
Rename 11418.bugfix.rst to 11418.trivial.rst 2022-09-30 15:43:20 +01:00
Sviatoslav Sydorenko a0fac9829c
Introduce a `check` CI job for branch protection (#11434)
This patch adds a special check-job that produces a clear failure or
success status based on how the dependent jobs are doing. It is
possible to use it in GitHub's branch protection instead of having to
manually add and remove individual job names via the repo settings.

https://github.com/marketplace/actions/alls-green#why
2022-09-29 00:44:25 +01:00
Tzu-ping Chung 0a21080411
Merge pull request #11466 from minrk/build_env_isolation 2022-09-26 11:00:21 +08:00
Stéphane Bidoul a5621a8a81
Deprecate --install-option 2022-09-25 11:21:35 +02:00
Stéphane Bidoul b44a454535
Merge pull request #11452 from sbidoul/deprecate-no-binary-imply-pip-install
Deprecate --no-binary implying setup.py install
2022-09-25 11:06:25 +02:00
Stéphane Bidoul fc355d95be
Merge pull request #11454 from sbidoul/deprecate-no-binary-disable-wheel-cache
Deprecate --no-binary disabling the wheel cache
2022-09-25 11:05:42 +02:00
Min RK 24773bc4f5
Fix build isolation on system Pythons
use site.getsitepackages() where available
instead of just purelib/platlib,
which is often insufficient on e.g. System Pythons for Debian/macOS

handle virtualenv < 20 overwriting site.py without getsitepackages() by preserving current behavior.
2022-09-23 14:47:41 +02:00
Jaime Sanz 7979dc0029
Fix typo in dependency-resolution.md (#11465)
Removes a duplicated word.
2022-09-23 01:07:42 +01:00
Paul Moore 860f9bf57c Add a news file 2022-09-18 11:17:32 +01:00
Stéphane Bidoul f39d38668a
Deprecate --no-binary implying setup.py install 2022-09-17 15:37:04 +02:00
Stéphane Bidoul 08eb492641
Deprecate --no-binary disabling the wheel cache 2022-09-17 15:32:46 +02:00
Danny McClanahan bad03ef931
Use data-dist-info-metadata (PEP 658) to decouple resolution from downloading (#11111)
Co-authored-by: Tzu-ping Chung <uranusjr@gmail.com>
2022-09-10 11:28:57 +01:00
Tzu-ping Chung 0930237775
Merge pull request #11318 from q0w/check-binary-exe 2022-08-31 18:25:46 +08:00
Tzu-ping Chung bfbe919fd2
Merge pull request #11277 from vanschelven/respect-no-index-from-requirements-file 2022-08-30 15:47:51 +08:00
M00nL1ght 321018fb93
Create 11418.bugfix.rst 2022-08-30 06:04:32 +03:00
Tzu-ping Chung bd5416151d
Merge pull request #11254 from kasium/issue-11235 2022-08-15 17:05:45 +08:00
Kai Mueller 1413fae8eb Add news 2022-08-14 19:26:08 +00:00
hauntsaninja c0b86d338a no news today 2022-08-12 18:51:47 -07:00
Stéphane Bidoul 7aa49dda69
Merge pull request #11357 from sbidoul/mention-quiet-in-report-option-help
Mention --quiet in --report option help
2022-08-10 18:44:25 +02:00
Stéphane Bidoul ee7bcae0d9
Merge pull request #11331 from sbidoul/8559-take-2-sbi
Deprecate setup.py install fallback when wheel package is absent
2022-08-10 18:43:25 +02:00
Tzu-ping Chung dc8f3a8b7f
Merge pull request #11353 from uranusjr/importlib-metadata-ignore-bad-name 2022-08-10 16:43:29 +08:00
Stéphane Bidoul 77da6ae52c
Mention --quiet in --report option help 2022-08-07 11:47:22 +02:00
Stéphane Bidoul ae802e3e66
Deprecate setup.py install fallback when wheel package is absent 2022-08-06 19:33:30 +02:00
Paul Moore 9473e83aa6
Merge pull request #11320 from pfmoore/python_option
Add a --python option
2022-08-06 15:24:23 +01:00
Tzu-ping Chung 6817fbfb1f Skip dist if metadata does not have a valid name 2022-08-06 06:18:59 +08:00
Stéphane Bidoul 2009007caf
Remove 22.2.2 news files 2022-08-03 20:44:11 +02:00
Stéphane Bidoul 82c23d9198
Merge pull request #11333 from sbidoul/revert-11229-sbi
Revert "PipDeprecationWarning subclass DeprecationWarning"
2022-08-01 16:20:16 +02:00
q0w 6354192e2e Fix news 2022-08-01 14:28:59 +03:00
Paul Moore 0d6fadac6c Merge branch 'main' into python_option 2022-08-01 09:43:55 +01:00
Paul Moore f47a2048ff
Merge pull request #11250 from pfmoore/test_zipapp
Add a --use-zipapp option to the test suite
2022-08-01 09:14:00 +01:00
Stéphane Bidoul d5317f2778
Revert "PipDeprecationWarning subclass DeprecationWarning"
This reverts commit f1bc96a4a3.
2022-07-31 17:34:39 +02:00
Paul Moore b1eb91204e Added documentation 2022-07-30 16:12:42 +01:00
Stéphane Bidoul 56dcb7f3af
Merge pull request #11324 from sbidoul/better-11103
Import distutils only if needed, but sooner
2022-07-30 11:02:30 +02:00
Stéphane Bidoul db47515958
Import distutils only if needed, but sooner 2022-07-30 10:28:09 +02:00
Tzu-ping Chung 74f850db94
Merge pull request #11315 from bdrosen96/brett/fix_pip_attribute 2022-07-30 09:52:30 +08:00
Brett Rosen 50eb337a0f Ensure that removing shim in older setuptools does not error 2022-07-29 16:53:32 -04:00
Pradyun Gedam 89983e9ad9 Use `shell=True` for opening the editor with `pip config edit`
This makes the behavior compatible with git and other tools that invoke
the editor in this manner.
2022-07-29 14:53:23 +01:00
Paul Moore 95cf55bf18 Add a news file 2022-07-28 14:35:27 +01:00
q0w 0f8243ff5e Add news 2022-07-28 14:23:38 +03:00
Paul Moore 662f940c96 Merge branch 'main' into test_zipapp 2022-07-28 10:51:04 +01:00
Stéphane Bidoul 61bdbe0d66
Bump for release 2022-07-27 19:18:11 +02:00
Pradyun Gedam fcb0c84116
Merge pull request #11298 from pradyunsg/remove-distutils-shim 2022-07-27 00:14:06 +01:00
Pradyun Gedam a14f1412ce
📰 2022-07-26 19:39:41 +01:00
Klaas van Schelven f2c49cdbad Add news article 2022-07-25 14:47:10 +02:00
q0w 52af2ea5b8 Send the pip upgrade prompt to stderr 2022-07-22 05:04:09 +03:00
Stéphane Bidoul 8e7e76e60f
Bump for release 2022-07-21 10:28:01 +02:00
Klaas van Schelven 58c05735ea Add news entry 2022-07-20 16:01:07 +02:00
Tzu-ping Chung b1a01ef762
Merge pull request #11265 from finnagin/main 2022-07-19 15:53:00 +08:00
Stéphane Bidoul a7a35dc20d
Merge pull request #11245 from sbidoul/pip-inspect-sbi
Add pip inspect command
2022-07-18 08:10:07 +02:00
Stéphane Bidoul 73667ebe3a
Upgrade certifi to 2022.6.15 2022-07-17 01:05:58 +02:00
Stéphane Bidoul c5afcf47cb
Upgrade chardet to 5.0.0 2022-07-17 01:05:13 +02:00
Stéphane Bidoul 6c3853a325
Upgrade requests to 2.28.1 2022-07-17 01:04:56 +02:00
Stéphane Bidoul 51bb14be87
Upgrade typing_extensions to 4.3.0 2022-07-16 20:24:30 +02:00
Stéphane Bidoul 69e60a5b93
Upgrade pygments to 2.12.0 2022-07-16 20:24:30 +02:00
Stéphane Bidoul 373fca928e
Upgrade rich to 12.5.1 2022-07-16 20:24:30 +02:00
Stéphane Bidoul 73290afb56
Upgrade urllib3 to 1.26.10 2022-07-16 20:24:30 +02:00
Stéphane Bidoul b3dc8435ba
Upgrade pyparsing to 3.0.9 2022-07-16 20:24:30 +02:00
Stéphane Bidoul f341a3b9ac
Upgrade msgpack to 1.0.4 2022-07-16 20:24:29 +02:00
Stéphane Bidoul fd0ea6bc5e
Upgrade distlib to 0.3.5 2022-07-16 20:24:29 +02:00
Stéphane Bidoul 0d3f03caba
Upgrade colorama to 0.4.5 2022-07-16 20:24:29 +02:00
Stéphane Bidoul d3a318fe59
Remove vendored html5lib. 2022-07-16 19:37:11 +02:00
Stéphane Bidoul bb2a3d7410
Remove the html5lib deprecated feature flag. 2022-07-16 19:37:11 +02:00
finnagin 441cf1d521 add trivial news file 2022-07-15 14:34:57 -07:00
Donald Stufft cdc2582ac9 Add a news entry 2022-07-15 17:22:46 -04:00
Stéphane Bidoul 585136494e
Add pip inspect command 2022-07-15 14:08:38 +02:00
Stéphane Bidoul d830c96403
Merge pull request #10771 from sbidoul/install-report-sbi
Installation/resolution report (aka pip install --dry-run --report)
2022-07-15 12:29:06 +02:00
Pradyun Gedam e975318b63
Merge pull request #11257 from pradyunsg/speedup-environment-creation 2022-07-15 11:09:17 +01:00
Pradyun Gedam d36bd5a96e
Speed up build environment creation
Instead of creating a zip file from the current pip's sources, add the
current copy of pip, to the build environment's interpreter's import
system using `sys.meta_path`. This avoids the overhead of creating the
zipfile, allows us to use the current pip's sources as-is,
meaningfully reduces the size of the build environment and
speeds up the creation of the build environment.
2022-07-15 10:07:28 +01:00
Tzu-ping Chung 534262d1d6
Merge pull request #11241 from pradyunsg/drop-backtrack-on-build-failures 2022-07-15 16:34:10 +08:00
Pradyun Gedam 8bebea801d
Remove `--use-deprecated=backtrack-on-build-failures`
This flag is due for removal, in pip 22.2.
2022-07-15 08:27:23 +01:00
Ed Morley 678bfe2027
Fix typo in news entry for #11225
Spotted when looking at:
https://pip.pypa.io/en/latest/news/#not-yet-released-2022-07-15
2022-07-15 07:53:01 +01:00
Stéphane Bidoul 1fbfdc4423
install report: add version field
Also, affirm the experimental status of the feature.
2022-07-12 18:51:36 +02:00
Paul Moore f7240d8691 Add a news file 2022-07-12 10:37:33 +01:00
Paul Moore 080cd2f8e3 Add a news file 2022-07-11 16:38:37 +01:00
Stéphane Bidoul 99818e1e9a
Merge pull request #10692 from t20100/fix-install-pre
Fix `pip install --pre` for packages with dependencies defined in `pyproject.toml` and `setup.py`
2022-07-10 13:17:57 +02:00
Stéphane Bidoul e37178775b
Add --report option to pip install 2022-07-05 10:05:57 +02:00
Tzu-ping Chung f1bc96a4a3 PipDeprecationWarning subclass DeprecationWarning
This makes it easier for users to use Python's -W flag to suppress
deprecation warnings emitted by pip.
2022-07-04 14:11:06 +08:00
Tzu-ping Chung 6eaa8e9135 Don't consider dist-info in a wheel as "installed"
This applies to the new importlib.metadata backend. The legacy
pkg_resources backend already does this (albeit accidentally).

A package inside a wheel is not guaranteed to "work" when directly
imported, so we should not treat it as an installed distribution.
2022-06-30 21:49:39 +08:00
Pradyun Gedam 9fb1f5b104
Merge pull request #11128 from huguesb/speedup-slow-support-index-min 2022-06-26 14:13:30 +01:00
Stéphane Bidoul 340054a6bd
Merge pull request #11052 from SpecLad/fix-script-record-hash
Update the RECORD entry when rewriting the shebang line in a script
2022-06-26 12:20:13 +02:00
Stéphane Bidoul 65680b4bb1
Merge pull request #11096 from sbidoul/install-dry-run-sbi
Add --dry-run option to pip install
2022-06-26 11:41:48 +02:00
Роман Донченко e4cd6da6e5 Update the RECORD entry when rewriting the shebang line in a script
The code to do this already exists in `get_csv_rows_for_installed`, but it's
broken due to inconsistent usage of the `_fs_to_record_path` function. When
we build the dictionary of installed files, we call it with a base
directory, while when build the set of modified files, we call it without a
base directory. As a result, the values of `installed` do not match the
elements of `changed`, and `get_csv_rows_for_installed` fails to identify
the rows that should be updated.

Fix this by ensuring that `_fs_to_record_path` is always called with a base
directory. `_record_to_fs_path` also needs a a base directory parameter to
be able to transform the path back into an absolute path, so add one.
2022-06-25 01:27:08 +03:00
Stéphane Bidoul 25dd00571a
Merge pull request #11022 from SpecLad/download-propagate-pep517
pip download: make sure that --use-pep517 is propagated to the dependencies
2022-06-24 19:42:58 +02:00
Stéphane Bidoul 3726f71720
Add a --dry-run option to pip install 2022-06-23 19:33:18 +02:00
q0w c8c88ce520 Adapt tests 2022-06-23 19:20:18 +03:00
q0w 3662f5e0df Disallow use of script fixture in unit tests 2022-06-23 17:42:50 +03:00
Роман Донченко 698784796b pip download: make sure that --use-pep517 is propagated to the dependencies 2022-06-15 18:10:22 +03:00
Pradyun Gedam 4132d87ea9 📰 2022-06-10 11:35:21 +01:00
Stéphane Bidoul e58a8a591b
Merge pull request #11137 from sbidoul/download-info-sbi
Add download_info: DirectUrl to InstallRequirement
2022-06-01 08:21:12 +02:00
Pradyun Gedam 5620f91907
Delete news fragments that were already handled 2022-05-31 16:37:13 +05:30
Pradyun Gedam 7be9b426ac
Merge pull request #11136 from pradyunsg/fix-upgrade-prompt 2022-05-31 16:30:30 +05:30
Tzu-ping Chung b91dbde21f
Merge pull request #11082 from uranusjr/truststore 2022-05-30 02:32:49 -04:00
Pradyun Gedam 90096394c3
Merge pull request #11134 from q0w/revert-10998-handle-netrc
Revert "Prioritize url credentials over netrc"
2022-05-25 12:38:57 +05:30
Jeremy Stanley 7a42bce594
Replace `cgi` module with `email.message` (#11098) 2022-05-24 17:06:56 +05:30
Pradyun Gedam 4cf6b1796d
📰 2022-05-23 20:06:24 +05:30
Stéphane Bidoul e7449498d3
Record origin url in wheel cache 2022-05-22 22:46:35 +02:00
q0w f8df9468dc 📰 2022-05-21 18:41:08 +03:00
Pradyun Gedam ca2d9f4193
Bump for release 2022-05-20 14:04:02 +05:30
Hugues Bruant 1d19c2712a speedup Wheel.support_index_min
Given an input tag list of size `n` and wheel file tags of size `m` this
method is currently `O(n*m)` because it iterates over the set of file tags
then for each file tag it iterates over the input tags.

We can do much better and get `O(m)` time complexity by iterating the input
tags instead, and doing a cheap `O(1)` membership test among the set of file
tags. As a side benefit, this also allows early-termination of the loop.

The impact of this seemingly trivial change is surprisingly big: for a run
of `pip-compile` on macOS, which calls this method many times with large
inputs this changes gives a ~50% speedup on end-to-end `pip-compile` time,
from ~8s down to ~4s!
2022-05-19 17:37:07 -07:00
Pradyun Gedam f20ab575b9
Merge pull request #11124 from uranusjr/use-contain-for-checking
Allow pre-release to satisfy build requirements
2022-05-16 15:05:40 +01:00
Tzu-ping Chung f7c05a5124 Allow pre-release to satisfy build requirements 2022-05-16 07:40:00 -04:00
Pradyun Gedam 30af8074bf
Merge pull request #11117 from q0w/opt-check
Opt to check build dependencies
2022-05-14 21:55:18 +01:00
q0w 3166157e40 Opt to check build dependencies 2022-05-13 03:05:55 +03:00
Pradyun Gedam bf090d37d1
📰 2022-05-12 21:22:21 +01:00
Pradyun Gedam 3c953322c6
Bump for release 2022-05-11 20:03:44 +01:00
Tzu-ping Chung c86f9f1259
Merge pull request #11044 from uranusjr/importlib-metadata-backend-in-3.11 2022-05-10 12:34:13 -06:00
Tzu-ping Chung bd9bcef8b3 Enable importlib.metadata backend on Python 3.11 2022-05-10 13:34:43 -04:00
Pradyun Gedam cb24fb4052
Merge pull request #11085 from pypa/revert-10962-fix-hashes 2022-05-09 08:38:51 +01:00
Pradyun Gedam 6ad9a21a43
📰 2022-05-06 18:16:41 +01:00
Pradyun Gedam cf3696a81b
Merge pull request #11080 from sbidoul/requested-with-constraints
Fix REQUESTED in presence of URL constraints
2022-05-06 18:15:35 +01:00
Pradyun Gedam bab5bfce50
Merge pull request #11073 from wimglenn/issue-9330
``pip config`` normalizes names, converting underscores into dashes
2022-05-04 08:39:33 +01:00
Tzu-ping Chung ae1c2e35e4
Grammar fix in changelog 2022-05-04 07:33:06 +08:00
Tzu-ping Chung f4962cce70 Optional truststore support
This adds a --use-feature=truststore flag that, when specified on Python
3.10+ with truststore installed, switches pip to use truststore to
provide HTTPS certificate validation, instead of certifi. This allows
pip to verify certificates against custom certificates in the system
store.

truststore is deliberately NOT vendored because it is expected the
library to be under active development in the short term, and this
prevents users having to wait for a pip release to get potentially vital
bug fixes needed to be made in truststore.

Supplying the use-feature flag without installing truststore beforehand,
or on Python versions prior to 3.10, results in a command error.
2022-05-03 11:04:05 -06:00
Pradyun Gedam d0b83d1c93
Update NEWS for 21.1b1 2022-05-03 11:57:43 +01:00
Stéphane Bidoul 52fd6436a2
Fix propagation of user_supplied with URL constrains 2022-05-01 19:43:25 +02:00
wim glenn af20d93d71 placate pre-commit 2022-04-29 22:38:38 -05:00
wim glenn 4b35763d5f ``pip config`` normalizes names, converting underscores into dashes. closes #9330 2022-04-29 22:38:38 -05:00
Paul Moore cdeb8f9e63
Merge pull request #11059 from pfmoore/config_settings
Add a UI to set config settings for PEP 517 backends
2022-04-29 12:58:32 +01:00
wim glenn 6313d866e5
Improve ``pip config --help`` text (#11074) 2022-04-29 10:32:52 +01:00
Pradyun Gedam 7164b1af50
Merge pull request #10827 from q0w/project-urls
Include Project-URLs in `pip show -v` output
2022-04-23 21:39:51 +01:00
Pradyun Gedam 24ffdaa494
Merge pull request #11063 from pradyunsg/vendoring-update 2022-04-23 21:38:52 +01:00
Tomáš Hrnčiar 452d7da880
Fallback to pyproject.toml-based builds if setuptools cannot be imported (#10717)
This fallback is only triggered if the project has a `setup.py` file.

Co-authored-by: Tzu-ping Chung <uranusjr@gmail.com>
Co-authored-by: Pradyun Gedam <pradyunsg@gmail.com>
2022-04-23 15:56:59 +01:00
Pradyun Gedam f0721906fc Upgrade tomli to 2.0.1 2022-04-22 15:50:29 +01:00
Pradyun Gedam caa6aebee2 Upgrade typing_extensions to 4.2.0 2022-04-22 15:50:29 +01:00
Pradyun Gedam 377d642384 Upgrade rich to 12.2.0 2022-04-22 15:50:29 +01:00
Pradyun Gedam dfcac4add2 Upgrade platformdirs to 2.5.2 2022-04-22 15:50:29 +01:00
Pradyun Gedam 44175c7754 Upgrade distro to 1.7.0 2022-04-22 15:50:27 +01:00
Pradyun Gedam e747a22b57 Upgrade CacheControl to 0.12.11 2022-04-22 15:38:00 +01:00
Paul Moore 6e14d0ca78 Add a news file 2022-04-21 18:38:57 +01:00
Anthony Sottile 994bd91c3e upgrade pyparsing to improve startup time 2022-04-17 08:28:48 -07:00
Tzu-ping Chung 8133d83929
Merge pull request #11030 from uranusjr/build-env-req-check-evaluate-marker 2022-04-16 19:46:23 +08:00
Tzu-ping Chung 233db7c31b Skip conditional build req without matching marker 2022-04-16 16:02:15 +08:00
Pradyun Gedam c6e274e7fd
Merge pull request #10709 from uranusjr/metadata-importlib-backend 2022-04-15 12:49:32 +01:00
Frost Ming 6a1ed5c0f4
Add completion script for powershell (#9025) 2022-04-15 09:32:42 +01:00
Tzu-ping Chung 2e1112a814
Make the root warning silence flag multi-state (#11035)
Instead of a flag, make the option take an argument like this:

    --root-user-action=ignore

This allows us to add more alternatives in the future, for example to
emit a hard error when a root user is detected.

Also re-label the news fragment to point to the issue instead of the PR
that introduced the option.
2022-04-14 18:10:19 +01:00
Tzu-ping Chung f13fa41bb3 News 2022-04-12 03:26:11 +08:00
q0w 3820b0e52c
Replace Iterator[T] with Generator[T,None, None] (#11007)
Co-authored-by: Tzu-ping Chung <uranusjr@gmail.com>
2022-04-09 16:11:58 +01:00
Pradyun Gedam e679df4051
Merge pull request #11001 from pradyunsg/remove-out-of-tree
Drop out-of-tree/in-tree build transition flags
2022-04-09 16:02:40 +01:00
Pradyun Gedam eacc739320
Merge pull request #10998 from q0w/handle-netrc 2022-04-08 13:09:36 +01:00
Pradyun Gedam 428e886ad6
Drop out-of-tree/in-tree build transition flags
These were intended to help users transition when the default behaviour
changed to no longer perform out-of-tree builds. The transition is now
considered complete.
2022-04-08 12:20:36 +01:00
Pradyun Gedam 7a4c3ba03a
Merge pull request #11014 from pradyunsg/remove-alternative-progress-bars
Co-authored-by: Pradyun Gedam <pradyunsg@users.noreply.github.com>
2022-04-08 11:47:34 +01:00
q0w 7fef1adb52 Make kw-only args 2022-04-07 11:07:50 +03:00
Pradyun Gedam 2c8e78cb9c
Remove `progress` from vendored dependencies 2022-04-07 09:05:30 +01:00
Tzu-ping Chung 0ac0f84614
Merge pull request #10990 from potiuk/fix-root-warning 2022-04-07 16:00:39 +08:00
Russell Keith-Magee d1f3c73697
Normalise paths when comparing egg-link from network drive (#11011)
Co-authored-by: Niko Pasanen <niko@pasanen.me>
2022-04-07 08:50:03 +01:00
Tzu-ping Chung 182bac15f5
Merge pull request #10774 from gavindsouza/patch-1 2022-04-07 15:42:51 +08:00
Henrich Hartzer 2cfe36dc9e Update pre-commit hooks
Co-Authored-By: q0w <43147888+q0w@users.noreply.github.com>
2022-04-04 16:02:02 +03:00
q0w 8f696ee3ec Update black 2022-04-04 15:22:51 +03:00
q0w ee67cf714b Prioritize url credentials over netrc 2022-03-29 20:27:24 +03:00
q0w e688984d60
Update news/10950.bugfix.rst
Co-authored-by: Tzu-ping Chung <uranusjr@gmail.com>
2022-03-28 12:55:16 +03:00