Specification for package indexes?

What form must an index take to be usable with setuptools? Is there anything documented how such a beast should be organized? What should it's pages should look like? Is there any special pattern setuptools (easy_install?) looks for to find pages with download links? Or does it search any link given? Also, I've noticed that if you gibe a location with find-links that has links to distributions for the thing you're looking for, it you can specify pretty much anything as an index. Jim -- Jim Fulton mailto:jim@zope.com Python Powered! CTO (540) 361-1714 http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org

At 04:10 PM 6/23/2006 -0400, Jim Fulton wrote:
What form must an index take to be usable with setuptools?
Is there anything documented how such a beast should be organized? What should it's pages should look like? Is there any special pattern setuptools (easy_install?) looks for to find pages with download links? Or does it search any link given?
Also, I've noticed that if you gibe a location with find-links that has links to distributions for the thing you're looking for, it you can specify pretty much anything as an index.
That's correct. If all your packages can just be linked from a single page, that's more than enough to satisfy. However, if you want to give easy_install an alternate --index-url to use in place of PyPI, it must meet the four simple requirements described here: http://mail.python.org/pipermail/catalog-sig/2005-June/000654.html These are the only conditions that easy_install has for the organization of an "index" in the PyPI sense. Note that they can all be accomodated via static HTML pages. I'm considering adding XML-RPC support to easy_install in 0.7, though. PyPI now has a nice XML-RPC API that is more responsive than the web UI, and it supports case-insensitive partial match searches, making it suitable for easy_install to query when a typed-in name doesn't exactly match the spelling of a PyPI entry.

On Jun 23, 2006, at 4:30 PM, Phillip J. Eby wrote:
At 04:10 PM 6/23/2006 -0400, Jim Fulton wrote:
What form must an index take to be usable with setuptools?
Is there anything documented how such a beast should be organized? What should it's pages should look like? Is there any special pattern setuptools (easy_install?) looks for to find pages with download links? Or does it search any link given?
Also, I've noticed that if you gibe a location with find-links that has links to distributions for the thing you're looking for, it you can specify pretty much anything as an index.
That's correct. If all your packages can just be linked from a single page, that's more than enough to satisfy.
However, if you want to give easy_install an alternate --index-url to use in place of PyPI, it must meet the four simple requirements described here:
http://mail.python.org/pipermail/catalog-sig/2005-June/000654.html
These are the only conditions that easy_install has for the organization of an "index" in the PyPI sense. Note that they can all be accomodated via static HTML pages.
That's a lot of screen scraping. :) It would be good to capture this as part of the documentation IMO
I'm considering adding XML-RPC support to easy_install in 0.7, though. PyPI now has a nice XML-RPC API that is more responsive than the web UI, and it supports case-insensitive partial match searches, making it suitable for easy_install to query when a typed- in name doesn't exactly match the spelling of a PyPI entry.
I think that would be much better. I think it would also be helpful to have an option (-I) to disable index search. There will be cases where people don't want to put distributions in PyPI and won't want to have to implement an index server. The find-links mechanism seems to work fine most of the time. Jim -- Jim Fulton mailto:jim@zope.com Python Powered! CTO (540) 361-1714 http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org
participants (2)
-
Jim Fulton
-
Phillip J. Eby