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 <br...@python.org> 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 -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/
Message archived at 
https://mail.python.org/mm3/archives/list/distutils-sig@python.org/message/D7H47XWWDMOIUWODELQU27TGTC5KL6WY/

Reply via email to