[Distutils] How Python can have CPAN.

Lennart Regebro lregebro at jarn.com
Sun Dec 27 17:27:03 CET 2009

On Sun, Dec 27, 2009 at 16:54, ssteinerX at gmail.com <ssteinerx at gmail.com> wrote:
> I'll update the PyPI checker in the distutilsversion test_pypi_versions.py to provide that information as well.  I think I'll make a separate project (uploaded to PyPI, promise) out of it so we have a shared way to get statistics on PyPI projects.  Is your code for this in the PyPI code repository or were these just quick one-off's?

Quick one-offs. Here, in fact:

Takes an hour or two to run.

from xmlrpc import client
PYPIURL = 'http://pypi.python.org/pypi'
pypi = client.Server(PYPIURL)
for package in pypi.list_packages():
    for release in pypi.package_releases(package, False):
        release_urls = pypi.release_urls(package, release)
        if release_urls:
        release_data = pypi.release_data(package, release)
        if not release_data.get('download_url', ''):
            print("Package %s, Release: %s" % (package, release))
            print("    Did not have releases on PyPI or download URL")
            print("    Author: %s <%s>" % (release_data['author'],
            print("    Maintainer: %s <%s>" % (release_data['maintainer'],


> If there's no data on PyPI and no download url then wouldn't those be "non-packages?"   And if there's no contact info, "non-package" by "nobody?"  Sounds like a song title.


> The survey should include a "Project abandoned" or "Nothing to upload" or "It was just a mistake" and an "Ok to delete immediately".


> Any non-project where the owner gives permission to delete, where the e-mail bounces, or there's no response in a month, just delete it.

There may be more people who have the rights to the system, so in fact
in these cases we should check who has Owner rights and contact all of

Lennart Regebro: http://regebro.wordpress.com/
Python 3 Porting: http://python-incompatibility.googlecode.com/
+33 661 58 14 64

More information about the Distutils-SIG mailing list