Commit Graph

10 Commits

Author SHA1 Message Date
Tzu-ping Chung 9ba2bb90fb Straighten up extra comps across metadata backends
The importlib.metadata and pkg_resources backends unfortunately
normalize extras differently, and we don't really want to continue using
the latter's logic (being partially lossy while still not compliant to
standards), so we add a new abstraction for the purpose.
2023-09-13 16:45:44 +08:00
Tzu-ping Chung 7127fc96f4 Prevent eager extra normalization
This removes extra normalization when metadata is loaded into the data
structures, so we can obtain the raw values later in the process during
resolution.

The change in match_markers is needed because this is relied on by the
legacy resolver. Since we removed eager normalization, we need to do
that when the extras are used instead to maintain compatibility.
2023-09-13 13:40:35 +08: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 360b96305a Upgrade pre-commit hooks
Also fix some Mypy errors newly found with upgrade.
2022-07-18 15:13:12 +08:00
Stéphane Bidoul a814290ff4 Make sure metadata has Requires-Dist and Provides-Extra
egg-info distributions may not have the Requires-Dist and Provides-Extra
fields in their metadata. For consistency and to provide an
unsurprising metadata property, we emulate it by reading requires.txt.
2022-06-12 19:40:42 +02: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 8073f65c14 Properly normalize and handle linked dist 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 0f085e1c85 Better ZIP 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
Renamed from src/pip/_internal/metadata/importlib.py (Browse further)