Re: [Distutils] [Catalog-sig] Specification for package indexes?
We're revamping the web interface to match the new pdo style. We've also cleaned a bit of the interface up. Phillip J. Eby <pje@telecommunity.com> wrote:
1. It assumes that baseURL/projectname will get to the current version of projectname, or a page with a list of projectname's active versions
2. It assumes that links within PyPI of the form baseURL/something1/something2 are links to version 'something2' of a project named 'something1'
4. It assumes that if baseURL/projectname returns a page containing the text "Index of Packages</title>", it is a list of links of the form described in #2.
5. It looks for and follows the first links following the strings "<th>Home Page" and "<th>Download URL" in a project page.
These remain unchanged.
3. It assumes that going to baseURL directly will result in a page with links to all available packages in the form described in #2.
This has been removed as it seems completely unnecessary (a flat listing of all 1400+ packages, that is). The XML-RPC interface provides the functionality you require here.
Also note that even with an XML-RPC interface, easy_install will *still* need to read an HTML page to gather links, because it's valid for people to provide links in their long_description using reStructuredText. It's just that assumptions 1, 3, and 4 (and maybe 5) would not be necessary.
You couldn't just call release_data and parse URLs out of the description text with a simple re search?
Hm. I just tried to make multiple versions of PEAK active, and it seems like you can't get the page that lists multiple versions any more. No wonder some people have been having problems downloading older versions of certain packages. :(
Whoopsie. This has been fixed. Not sure when it was changed or why.
What do you mean? You can run "easy_install -u setuptools" to upgrade to the latest release at any time. But it doesn't go out looking for updates on its own.
Automatically updating existing users to use the xml-rpc would be nice, I suppose. Richard
At 07:41 PM 7/7/2006 +1000, richardjones@optusnet.com.au wrote:
3. It assumes that going to baseURL directly will result in a page with links to all available packages in the form described in #2.
This has been removed as it seems completely unnecessary (a flat listing of all 1400+ packages, that is). The XML-RPC interface provides the functionality you require here.
Note that this will BREAK easy_install in the field, as it will no longer be possible for easy_install to find packages with odd punctuation in their names, or which the user has incorrectly specified the case of. E.g. if someone asks for "sqlobject" instead of "SQLObject", it will no longer work. This is a pretty serious breakage. If you really *must* remove this, then you need to add name canonicalization so that going to /pypi/sqlobject works the same as /pypi/SQLObject. Similarly, going to "/pypi/foo-bar" should work the same as "/pypi/Foo & Bar", and so on. That is, a case-insensitive, "safe_name()" match (see pkg_resources code or docs for the definition of safe_name()). If you can't support this (which I've previously asked you to over the last year so that I could remove the list dependency), PLEASE put the package list back, because you just broke easy_install's ability to support user friendly names. You've known for a *year* that easy_install depended on this feature of PyPI: http://mail.python.org/pipermail/catalog-sig/2005-June/000654.html If you needed it to go away, giving me some notice would have been nice. Not just to me, but to all the people who use PyPI via easy_install. This gratuitous breakage is not nice.
participants (2)
-
Phillip J. Eby
-
richardjones@optusnet.com.au