EasyInstall 0.4a1: now with PyPI autodownload
I've just released a new version of EasyInstall, that supports automatic package location via PyPI; installing a package can now be as simple as: easy_install "SQLObject>=0.6" There are many new options and features related to this; see the EasyInstall home page for more information: http://peak.telecommunity.com/DevCenter/EasyInstall For the benefit of the PyPI maintainers, here is a summary of EasyInstall's fairly minimal assumptions about PyPI's current behavior, assuming that "base-url" is the root URL of the package index: * Going to "base-url/SomePackage" produces an HTML page that either has a title containing "Index of Packages" and links to zero or more pages for specific versions, or else it is a single-version package page. * Single-version package pages may have a home page and download URL link, each of which occurs after '<th>Home Page' and '<th>Download URL' respectively, if present. * Going to "base-url/" (note trailing '/') produces an HTML page containing links to all active versions of registered packages * Links to package pages always have URLs of the form "base-url/SomePackage/itsVersion" - i.e., exactly two path parts following the base URL, with no query strings, parameters, fragments, etc. EasyInstall should continue to work with PyPI if these assumptions continue to hold. However, I'd also like to suggest that PyPI deprecate the use of spaces and other non-alphanumeric characters (other than '-') in package names, and move to a case-insensitive matching mechanism for package names. (Currently, if a user types a package name in the wrong case, EasyInstall downloads the full package list in order to do its own case-insensitive search.) By the way, EasyInstall does not rely solely on the download URL of a PyPI entry, nor does it assume that the download URL is in fact the URL where the package's source distribution is found. Instead, EasyInstall inspects the URLs for whether the extension suggests an egg or source distribution. If not, it retrieves the listed URL, and if it contains HTML, it scans the HTML for links to egg or source distributions (again identified by extension). It does this for both the home page and the download URL, in case there is a usable download link on the package's home page. This approach was chosen to maximise the odds of successful downloading, given the current contents of PyPI.
The new version of PyPI changed the third assumption below, breaking setuptools' ability to do fallback searches for a request whose upper/lowercase didn't precisely match the cases used by the package author. Is there any chance someone could revert this, since this breaks a ton of software in the field? At 06:22 PM 6/5/2005 -0400, Phillip J. Eby wrote:
For the benefit of the PyPI maintainers, here is a summary of EasyInstall's fairly minimal assumptions about PyPI's current behavior, assuming that "base-url" is the root URL of the package index:
* Going to "base-url/SomePackage" produces an HTML page that either has a title containing "Index of Packages" and links to zero or more pages for specific versions, or else it is a single-version package page.
* Single-version package pages may have a home page and download URL link, each of which occurs after '<th>Home Page' and '<th>Download URL' respectively, if present.
* Going to "base-url/" (note trailing '/') produces an HTML page containing links to all active versions of registered packages
* Links to package pages always have URLs of the form "base-url/SomePackage/itsVersion" - i.e., exactly two path parts following the base URL, with no query strings, parameters, fragments, etc.
EasyInstall should continue to work with PyPI if these assumptions continue to hold.
participants (1)
-
Phillip J. Eby