Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #39423

Re: pypi changelog api

Path csiph.com!usenet.pasdenom.info!weretis.net!feeder4.news.weretis.net!ecngs!feeder2.ecngs.de!newsfeed.freenet.ag!news2.euro.net!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Return-Path <phihag@phihag.de>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.002
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'url:pypi': 0.03; 'skip:[ 20': 0.03; 'api.': 0.04; 'chunks': 0.09; 'cc:addr:python-list': 0.10; "(it's": 0.16; 'entries,': 0.16; 'filename:fname piece:signature': 0.16; 'for,': 0.16; 'subject:api': 0.16; 'subject:pypi': 0.16; 'url:json': 0.16; 'wrote:': 0.17; '>>>': 0.18; 'changes': 0.20; 'all,': 0.21; 'trying': 0.21; 'import': 0.21; 'hey': 0.21; 'large,': 0.22; "i'd": 0.22; 'cheers,': 0.23; 'cc:2**0': 0.23; 'for?': 0.23; 'this:': 0.23; "i've": 0.23; 'script': 0.24; 'specifically': 0.24; 'pass': 0.25; 'cc:addr:python.org': 0.25; 'header:In-Reply-To:1': 0.25; 'header :User-Agent:1': 0.26; 'skip:[ 10': 0.26; 'am,': 0.27; 'older': 0.27; 'description,': 0.29; 'though.': 0.29; 'source': 0.29; "i'm": 0.29; 'push': 0.30; 'url:python': 0.32; 'file': 0.32; 'certain': 0.33; 'interface,': 0.33; 'real-time': 0.33; 'skip:d 20': 0.34; 'received:192.168.2': 0.34; 'thanks': 0.34; 'massive': 0.35; 'there': 0.35; 'but': 0.36; 'url:org': 0.36; 'smaller': 0.36; 'client': 0.36; 'xml': 0.37; 'subject:: ': 0.38; 'some': 0.38; 'received:192': 0.39; 'received:192.168': 0.40; 'think': 0.40; 'here': 0.65; 'hoping': 0.72; 'absolutely': 0.84; 'gregg': 0.84; 'url:2013': 0.84; 'response,': 0.93
Date Thu, 21 Feb 2013 14:33:45 +0100
From Philipp Hagemeister <phihag@phihag.de>
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130116 Icedove/10.0.12
MIME-Version 1.0
To Gregg Caines <cainus@gmail.com>
Subject Re: pypi changelog api
References <cdda4f14-2167-42ca-bac8-630f6f5cff86@googlegroups.com>
In-Reply-To <cdda4f14-2167-42ca-bac8-630f6f5cff86@googlegroups.com>
X-Enigmail-Version 1.4
OpenPGP id=FAFB085C
Content-Type multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="------------enig71F4F0D592CBDE4F90E2039A"
Cc "python-list@python.org" <python-list@python.org>
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.15
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <http://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <http://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.2164.1361453634.2939.python-list@python.org> (permalink)
Lines 67
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1361453634 news.xs4all.nl 6898 [2001:888:2000:d::a6]:34197
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:39423

Show key headers only | View raw


[Multipart message — attachments visible in raw view] - view raw

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


Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

pypi changelog api Gregg Caines <cainus@gmail.com> - 2013-02-17 17:16 -0800
  Re: pypi changelog api Philipp Hagemeister <phihag@phihag.de> - 2013-02-21 14:33 +0100
  Re: pypi changelog api Michael Herman <hermanmu@gmail.com> - 2013-02-21 05:52 -0800
  Re: pypi changelog api Michael Herman <hermanmu@gmail.com> - 2013-02-21 05:58 -0800
  Re: pypi changelog api Philipp Hagemeister <phihag@phihag.de> - 2013-02-21 15:04 +0100
  Re: pypi changelog api Philipp Hagemeister <phihag@phihag.de> - 2013-02-21 15:07 +0100
  Re: pypi changelog api Michael Herman <hermanmu@gmail.com> - 2013-02-21 06:15 -0800
  Re: pypi changelog api Michael Herman <hermanmu@gmail.com> - 2013-02-21 06:19 -0800

csiph-web