Commit Graph

4225 Commits

Author SHA1 Message Date
Stéphane Bidoul 2cf9db2b5d
Merge pull request #11861 from sbidoul/deprecate-build-global-option-sbi
Deprecate --build-option and --global-option
2023-03-27 17:52:53 +02:00
Stéphane Bidoul 123e8a4c59
Merge pull request #11871 from sbidoul/always-use-pep517-when-wheel-absent-sbi
Always use pep 517 when the 'wheel' package is absent
2023-03-27 16:21:04 +02:00
Stéphane Bidoul b0a2841c0a
Merge pull request #11876 from sbidoul/refactor-per-req-global-hash-options-sbi
Refactor per requirement options
2023-03-27 15:46:53 +02:00
Pradyun Gedam 32d66d2c35
Upgrade resolvelib to 1.0.1 (#11879)
Co-authored-by: Pradyun Gedam <pradyunsg@users.noreply.github.com>
2023-03-27 13:07:50 +01:00
Stéphane Bidoul 82f1ff0adb Fix type of config_settings arguments 2023-03-27 14:01:36 +02:00
Stéphane Bidoul 5ea358122a Use more kwargs for install_req_from_line
For better readability
2023-03-27 14:01:36 +02:00
Stéphane Bidoul efe9d4b762 Remove unused argument 2023-03-27 14:01:36 +02:00
Stéphane Bidoul 1d9d56ede7 Refactor handling of per requirement options
Move the conversion from options to function arguments up the call chain.
2023-03-27 14:01:36 +02:00
Stéphane Bidoul e4d291c5a7 Combine setuptools and wheel detection in one step
It would be annoying if you see an error about setuptools, install it,
and only be greeted by another error telling you to install wheel.
So we combine the two into one.
2023-03-27 13:52:23 +02:00
Stéphane Bidoul 6adb7af0aa Deprecate --build-option and --global-option 2023-03-27 11:56:16 +01:00
Stéphane Bidoul 8a1a8d7915 Always use pep 517 when the 'wheel' package is absent 2023-03-27 11:55:20 +01:00
Juan Luis Cano Rodríguez 973113154b
Present found conflicts when discarding some criterion (#10937) 2023-03-26 14:39:12 +01:00
Stéphane Bidoul 7047330b0b Simplify check_legacy_setup_py_options 2023-03-18 15:26:43 +01:00
Stéphane Bidoul a04748db8e Remove support for the deprecated --install-options 2023-03-18 11:20:51 +01:00
Stéphane Bidoul 9d09b85452
Merge pull request #11860 from sbidoul/rm-no-binary-implies-setuptools-install-sbi
Stop `--no-binary` implying `setup.py install`
2023-03-18 11:16:24 +01:00
Filipe Laíns 1268487cba
Support passing the same key multiple times in --config-settings (#11853) 2023-03-17 21:23:19 +00:00
Tzu-ping Chung 5c3d1fed4a
Merge pull request #11698 from Darsstar/keyring-multi-choice 2023-03-15 18:07:07 +08:00
Hugo van Kemenade 25a056dae6 Replace deprecated BadZipfile with BadZipFile 2023-03-12 18:55:38 +02:00
Stéphane Bidoul 5189a6e0f4 --no-binary does not imply setup.py install anymore 2023-03-12 17:18:53 +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
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
Pradyun Gedam 4f455ae0b0
Drop an unused `type: ignore` comment 2023-02-06 17:45:51 +00:00
Pradyun Gedam 88cccfc142
Handle `backtracking` -> `rejecting_candidate` change
This is a newer method on resolvelib's end for reporting when a
candidate is rejected.
2023-02-06 17:45:51 +00:00
Pradyun Gedam 8dbc2db274
Upgrade resolvelib to 0.9.0 2023-02-06 17:45:51 +00:00
Pradyun Gedam 6245fedc9d
Make resolvelib's provider capable of handling empty iterators
This is _technically_ possible with the API, and accounting for that
enables the resolver to evolve with this information.
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
Phil Elson a2b0eb6838 Document the limitations of the pip install --prefix argument, and cross-reference the --python flag, which can be harder to find due to it being a pip level argument 2023-02-06 09:14:52 +01: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 2d0a5c9cd2
use a attribute to tell if the provider is null 2023-02-03 15:33:55 +08:00
Frost Ming 9058b90021
fix: correct the way to decide if keyring is available 2023-02-03 09:32:53 +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 d21af1c986
Bump for development 2023-01-30 15:13:08 +00:00
Pradyun Gedam 368c7b4c55
Bump for release 2023-01-30 15:13:08 +00:00
Dos Moonen 16bd6b7054 Applied review suggestions 2023-01-30 09:01:03 +01:00
Tzu-ping Chung d325245052 Better subprocess handling 2023-01-30 09:01:02 +01: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 efedf09c49
Merge pull request #11759 from pradyunsg/fix-keyring-auth
Closes https://github.com/pypa/pip/issues/11658
2023-01-29 01:36:20 +00:00
Pradyun Gedam 60a4598440
Merge pull request #11758 from pradyunsg/vendoring-update 2023-01-29 01:36:04 +00:00
Pradyun Gedam 17e20c746e
Correctly handle keyring auth subprocess newlines on Windows
The line endings on Windows are not required to be `\n`.
2023-01-28 22:23:16 +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