-
Notifications
You must be signed in to change notification settings - Fork 251
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
Tags missing from pypy3 on Windows 10 #184
Comments
Might need to tweak things so that in the generic case if no ABI is specified not only is |
Flagging as a question to ask the PyPy folks, but based on their answer either this issue should be closed or treated as a bug. |
@brettcannon Did we manage to ask PyPy folks about this at some point, and which ones does |
@pradyunsg nope, I haven't gotten around to worrying about this issue yet. |
I'm a tweety bird: https://twitter.com/pradyunsg/status/1180465257426210818 |
Hi. PyPy dev here. Where did those tags come from, what produced them? I see tags such as |
Thanks a lot for chiming in @mattip! ^>^
It's produced as a part of pip's PEP 425 checks: https://www.python.org/dev/peps/pep-0425/. You can see what pip generates as "compatible with", by running I think |
Here is the list for the upcoming pypy release which is python3.6-language compatible pypy7.2, where "language compatible" means "cpython interpreter + stdlib"
The list for cpython3.6 is much longer, it has 34 entries. The tag If we do release two or more concurrent minor versions, we should add the minor version to the python tag, so the "python tag" would become |
The previous comment explains (1) and (2) from the original issue, I agree that (3) is an artifact that could be removed,
So perhaps pypy should produce all those as well. It think this is connected to pypa/pip#3075, in particular a change that was made to get the |
Thanks for your responses here @mattip! Much appreciated! I'll defer to @brettcannon here since I have no intuition for PEP 425's operation). BTW, sorry that I didn't provide more context earlier -- W.R.T. how the tags differ between these two generation mechanisms, I'd suggest using this script (which uses pip's internals): from __future__ import print_function # Python 2.7 compatibility
from pip._internal.pep425tags import get_supported
from packaging.tags import sys_tags
pip_tags = {'{}-{}-{}'.format(*tag) for tag in get_supported()}
packaging_tags = {str(tag) for tag in sys_tags()}
li = [
("Only in pep425tags:", pip_tags - packaging_tags),
("Only in packaging.tags:", packaging_tags - pip_tags),
("In both groups:", packaging_tags & pip_tags),
("All tags:", packaging_tags | pip_tags),
]
for what, tags in li:
print(what, "\n ".join(sorted(tags)), sep="\n ")
for what, tags in li:
print(what, len(tags)) |
It seems (3) is only shows up in pip and could be considered a bug there. I would expect |
@mattip So I think there are two questions for me to answer here, but if I miss any let me know! First, I consider As for your question about whether the difference between |
Thanks for explaining, I am slowly getting up to speed. I agree (3) is not useful, and (1) would be better expressed as As for (2), I claim that there are reasons to have |
@mattip so is there the possibility of PyPy3 7.1 supporting another version of Python in some unique way that changes what's required to be in a wheel? If not then the Python version number should be left out as that part of the wheel tag specifies the interpreter version only (the For Basically I'm not prepared to bring in a new tag kind for interpreters just for CPython 3 and PyPy3 version-agnostic wheels when there's currently as to my knowledge no package maintainers have asked for them. We can consider bringing this in later, but one thing at a time. 😉 |
Two thoughts:
Hopefully even if a lot of what I've written is wrong, it's at least somewhat useful as an example of how a non-bdist-packaging expert reads these tags. |
@hodgestar consider "nonsensical" as "it doesn't already exist and this stuff is hard enough to get right without adding to it by introducing a new potential tag" 😉 . IOW this is definitely not an area to guess at what people want until someone shows a need for it and then comes asking for it. So if the PyGame folks come to us and ask for that tag, then we can talk. As for |
The
I gave an example of an existing package that has a need for this tag and uses it on PyPI. Removing this tag feels like a regression. |
@mattip That's an example from pip. It was purposefully dropped through discussion with distutils-sig when I did this work. I even queried PyPI's BigQuery data to make sure it wasn't being used in any significant way (and it wasn't), so this has been thought through. Please consider this repo the canonical list of tags. And you did give an example of a potential use, but PyGame has not come to us asking for this and they currently do not have a wheel using this tag. As I said, bringing in new tags is not a priority right now. I'm just trying to make sure there are not tag triples using preexisting tags which are missing. It seems that |
We added a valid |
Comparing what pip's tags and packaging.tags under pypy3 7.0.0 on Windows 10, the following tags are only found by pip:
pp370-pp370-win32
pp3-none-any
py370-none-any
The first one could be considered legitimate, but the last two do not make sense.
The text was updated successfully, but these errors were encountered: