Commit Graph

12921 Commits

Author SHA1 Message Date
Pradyun Gedam 7acfc83822
Merge pull request #11041 from asottile/upgrade-pyparsing
Upgrade pyparsing to improve startup time
2022-04-17 17:34:08 +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
Edgar Ramírez e4376ed128
docs: Add section on PEP 508 support for build system requirements (#10735) 2022-04-13 00:25:43 +01:00
Martin Fischer c394bf6c0d
Fix RST admonition & add missing inline code formatting (#10747) 2022-04-12 21:02:41 +01:00
Tzu-ping Chung ee81f71d7c Make version hack more reliable 2022-04-12 03:33:19 +08:00
Tzu-ping Chung f9e554c999 Fix outdated comments 2022-04-12 03:33:19 +08:00
Tzu-ping Chung b89408179c Add note on distutils expecting pathlib.Path
A distutils installation is always "flat" (not in e.g. egg form), so
if this distribution's info location is NOT a pathlib.Path (but e.g.
zipfile.Path), it can never contain any distutils scripts.
2022-04-12 03:33:19 +08:00
Tzu-ping Chung a55f0ddb23 Wording 2022-04-12 03:33:19 +08:00
Tzu-ping Chung 8073f65c14 Properly normalize and handle linked dist 2022-04-12 03:33:18 +08:00
Tzu-ping Chung eea84b33fb Clean up egg compatibility notes 2022-04-12 03:33:18 +08:00
Tzu-ping Chung 321c9675db Add compat shim to find eggs in importlib backend 2022-04-12 03:33:18 +08:00
Tzu-ping Chung 173ef62c8e Fix constructor arguments 2022-04-12 03:33:18 +08:00
Tzu-ping Chung 41de887ae0 Satisfy mypy 2022-04-12 03:33:18 +08:00
Tzu-ping Chung 0f085e1c85 Better ZIP support 2022-04-12 03:33:18 +08:00
Tzu-ping Chung 5e9c5ad252 Implement egg-link support 2022-04-12 03:33:18 +08:00
Tzu-ping Chung 4c096b752d Refactor importlib metadata backend to subpackage 2022-04-12 03:33:18 +08:00
Tzu-ping Chung 17355f8d47 Unnormalized metadata version works now! 2022-04-12 03:33:18 +08:00
Tzu-ping Chung 1544a31011 Implement our own requires.txt parser
This replaces importlib.metadata's parser and allows us to "properly"
normalize extras as we need. It is not wrong for importlib.metadata to
not normalize extras --- if extra normalization is standardized
properly, packaging.markers should instead implement 'evaluate()' to
properly normalize on comparison, instead of just doing a naive string
equality check. Unfortunately, no-one has made a concrete effort to make
that happen yet, so pip needs to do what it needs to do to keep things
working.
2022-04-12 03:33:18 +08:00
Tzu-ping Chung 1d22560c7d Evaluate dependencies for package without extras 2022-04-12 03:33:18 +08:00
Tzu-ping Chung b0ec2c0cd0 Only return one distribution under a name
This matches pkg_resources's behavior. There are various places in the
code base that assumes only one entry is returned for a package name,
and not doing that would potentially cause a distribution in lower
precedence path to override a higher precedence one, if the caller is
not careful.

Eventually we probably want to make it possible to see lower precedence
installations as well (it's useful), but this is not the time.
2022-04-12 03:33:18 +08:00
Tzu-ping Chung 4fd0e09a37 Rename iter_distribution() with 'all' for clarity 2022-04-12 03:33:15 +08:00
Tzu-ping Chung 675de98f42 Better test setup and teardown with fixture 2022-04-12 03:31:50 +08:00
Tzu-ping Chung a640a24350 Fix CI bzr installation 2022-04-12 03:31:50 +08:00
Tzu-ping Chung e371bf2498 Catch wheel content error to emit appropriate exception 2022-04-12 03:31:50 +08:00
Tzu-ping Chung 846d8e5965 Try to cover Path interface differences 2022-04-12 03:31:46 +08:00
Tzu-ping Chung e3952f8357 Fix unit test to check against the correct backend 2022-04-12 03:26:12 +08:00
Tzu-ping Chung a9cf547dd1 Add workflow to run tests against the new backend 2022-04-12 03:26:12 +08:00
Tzu-ping Chung 60a7ad3a27 An importlib.metadata-based backend
This is not tested at all, but passed Mypy.
2022-04-12 03:26:12 +08:00
Tzu-ping Chung d72356dc64 Hoist distrubution factory methods to base class 2022-04-12 03:26:11 +08: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 d5e1eeecc8
Merge pull request #10914 from pradyunsg/distributor-notes 2022-04-08 13:09:02 +01:00
Pradyun Gedam 79ef8f313a
Translate issue-triage guide to Markdown
This avoids the weird linter issues we're having here.
2022-04-08 12:56:16 +01:00
Pradyun Gedam 508737baf4
Add triage notes about redistributors 2022-04-08 12:53:50 +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 b953f9aaa7 Use explicit wrong credentials 2022-04-07 11:15:48 +03: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
Pradyun Gedam 512baaa755
Inline constants that were being imported from `progress`
This decouples this location from the `progress` package, making it
possible to no longer depend on that package within pip.
2022-04-07 09:05:30 +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
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