Commit Graph

158 Commits

Author SHA1 Message Date
Mido 64fe1813f2 nox formatting 2023-08-26 20:54:45 -04:00
Mido 02af1cc227 syntax error correction 2023-08-26 20:14:19 -04:00
Mido 0e964e3eac syntax error correction 2023-08-26 20:13:28 -04:00
Mido 306343a7e9
Apply suggestions from code review
fail fast simplifications, legibility, some performance improvement

Co-authored-by: Christian Clauss <cclauss@me.com>
2023-08-26 20:04:42 -04:00
Mido Abu-Akeel 1b626cafbd ruff ordering of imports 2023-08-26 10:52:47 -04:00
Mido Abu-Akeel f4d76df2a9 nox formatting adjustments 2023-08-26 10:44:03 -04:00
Mido Abu-Akeel 3cecf26138 adding List type hint 2023-08-26 01:03:35 -04:00
Mido Abu-Akeel 35e5ff7027 making platform check console prints and adding check to install command 2023-08-26 00:27:19 -04:00
Mido Abu-Akeel 1bf164acf3 nox format fixes 2023-08-24 22:41:34 -04:00
Mido Abu-Akeel f36daa6dcc adding suggestions to invalid platform input warning 2023-08-24 21:21:49 -04:00
Mido Abu-Akeel 938b53734f adding validation for platforms options 2023-08-22 22:51:11 -04:00
Mido Abu-Akeel 8528792ba9 removing validation to incorporate in separate branch 2023-08-22 22:39:53 -04:00
Mido Abu-Akeel aad3bb8bd1 fixed re fullmatch method call 2023-08-22 21:25:42 -04:00
Mido Abu-Akeel f9fe710b47 raw re strings 2023-08-22 21:24:49 -04:00
Mido Abu-Akeel c5e42e6fcf formatting adjustments 2023-08-22 21:19:35 -04:00
Mido Abu-Akeel b5073e8b6d adding function return types 2023-08-22 21:16:40 -04:00
Mido Abu-Akeel fee41cf496 adjusting text formatting 2023-08-22 21:15:05 -04:00
Mido Abu-Akeel efba1c4665 adding platform option validation and extending platform help text 2023-08-22 21:01:27 -04:00
Dos Moonen 9605b97b48 Correct default from `disabled` to `auto`. See #11939. 2023-04-10 11:13:31 +02:00
Stéphane Bidoul 2617ccd8a3 Centralize warning about always enabled features 2023-03-29 08:41:09 +02:00
Stéphane Bidoul 8f0201f67a Remove no-binary disabling the cache of locally built wheels 2023-03-29 08:41:09 +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 8a1a8d7915 Always use pep 517 when the 'wheel' package is absent 2023-03-27 11:55:20 +01:00
Stéphane Bidoul a04748db8e Remove support for the deprecated --install-options 2023-03-18 11:20:51 +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
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
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
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
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
Oliver Freund 1304e3e8d4 Fixed lint errors (line too long) 2022-10-29 17:21:51 -05:00
Oliver Freund bfaebd96b9 changed the description of --install_options, since the option is now deprecated 2022-10-28 23:37:56 -05:00
Pradyun Gedam 6421ab59d5
Remove the opt-in for `2020-resolver`
This has been the default for quite some time now.
2022-10-07 11:57:02 +01:00
Stéphane Bidoul a5621a8a81
Deprecate --install-option 2022-09-25 11:21:35 +02:00
Stéphane Bidoul 08eb492641
Deprecate --no-binary disabling the wheel cache 2022-09-17 15:32:46 +02:00
Paul Moore 79cd5998aa Add a --python option 2022-07-28 12:10:50 +01:00
Stéphane Bidoul bb2a3d7410
Remove the html5lib deprecated feature flag. 2022-07-16 19:37:11 +02: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
Tzu-ping Chung b91dbde21f
Merge pull request #11082 from uranusjr/truststore 2022-05-30 02:32:49 -04:00
q0w 3166157e40 Opt to check build dependencies 2022-05-13 03:05:55 +03: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
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
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
Paul Moore 962b0738fd Add documentation 2022-04-22 10:42:16 +01:00
Paul Moore 01690b8423 Add new --config-settings option to install and wheel commands 2022-04-21 18:30:48 +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
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
Pradyun Gedam 728e4fe7c4
Drop alternative progress bar styles
These were deprecated in a previous release, and added complexity
despite being rarely used.
2022-04-07 09:05:00 +01:00
Jarek Potiuk 62b2264d72 Allow to disable warning for root user package management
Implements the flag that allows to disable the root
warning when using `pip` to install packages. While there are
differing opinions on this, it seems that the final decision is
to lean forward to implement a long and not very easily
discoverable flag to accommodate the minority of users who know
what they are doing and using root installation to - for example
build optimized Dockerfiles.
2022-03-27 09:53:07 +02:00