Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder1.news.weretis.net!feeder.erje.net!eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed1.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'url:pypi': 0.03; 'skip:[ 20': 0.03; 'api.': 0.04; '21,': 0.07; 'api': 0.09; 'chunks': 0.09; 'received:mail-vc0-f174.google.com': 0.09; 'cc:addr:python-list': 0.10; 'do,': 0.15; "(it's": 0.16; 'entries,': 0.16; 'for,': 0.16; 'herman': 0.16; 'subject:api': 0.16; 'subject:pypi': 0.16; 'url:json': 0.16; 'wrote:': 0.17; 'thu,': 0.17; '>>>': 0.18; 'feb': 0.19; 'changes': 0.20; 'email addr:gmail.com>': 0.20; 'all,': 0.21; 'trying': 0.21; 'import': 0.21; 'hey': 0.21; '>>>': 0.22; 'large,': 0.22; 'setup.': 0.22; "i'd": 0.22; 'cheers,': 0.23; '>': 0.23; 'for?': 0.23; 'this:': 0.23; "haven't": 0.23; "i've": 0.23; 'cc:2**1': 0.24; 'script': 0.24; 'specifically': 0.24; 'pass': 0.25; 'tried': 0.25; 'least': 0.25; 'cc:addr:python.org': 0.25; 'header:In-Reply-To:1': 0.25; 'skip:[ 10': 0.26; 'am,': 0.27; 'cc:addr:gmail.com': 0.27; 'older': 0.27; 'message-id:@mail.gmail.com': 0.27; 'description,': 0.29; 'received:209.85.220.174': 0.29; 'though.': 0.29; 'url:mailman': 0.29; 'skip:& 10': 0.29; 'source': 0.29; 'this.': 0.29; "i'm": 0.29; 'push': 0.30; 'url:python': 0.32; 'file': 0.32; 'url:listinfo': 0.32; 'certain': 0.33; 'interface,': 0.33; 'real- time': 0.33; 'skip:d 20': 0.34; 'received:google.com': 0.34; 'thanks': 0.34; 'feed': 0.35; 'massive': 0.35; 'received:209.85.220': 0.35; 'received:209.85': 0.35; 'something': 0.35; 'there': 0.35; 'michael': 0.36; 'but': 0.36; 'url:org': 0.36; 'smaller': 0.36; 'client': 0.36; 'enough': 0.36; 'author': 0.37; 'xml': 0.37; 'received:209': 0.37; 'subject:: ': 0.38; 'some': 0.38; 'url:mail': 0.40; 'think': 0.40; 'easy': 0.60; 'tracking': 0.61; 'love': 0.63; 'here': 0.65; 'hoping': 0.72; 'absolutely': 0.84; '2013': 0.84; 'gregg': 0.84; 'url:2013': 0.84; 'response,': 0.93 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:mime-version:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=ALVrINN//FdVw7e4N4U/LzBWVxGaZV8zvMG2/cb/VEY=; b=f/b3ctbYo83TLOUv4+wwERS162Ab3xbsLBDgPOiZm0PfwjzfJ6C38KF2phSd1790Ek NHIQR120EI6/cbi29GIa3fG8vgPWDNpj0WWxR7uHh2zDTo/X/5aSQo9iE4Ret8ybjQdu CLNjv6geAW/YOyW/UKxxT0EWF+fKK8z6pDYKB+X2yCCg801eXDm48pXqT1Fz0ojKYK3o OklIL5yhoXOSG0wtzyQOdV+paHpdUMxYzeHSTV53AgLK6SB94FxbZf6UHRruPEkM4zJS djcnBhFLV7tWAVs4cI2j1I0KuFCHaYZYM3g6ygugGzNkm6eNd+ETGwBQ9EAbpyLMkaRr /Zhw== X-Received: by 10.220.116.5 with SMTP id k5mr31221643vcq.55.1361455131788; Thu, 21 Feb 2013 05:58:51 -0800 (PST) MIME-Version: 1.0 In-Reply-To: References: <51262239.3080907@phihag.de> From: Michael Herman Date: Thu, 21 Feb 2013 05:58:31 -0800 Subject: Re: pypi changelog api To: Philipp Hagemeister Content-Type: multipart/alternative; boundary=f46d043894638204e304d63c79e4 Cc: "python-list@python.org" , Gregg Caines X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 171 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1361455134 news.xs4all.nl 6939 [2001:888:2000:d::a6]:43806 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:39425 --f46d043894638204e304d63c79e4 Content-Type: text/plain; charset=ISO-8859-1 Oh - and I haven't tried this site, but you may be able to set something up on there to email when the changelog is updated. http://www.changedetection.com/ On Thu, Feb 21, 2013 at 5:52 AM, Michael Herman wrote: > I'd love to see https://crate.io/ set up an API or at the very least an > RSS feed for tracking changes. I've emailed the author about this. I think > if enough people do, an RSS feed would be easy to setup. > > > On Thu, Feb 21, 2013 at 5:33 AM, Philipp Hagemeister wrote: > >> Hi Gregg, >> >> to get a smaller response, you can simply pass in a timestamp, like this: >> >> >>> client = xmlrpclib.ServerProxy('http://pypi.python.org/pypi') >> >>> import time >> >>> client.changelog(int(time.time() - 600)) >> [['vs.bootstrap.plonetheme', '1.0.1', 1361451748, 'update description, >> classifiers'], ['numericalunits', '1.11', 1361451759, 'new release'], >> ['numericalunits', '1.11', 1361451760, 'add source file >> numericalunits-1.11.tar.gz'], ['autobahn_rce', '0.6.0', 1361451798, >> 'remove'], ['vs.bootstrap.plonetheme', '1.0.1', 1361451816, 'update >> description, classifiers'], ['vs.bootstrap.plonetheme', '1.0.1', >> 1361451882, 'update description, classifiers'], ['autobahn_rce', >> '0.5.9', 1361451956, 'new release'], ['autobahn_rce', '0.5.9', >> 1361451971, 'add source file autobahn_rce-0.5.9.tar.gz']] >> >> I don't think there's way to get older chunks of the changelog though. >> What would you need those for? >> >> If you need the entire changelog, just download it once (it's not that >> large, barely 40MB). Here it is, up until 1361452402 (now): >> >> http://phihag.de/2013/pypi-changelog-2013-02-20.json.bz2 >> >> What I'd like is a real-time push service of changelog entries, but I'm >> not certain that would be scalable. >> >> Cheers, >> >> Philipp >> >> >> On 02/18/2013 02:16 AM, Gregg Caines wrote: >> > Hey all, >> > >> > I'm trying to write a script that tracks changes on pypi, and I've come >> across the xmlrpc interface, specifically the 'changelog' api. It's >> definitely what I'm looking for, but I get an absolutely massive xml >> response from it at once and I was hoping there might be either some way to >> "page" through it with mulitple requests, or a different-but-similar API. >> > >> > Thanks in advance, >> > Gregg >> >> >> >> -- >> http://mail.python.org/mailman/listinfo/python-list >> >> > --f46d043894638204e304d63c79e4 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Oh - and I haven't tried this site, but you may be able to set somethin= g up on there to email when the changelog is updated.

http://www.changedetection.com/

On Thu, Feb 21, 2013 at 5:52 AM, Michael Her= man <hermanmu@gmail.com> wrote:
I'd love to see https:/= /crate.io/ set up an API or at the very least an RSS feed for tracking = changes. I've emailed the author about this. I think if enough people d= o, an RSS feed would be easy to setup.


On Thu, Feb 21, 2= 013 at 5:33 AM, Philipp Hagemeister <phihag@phihag.de> wrote:=
Hi Gregg,

to get a smaller response, you can simply pass in a timestamp, like this:
>>> client =3D xmlrpclib.ServerProxy('http://pypi.python.org/pypi')
>>> import time
>>> client.changelog(int(time.time() - 600))
[['vs.bootstrap.plonetheme', '1.0.1', 1361451748, 'upda= te description,
classifiers'], ['numericalunits', '1.11', 1361451759, &= #39;new release'],
['numericalunits', '1.11', 1361451760, 'add source file=
numericalunits-1.11.tar.gz'], ['autobahn_rce', '0.6.0',= 1361451798,
'remove'], ['vs.bootstrap.plonetheme', '1.0.1', 136= 1451816, 'update
description, classifiers'], ['vs.bootstrap.plonetheme', '1.= 0.1',
1361451882, 'update description, classifiers'], ['autobahn_rce&= #39;,
'0.5.9', 1361451956, 'new release'], ['autobahn_rce'= ;, '0.5.9',
1361451971, 'add source file autobahn_rce-0.5.9.tar.gz']]

I don't think there's way to get older chunks of the changelog thou= gh.
What would you need those for?

If you need the entire changelog, just download it once (it's not that<= br> large, barely 40MB). Here it is, up until 1361452402 (now):

http://phihag.de/2013/pypi-changelog-2013-02-20.json.bz2
What I'd like is a real-time push service of changelog entries, but I&#= 39;m
not certain that would be scalable.

Cheers,

Philipp


On 02/18/2013 02:16 AM, Gregg Caines wrote:
> Hey all,
>
> I'm trying to write a script that tracks changes on pypi, and I= 9;ve come across the xmlrpc interface, specifically the 'changelog'= api. =A0It's definitely what I'm looking for, but I get an absolut= ely massive xml response from it at once and I was hoping there might be ei= ther some way to "page" through it with mulitple requests, or a d= ifferent-but-similar API.
>
> Thanks in advance,
> Gregg



= --
http://mail.python.org/mailman/listinfo/python-list



--f46d043894638204e304d63c79e4--