8000 tags spec: clarify "sorted, set" to "sorted, collection" by woodruffw · Pull Request #1869 · pypa/packaging.python.org · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

tags spec: clarify "sorted, set" to "sorted, collection" #1869

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

woodruffw
Copy link
Member
@woodruffw woodruffw commented Jun 3, 2025

This will hopefully clarify/eliminate a contradiction in terms in the current specification text: the current text says both "sorted" and "set", where "set" conventionally implies an unordered collection.

In context that appears to have not been the intention, since the context is the wheel filename encoding and not the internal (i.e. parsed) representation
of a wheel filename's tags.

For context: this came up recently due to a set of unexpected tool interactions:

  • A user's build backend would produce a given wheel filename
  • auditwheel would rewrite that wheel filename's tags, without enforcing a particular order
  • pypi-attestations would "ultranormalize" the wheel's tags for signing and verifying purposes, to make string comparisons between wheel filenames work correctly. This was overly aggressive, but undoing it also revealed more tag ordering issues throughout the ecosystem
  • PyPA's packaging accepts any tag ordering via parse_wheel_filename, masking invalid tag orderings from other tools

xrefs:

CC @di


📚 Documentation preview 📚: https://python-packaging-user-guide--1869.org.readthedocs.build/en/1869/

This will hopefully clarify/eliminate a contradiction in terms
in the current specification text: the current text says
both "sorted" and "set", where "set" conventionally implies
an unordered collection.

In context that *appears* to have not been the intention,
since the context is the wheel filename encoding
and not the internal (i.e. parsed) representation
of a wheel filename's tags.

Signed-off-by: William Woodruff <william@yossarian.net>
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.

3460
1 participant
0