[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