[Catalog-sig] Extending the package meta-data with more detailed download information

M.-A. Lemburg mal at egenix.com
Thu Nov 19 11:37:32 CET 2009


In the current or intended next vesion (1.2 - see PEP 345), the
package meta data does not include any machine usable form of
defining download URLs for particular platforms, Python versions
and variants.

The only entry we have is:

"""
Download-URL
    A string containing the URL from which this version of the package can be downloaded. (This
means that the URL can't be something like ".../package-latest.tgz", but instead must be
".../package-0.45.tgz".)
"""

which may be usable by a developer looking for the download links,
but isn't really suited for package managers to use.

PyPI has already extended the meta-data information to include uploaded
files, but only makes this information available via the RPC interface.

Now I'm not sure whether such download information should be part
of the package's meta-data, but do see a point in having all package
related information in one place for easy access by package managers
and developers.

I would like to extend the available download information to make
automated downloads more reliable. Here's a list of things that
would be needed:

 * Distribution type (sdist, bdist_egg, bdist_msi, bdist_wininst, etc.)
 * Distribution URL (full URL of the download file)
 * Distribution Comment (any text)
 * Distribution MD5 digest (as HEX string)
 * Distribution SHA1 digest (as HEX string)
 * Distribution PGP signature (as string)
 * Distribution variant (list defined by the package)

 * Python implementation (CPython, Jython, etc.)
 * Python version (2.5, 3.1, etc.)
 * Python build variant (UCS2, UCS4)

 * OS identifier (Windows, Linux, Mac OS X, FreeBSD, etc.)
 * OS version (XP, 2, 10.4, 7, etc.)
 * Architecture identifier (x86, x64, ppc, ppc64, sparc, sparc64, etc.)
 * Processor identifier (i386, i686, arm, etc.)

 (more, if needed)

Some of these would be optional, or could be set to 'n/a' if
not applicable to the distribution.

distutils should then get a new API for matching the available
download information to the currently running Python interpreter
(but that's to be discussed on distutils-sig).

Thoughts ?

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Nov 19 2009)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

::: Try our new mxODBC.Connect Python Database Interface for free ! ::::


   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611
               http://www.egenix.com/company/contact/


More information about the Catalog-SIG mailing list