[Catalog-sig] PyPI and PEP 381

David Lyon david.lyon at preisshare.net
Mon Jan 18 23:53:57 CET 2010


On Mon, 18 Jan 2010 23:16:42 +0100, "Martin v. Löwis" <martin at v.loewis.de>
wrote:
>> You guys could make it a lot easier for yourselves and look
>> at twisted/jabber/rss.
> 
> It would be actually much more difficult for me, unless you are willing
> to completely design a detailed specification, and present it.

Yes that's certainly possible. 

Let me just check my reading of the PEP-381. 

What you want is to allow external machines to get involved in the package 
delivery service. These machines all link up somehow and synchronise
somehow.

In addition to delivery of packages, they will collect and submit
statistics.

The current plan is via submission of an IP address.

If that is correct then it all sounds reasonable.

Only this week I came across a tiny twisted utility that was like
a mini jabberd.

What I am suggesting is that pypi run the jabberd or custom
jabberd. The mirrors connect to the jabberd.

The (external) mirrors are "up" when they are connected to
the jabberd and down when they are not.

Changes to packages can be fed instantly to all the mirror
clients (new packages) or delayed (a few seconds) if there is 
heavy load or too many clients.

If you choose standard jabberd there is some code overhead
and some extra learning. Balanced by maturity in the code
and protocol.

If you pick a custom jabberd like I saw in the example there
is more flexibility and it is easy to get started. The twisted
based server that I saw was under 50 lines of code.

Well, it's all very interresting stuff... :-)

PEP-381 looks like it is heading down the right track.

David









More information about the Catalog-SIG mailing list