@@ -26,7 +26,9 @@ This PEP provides the data format for variant wheels, an extension to
2626:doc: `packaging:specifications/binary-distribution-format ` that permits
2727building multiple variants of the same package while embedding
2828additional compatibility data. This data is stored inside the wheel, and
29- expressed via a human-readable variant label in the filename. When
29+ expressed via a human-readable variant label in the filename.
30+
31+ When
3032wheels are hosted on an index, it is additionally exposed in a separate
3133JSON file as an optimization. It will be followed by additional PEPs
3234defining the remaining aspects of variant wheels. The final aim of the
@@ -83,9 +85,9 @@ Tools that produce the data formats according to this specification
8385(variant wheels, the index-level metadata file) MUST always produce
8486files that meet the requirements of this specification.
8587
86- Tools that consume the data formats according to this specification are
87- not required to verify that the data meets these requirements, but
88- SHOULD NOT rely on data that they have established does not meet them .
88+ Tools that consume this specification's data formats are
89+ not required to verify that the data meets these requirements. A tool
90+ SHOULD NOT rely on data that the tool has established does not meet the specification format .
8991The appropriate response depends on the role of the tool, and follows
9092the same pattern as for invalid Core Metadata in wheel files. Tools that
9193are in a position to reject invalid data at the point it enters the
@@ -523,7 +525,7 @@ example by specifying a preference for specific namespaces, features
523525or properties. The tools MAY also provide options to exclude specific
524526variants, or to select a particular variant. These options operate on
525527the wheels that were found compatible, so they MAY reorder or narrow
526- that set, but MUST NOT cause a wheel to be selected whose properties
528+ that set, but MUST NOT cause selection of a wheel with properties
527529the target system does not support. Installing a variant wheel for a
528530system other than the one being installed to is instead a matter of
529531overriding which properties are considered supported, which is `out of
@@ -731,7 +733,7 @@ operators permitted with each of them:
731733 # equivalent
732734 dep7; "foo::bar::baz" in variant_properties
733735
734- The filtering in step 3. is only observable where a variant feature
736+ The filtering in step 3 is only observable where a variant feature
735737lists multiple values, of which the target system needs to support just
736738one (see `variant properties `_). Consider a wheel whose properties
737739include both of:
@@ -1059,9 +1061,9 @@ Installing wheels from multiple sources (non-normative)
10591061
10601062As of the time of writing, there are no accepted standards addressing
10611063the support for installing packages from multiple sources, and the
1062- existing tools (such as `` pip `` and `` uv ``) disagree on the exact
1064+ existing tools differ on the exact
10631065behavior. This problem is described in more detail in the informational
1064- :pep: `766 `. Variant wheels expand the problem scope . The consistency
1066+ :pep: `766 `. Variant wheels extend these differences . The consistency
10651067requirements that make variant metadata combinable hold within a single
10661068project, and nothing obliges independent publishers to meet them with
10671069respect to one another: the same variant label may map to different
@@ -1071,7 +1073,7 @@ sources happens to be combinable is possible, but the cost of doing so
10711073in the general case is prohibitive, and there is no correct answer when
10721074it is not. For these reasons, the specification does not attempt to
10731075standardize a behavior, but instead considers it implementation-defined
1074- and provides a few non-normative suggestions on the possible solutions .
1076+ and provides a few non-normative, suggested solutions, including using non-variant wheel .
10751077
10761078It is entirely valid for tools not to support this behavior, either by
10771079not providing support for using multiple sources at all, or by rejecting
0 commit comments