Skip to content

Commit 197fbab

Browse files
committed
Clarity the meaning of "match" between sdist and wheel
In the current version of the description of `Dynamic` in the core metadata, it is unclear whether "match" means string equivalence or semantic equivalence. Given that pypa/packaging is reordering version specifiers between sdist and wheel when used by a build backend (which to my best knowledge are all build backend written in python), we can clarify this to semantic equivalence.
1 parent afb69f3 commit 197fbab

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

source/specifications/core-metadata.rst

+5-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,11 @@ When found in the metadata of a source distribution, the following
116116
rules apply:
117117

118118
1. If a field is *not* marked as ``Dynamic``, then the value of the field
119-
in any wheel built from the sdist MUST match the value in the sdist.
119+
in any wheel built from the sdist MUST be semantically equivalent to the
120+
value in the sdist. For example, ``Foo`` and ``foo`` as distribution name
121+
as well as ``>=2,<3`` and ``<3,>=2`` as version specifiers are semantically
122+
equivalent.
123+
120124
If the field is not in the sdist, and not marked as ``Dynamic``, then
121125
it MUST NOT be present in the wheel.
122126
2. If a field is marked as ``Dynamic``, it may contain any valid value in

0 commit comments

Comments
 (0)