Skip to content
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

PEP 776: Address some of pfmoore's comments #4310

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

hoodmane
Copy link
Contributor

@hoodmane hoodmane commented Mar 19, 2025

This attempts to address most of @pfmoore's comments here: https://discuss.python.org/t/pep-776-emscripten-support/84996/11

  • Clarify that we are speaking of platform tags.
  • List some examples of full tags that are Pyodide-compatible
  • Include code to generate compatible tag list
  • Reference PR to add this code to pypa/packaging and specify that it will be merged.
  • Add section with recommendations for package installers
  • Add section with recommendations for package indexes
  • Add section about dependency specifier markers
  • Add section on trove classifier
  • Add note that adding platform tags should have no backwards compatibility implications
  • Add link to Pyodide's documentation on building, testing, and ci for package maintainers

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

This attempts to address most of pfmoore's comments here:
https://discuss.python.org/t/pep-776-emscripten-support/84996/11

* Clarify that we are speaking of _platform_ tags.
* List some examples of full tags that are Pyodide-compatible
* Include code to generate compatible tag list
* Reference PR to add this code to pypa/packaging and specify that it will be merged.
* Add section about dependency specifier markers
* Add section on trove classifier
* Add note that adding platform tags should have no backwards compatibility implications
* Add link to Pyodide's documentation on building, testing, and ci for package maintainers
@hoodmane hoodmane requested a review from ambv as a code owner March 19, 2025 14:52
@hoodmane hoodmane requested a review from pfmoore March 19, 2025 14:53
@hoodmane hoodmane changed the title Address some of pfmoore's comments PEP 776: Address some of pfmoore's comments Mar 19, 2025

We recommend that package indexes accept any wheel whose platform tag matches
``pyodide_[0-9]+_[0-9]+_wasm32``. We recommend that package indexes continue not
accepting wheels that match ``emscripten_[0-9]+_[0-9]+_[0-9]+_wasm32``.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be good to explain why here. Specifically, what is the reason for having a platform tag that's explicitly not for publishing? We have the "linux" platform tag that essentially means "only usable on the machine it's built on", but that's really just because it took a while to work out how to do Linux compatibility. This is different - we're standardising a tag that people can't publish, and it's not clear what the point is.

Ah, I just noticed, in a part of the text you didn't change, "intended to be the same as the
relationship between manylinux<version> and linux". IMO, this is a bad precedent to follow. There's really very little good reason for the linux tag to exist nowadays, and similarly I don't think there's much point in a set of emscripten_[0-9]+_[0-9]+_[0-9]+_wasm32 tags.

If we want an "unpublishable, usable only on the machine it was built on" tag, I'd prefer we standardised on a single generic name ("local", for example, or maybe just repurpose "linux", although the name is unfortunate in that case) rather than having multiple ones.

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.

2 participants