[Distutils] EasyInstall 0.3a3 released; what about PyPI? (was Re: Initial auto-installation support)
ianb at colorstudy.com
Tue May 31 03:47:28 CEST 2005
Phillip J. Eby wrote:
> The PackageFinder.obtain() method would go to the PyPI base URL followed
> by the desired distribution name, e.g.
> 'http://www.python.org/pypi/SQLObject', and then scrape the page to see
> if it is a multi-version page, or a single-version page. If it's
> multi-version, it would scrape the version links and select the
> highest-numbered version that meets all of your criteria.
Really this would be very easy to add to PyPI as a set of xml-rpc calls,
once the server move gets resolved. I could develop it now, except that
the last pypi database dump I have is from before the move to Postgres,
and there've been a number of changes since then, and I'd like some test
data. I also have a checkout from CVS, but the SF project no longer
lists CVS and svn.python.org doesn't have public access yet, so I can't
point you to the code.
But anyway, if someone on the new or old server can just run pg_dump on
that database and email me the results (or a url to those results) that
would be very helpful.
Getting the data without screenscraping won't instantly give us all the
necessary information. But it does contain good information about
available versions, what the active version is, and per-version download
URLs (which, if nothing else, could be compared against each other to
detect non-version-specific URLs).
> Hm. You know, what if as an interim step we had the command-line tool
> just launch a webbrowser pointing you to PyPI? Getting to a page for a
> suitable version is easy, so we could then let the user find the right
> download URL and then go back to paste it on the command line. That
> could be a nice interim addition, although it isn't much of a solution
> for packages with a lot of un-installed dependencies. You'd keep
> getting kicked back to the web browser a lot, and more to the point
> you'd have to keep restarting the tool. So, ultimately we really need a
> way to actually find the URLs.
That's not a very satisfying experience -- the person might as well just
download the file at that point.
Even with accurate data from PyPI, it's still likely there will be
multiple possible URLs. At that point, at least if you are going
through the command line, displaying all the URLs (numbered) and asking
the user would probably give the user enough information to choose.
Ian Bicking / ianb at colorstudy.com / http://blog.ianbicking.org
More information about the Distutils-SIG