[Python-ideas] compatibility triples for binary distributions
Steven D'Aprano
steve at pearwood.info
Thu Jul 26 03:57:25 CEST 2012
Sorry for breaking threading, I actually wanted to reply to the post from
Daniel Holth, but for some reason I don't have the original.
Miki Tebeka wrote:
> IMO implementation names should be compatible with PEP-421<http://www.python.org/dev/peps/pep-0421/>.
>
>
> Also instead of a cryptic long string, maybe some structured one?. For
> example (JSON): {"implementation":"cpython","machine":"x86_64"}
> It's longer but more readable IMO (and easier to parse).
+1
See below.
> On Wednesday, July 25, 2012 7:55:34 AM UTC-7, Daniel Holth wrote:
[...]
>> The Python implementation is abbreviated. Each implementation has a
>> two-letter code:
>>
>> py: Generic Python
>> cp: CPython
>> ip: IronPython
>> pp: PyPy
>> jy: Jython
Who would be responsible for registering and tracking these two-letter codes?
What counts as "generic python" -- surely if anything is "generic", it is CPython?
I can see that you have missed out on a number of existing or experimental
implementations, including:
Stackless
WPython
ActivePython
CLPython
PyMite
Python-iPod
TinyPy
Unladen Swallow
CapPython
HotPy
Skulpt
HoPe
Berp
among others. Some of these may be dead projects; others may be working but
not maintained; some are actively maintained. Even if they only have a small
number of users, they are still legitimate Python implementations. If there is
need to distinguish implementations at all, surely there is a need to
distinguish (say) TinyPy from CapPython?
I think that this demonstrates the folly of using a central registry of codes
for implementations. There are more implementations than just the "big four",
and although some of them have the life-expectancy of mayflies, some of them
go on for many years.
--
Steven
More information about the Python-ideas
mailing list