And to help in getting a reply, here is the trimmed-down results for
CPython 3.7 to compare against:
[('cp37', 'cp37m', 'macosx_10_13_x86_64'),
…
('cp37', 'abi3', 'macosx_10_13_x86_64'),
…
('cp37', 'none', 'macosx_10_13_x86_64'),
…
('cp36', 'abi3', 'macosx_10_13_x86_64'),
…
('cp35', 'abi3', 'macosx_10_13_x86_64'),
…
('cp34', 'abi3', 'macosx_10_13_x86_64'),
…
('cp33', 'abi3', 'macosx_10_13_x86_64'),
…
('cp32', 'abi3', 'macosx_10_13_x86_64'),
…
('py3', 'none', 'macosx_10_13_x86_64'),
…
('cp37', 'none', 'any'),
('cp3', 'none', 'any'),
('py37', 'none', 'any'),
('py3', 'none', 'any'),
('py36', 'none', 'any'),
('py35', 'none', 'any'),
('py34', 'none', 'any'),
('py33', 'none', 'any'),
('py32', 'none', 'any'),
('py31', 'none', 'any'),
('py30', 'none', 'any')]
So, it re-iterate the questions:
1. What is ('pp3', 'none', 'any') supposed to represent for PyPy3? Since
the version of the interpreter is PyPy3 6.0 the lack of major version
number seems like a bug more than a purposeful interpreter version (and
there's only a single project -- cliquet
<https://pypi.org/project/cliquet/3.1.1/#files> -- that has a wheel
that's compatible with that tag triple and it's not even for their latest
release).
2. Why does CPython have (*, 'none', 'any') from the version of the
interpreter down to Python 3.0 plus generically Python 3 while PyPy3 only
gets generic Python 3?
3. Why isn't (*, 'none', platform) listed from Python 3.7 to 3.0 for
either CPython or PyPy3? I understand not iterating through all versions
when an ABI is involved (without knowing exactly which versions are
compatible like abi3), but this triple seems safe to iterate through as a
fallback just as much as (*, 'none', 'any'). Maybe because it's too
ambiguous to know how important such a fallback would be between e.g.
('py36', 'none', 'macosx_10_13_x86_64') and ('py37', 'none', 'any'), and so
why bother when the older version triples are there just for a safety net
to have at least some chance of a match?
4. I still think ('py360', 'none', 'any') is a bug. ;)
P.S.: The ('py3', 'none', 'macosx_10_13_x86_64') triple being between e.g.
('pp360', 'none', 'macosx_10_13_x86_64') and ('pp360', 'none', 'any') is
really messing with my head and making the code to generate supported
triples a bit less elegant. ;)
On Sat, 25 Aug 2018 at 15:03 Brett Cannon <[email protected]> wrote:
> I noticed that for PyPy3, the tag triples considered compatible were
> (roughly; trimmed out the long list of macOS versions):
>
> [('pp360', 'pypy3_60', 'macosx_10_13_x86_64'),
> ('pp360', 'none', 'macosx_10_13_x86_64'),
> ('py3', 'none', 'macosx_10_13_x86_64'),
> ('pp360', 'none', 'any'),
> ('pp3', 'none', 'any'),
> ('py360', 'none', 'any'),
> ('py3', 'none', 'any')]
>
> Now the first question I have is about ('pp3', 'none', 'any'). Is this
> meant to be a generic thing for any interpreter of the interpreter
> implementation and major version, or is this special to CPython and PyPy3?
>
> Question two is why isn't there a ('py35', 'none', 'any') or ('py34',
> 'none', 'any') and older to py30 after py3 like there is for CPython? Seems
> like if they are just source then they should be compatible as much as
> CPython.
>
> Question three is why isn't there a ('py35', 'none',
> 'macosx_10_13_x86_64') for PyPy3 or CPython 3.7? I can't figure out what a
> Python- and platform-specific wheel but agnostic to API wouldn't ever work?
>
> And I'm assuming ('py360', 'none', 'any'), isn't legitimate since that
> makes no sense. ;)
>
--
Distutils-SIG mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/
Message archived at
https://mail.python.org/mm3/archives/list/[email protected]/message/D7H47XWWDMOIUWODELQU27TGTC5KL6WY/