At 06:03 PM 10/6/2009 +0200, M.-A. Lemburg wrote:
Chris Withers wrote:
> Well yeah, and the only sane way I can think to handle this is to have a
> metadata file that gets uploaded with each distribution that covers all
> these things (and the other things that other people need) and then have
> the index (which would hopefully be PyPI on the whole) be queryable
> along the lines of "give me a download url for a distribution named X
> that is for Python 2.6, Win32, UCS4, PostGreSQL 8.5, BlagBlah"...

So you want the indirection to happen even before fetching
the download package ?

That's a good idea - and also a lot better than the web page
link scanning that setuptools is doing.

They're not mutually exclusive, btw. More information could be added to the PyPI "Simple" API to include this sort of thing, visible to newer installers and invisible to older ones.

The main reason why easy_install has a relatively simple, REST outgoing API is that it allows people to make their own compatible indexes just by throwing some files in a directory and turning on Apache directory indexing. By using a... what do they call it, "microformat"? to mark up other information in the file, it'd still be possible for someone to slap up a web page and use it as a package index.


It goes a bit in the direction of what we had in mind with writing
for our clients: a tool that looks at the Python installation and
automatically finds/downloads/installs the right package from
our website. Only that we wanted to put up a single index file
for that tool to use, not one per package.

That'd get a bit big for PyPI, though, with thousands of listed packages. It's already pretty slow whenever somebody miscapitalizes or mis-punctuates a package name and easy_install has to read the "file" that just lists all the package names. That, of course, is more a function of the fact that PyPI's "simple" API doesn't support canonicalization, although I believe certain other PyPI-mirroring and package indexing apps do.

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to