[Catalog-sig] PyPI trove classifiers for alternate language implementations

exarkun at twistedmatrix.com exarkun at twistedmatrix.com
Thu Sep 15 16:36:10 CEST 2011

On 02:24 pm, mal at egenix.com wrote:
>"Martin v. Löwis" wrote:
>>>Programming Language - Python - Implementation - CPython
>>>Programming Language - Python - Implementation - pypy
>>>Programming Language - Python - Implementation - jython
>>>Programming Language - Python - Implementation - IronPython
>>Opinions on this proposal? (including the specific spelling,
>>leaving alone that the separator is ::, not -)
>Better user CPython, PyPy and Jython for consistency with the
>other Trove spellings.
>I'm -0 on the "Implementation" part. Do we really need this ?

These seem like a different sort of thing than the existing classifiers 

    Programming Language :: Python :: 2.7

It seems that each implementation is trying to provide compatibility 
with a particular CPython release.  You could imagine a project 

    Programming Language :: Python :: 2.7
    Programming Language :: Python :: Implementation :: Jython

To indicate that a Jython release implementing Python 2.7 is required, 
and only the Jython runtime is supported.
>Also: What about release versions of those implementations ?
>Jython and IronPython appear to follow the CPython release
>versions, but PyPy uses its own version scheme.

The current release of PyPy is 1.6, but it is intended to be compatible 
with CPython 2.7.  If the classifiers are interpreted how I've 
interpreted them above, then combining two or more is sufficient, and 
having PyPy :: 1.5, PyPy 1.6, PyPy :: 1.7 doesn't offer much.

However, as usual, interpretation is up in the air, since a classifier 
is only a name, with no associated documented meaning, beyond what 
people manage to glean from mailing lists or by looking at existing 
projects that have decided to use them.


More information about the Catalog-SIG mailing list