[Distutils] Adding a "Pure Python" flag to PyPI
p.f.moore at gmail.com
Mon Mar 5 12:06:19 CET 2012
I'm trying to identify which distributions in PyPI need to be made
available in binary format for people without C compilers (i.e.,
distributions including C extensions). I could use the classifier
information, but as that is user-supplied, it is not 100% reliable.
(Also, it's not in the data set I have available, although that's a
fixable issue). I'm only interested in existing binary distributions
(eggs and wininst/msi packages) on PyPI.
The problem is that simply assuming that because a distribution
provides binary installers, or even version-specific installers, is
not enough. For example, look at PyParsing - it provides a
version-specific wininst installer for every Python version, but it's
a pure Python package, and can easily be installed from source.
I can't see a way of reliably establishing whether a distribution is
"pure Python", and yet distutils/packaging clearly has that
information available when building. Would it be worthwhile adding a
"pure Python" flag to the PyPI classifiers, which could be
automatically populated by packaging? We'd still be reliant on people
who manually maintain metadata getting it correct, but it would help
in many cases (and in particular, in those cases where projects do
regularly upload binary distributions).
Alternatively, if there is a way of reliably identifying those
packages that can't be installed from source by someone without a
compiler, I'd be interested to know.
More information about the Distutils-SIG