[Distutils] pypi protocol

holger krekel holger at merlinux.eu
Mon May 27 09:19:29 CEST 2013

Hi Jonas,

On Sun, May 26, 2013 at 22:08 +0200, Jonas Geiregat wrote:
> Hello,
> I'm fairly interested in the internals of pypi.
> Ultimately pypi is a HTTP interface to a package database. 
> I went looking for a document, blog post or anything describing the communication between pypi client and server.
> I ended up reading pypiserver's source code to find out the internals. 
> Is there a reason why there haven't been a PEP describing the pypi interface ?

The protocol pip/easy_install use with pypi.python.org is fairly minimal.
Carl and me described it in PEP438 and a number of people reviewed it
so it should be rather accurate.  See particularly


This does not discuss the XMLRPC/json interfaces and ASFAIK there
are few pypi implementations apart from the main one who implement them.

For implementation of the basic protocol, you can look into pip/index.py
or checkout my tested implementation in devpi-server here:



More information about the Distutils-SIG mailing list