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

cp3-abi3-<platform> missing from cpython_tags() #261

Closed
alexFickle opened this issue Jan 25, 2020 · 3 comments
Closed

cp3-abi3-<platform> missing from cpython_tags() #261

alexFickle opened this issue Jan 25, 2020 · 3 comments

Comments

@alexFickle
Copy link

packaging.tags.cpython_tags() does not contain any tags that start with just cp3. cp3-abi3-<platform> is used as an example in PEP 425.

Replication:

import packaging.tags
print(*packaging.tags.cpython_tags())

Output with cpython 3.7.0 win32 and version 20.1 of packaging:

cp37-cp37m-win32 cp37-abi3-win32 cp37-none-win32 cp36-abi3-win32 cp35-abi3-win32 cp34-abi3-win32 cp33-abi3-win32 cp32-abi3-win32

See related pip issue: pypa/pip#7637

@brettcannon
Copy link
Member

This is on purpose as there is no concept of cp3 that's valid (see #181 and #184 ). Even with the stable ABI, that has expanded in specific versions of Python so you should specify which Python version(s) you assume it will work for based on what the earliest version of Python you expect support for (hence why you have e.g. cp33-abi3-win32 as well as cp37-abi3-win32, but if your wheel was for Python 3.8 and used something new in the stable ABI there it wouldn't work for you).

But I do know some pip developers have argued that even the chance of an import working should count as a possible tag. Anyway, I've said all of my arguments in those other issues so I will let the other packaging maintainers weight and decide if my arguments are not good enough (which they might not be 😉 ).

@alexFickle
Copy link
Author

alexFickle commented Jan 30, 2020

Sounds good, I'll start tagging my stuff with cp32-abi3-<platform>. It might still be nice to have a cp3-abi3-<platform> and treat it just like cp32-abi3-<platform> to comply with PEP 425.

Out of curiosity is there a place with up to date documentation on packaging? I've been using the PEPs, but this issue shows that they are not always strictly followed.

Thanks!

@brettcannon
Copy link
Member

Packaging specs are maintained at https://packaging.python.org/specifications/.

And why do you think we are not following the tag spec?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants