Skip to content

PEP 825: clarifications regarding value lists and merging metadata#4856

Open
mgorny wants to merge 3 commits intopython:mainfrom
wheelnext:pep-825-clarifications
Open

PEP 825: clarifications regarding value lists and merging metadata#4856
mgorny wants to merge 3 commits intopython:mainfrom
wheelnext:pep-825-clarifications

Conversation

@mgorny
Copy link
Contributor

@mgorny mgorny commented Mar 9, 2026

  • Change is either:
    • To a Draft PEP
    • To an Accepted or Final PEP, with Steering Council approval
    • To fix an editorial issue (markup, typo, link, header, etc)
  • PR title prefixed with PEP number (e.g. PEP 123: Summary of changes)

This PR aims to fill two gaps in the PEP:

  1. The value lists in variants are technically sets, but since sets cannot be expressed in JSON, the spec used lists, but neglected to mention that they are sets. We changed that to explicitly say that, and mandated sorting them to make it possible to use plain equality comparison for the JSON. This matches how the reference implementation behaved.
  2. Reworded the metadata merging logic, replacing the weird "resolution results within a subset of
    variants do not change" with plainer "result is the same irrespective of the order". Our original goal was to avoid ambiguity (such as two wheels having different order for the same namespaces that could lead to different results based on which data is used), and I think that's the easiest way to say that's not valid.

📚 Documentation preview 📚: https://pep-previews--4856.org.readthedocs.build/

mgorny added 3 commits March 5, 2026 16:31
Signed-off-by: Michał Górny <mgorny@quansight.com>
This was essentially the goal, but I originally had trouble wording it
properly.

Signed-off-by: Michał Górny <mgorny@quansight.com>
Signed-off-by: Michał Górny <mgorny@quansight.com>
@mgorny mgorny requested review from dstufft and warsaw as code owners March 9, 2026 12:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant