[Catalog-sig] PyPI and PEP 381
Robert Kern
robert.kern at gmail.com
Mon Jan 18 23:48:49 CET 2010
On 2010-01-18 16:20 PM, "Martin v. Löwis" wrote:
>>> Can you please propose a specific change to something?
>>
>> I'm proposing:
>>
>> Use push notifications (HTTP POST requests) to tell the mirrors about
>> the availability of updates on the main main index, instead of having
>> the mirrors pull that information periodically.
>
> Ok: what specific notifications (i.e.: what specific URL, what specific
> payload), and what specific servers to contact (i.e. where does the
> list of servers come from)?
Not that I care too much[1], but one reasonable approach would be to use
Google's PubSubHubbub protocol which attempts to standardize such push
notifications.
http://code.google.com/p/pubsubhubbub/
"""
The protocol in a nutshell is as follows:
* An feed URL (a "topic") declares its Hub server(s) in its Atom or RSS XML
file, via <link rel="hub" ...>. The hub(s) can be run by the publisher of the
feed, or can be a community hub that anybody can use. (Atom and RssFeeds are
supported)
* A subscriber (a server that's interested in a topic), initially fetches the
Atom URL as normal. If the Atom file declares its hubs, the subscriber can then
avoid lame, repeated polling of the URL and can instead register with the feed's
hub(s) and subscribe to updates.
* The subscriber subscribes to the Topic URL from the Topic URL's declared Hub(s).
* When the Publisher next updates the Topic URL, the publisher software pings
the Hub(s) saying that there's an update.
* The hub efficiently fetches the published feed and multicasts the new/changed
content out to all registered subscribers.
"""
[1] Personally, I probably won't use the API, so I have no dog in the fight, and
I'm certainly not volunteering to code anything. I just wanted to add some more
concreteness to what Jannis is suggesting.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
More information about the Catalog-SIG
mailing list