--- "Phillip J. Eby" <[EMAIL PROTECTED]> wrote: > At 01:33 PM 11/9/2005 -0800, Grig Gheorghiu wrote: > >I'm working on a project I called "Cheesecake" which aims to > quantify > >the "goodness" of Python packages based on various indicators such > as > >presence of special files (README, LICENSE, etc.), special > directories > >(tests, doc, etc.), percentage of modules/classes/methods/functions > >with docstrings, etc. > > > >It would be nice if there was a standardized way to get to a > download > >URL for a given package listed at the Cheeseshop. > > setuptools' "package_index" module has facilities to scan Cheeseshop > pages > and the pages they link to for URLs that are downloadable > distributions. Also, the "easy_install" command-line tool can be > used to > fetch and extract editable source (or check out from subversion) the > source > code of a project. For example: > > $ easy_install -eb~/projects SQLObject > Searching for SQLObject > Reading http://www.python.org/pypi/SQLObject/ > Reading http://sqlobject.org > Best match: SQLObject 0.7.0 > Downloading > http://cheeseshop.python.org/packages/source/S/SQLObject/SQLObject-0.7.0.tar.gz#md5=dccb921b5df6a15312b56630ac4ac205 > Processing SQLObject-0.7.0.tar.gz > > Extracted editable version of SQLObject to ~/projects/sqlobject > > Notice that this works even with projects not hosted at the > Cheeseshop, > even if they are on Sourceforge mirrors: > > $ easy_install -eb~/projects ctypes > Searching for ctypes > Reading http://www.python.org/pypi/ctypes/ > Reading http://starship.python.net/crew/theller/ctypes/ > Reading > http://sourceforge.net/project/showfiles.php?group_id=71702 > Best match: ctypes 0.9.6 > Downloading > http://prdownloads.sourceforge.net/ctypes/ctypes-0.9.6.zip?download > Requesting redirect to (randomly selected) 'surfnet' mirror > Downloading > http://surfnet.dl.sourceforge.net/sourceforge/ctypes/ctypes-0.9.6.zip > Processing ctypes-0.9.6.zip > > Extracted editable version of ctypes to ~/projects/ctypes > > As long as a download link is available from one of these three > places, it > can be found: > > 1. The cheeseshop page for the package > 2. The page referenced by the cheeseshop "download url" link > 3. The page referenced by the cheeseshop "home page" link > > I would say that any project whose download URL(s) can't be found by > easy_install should get a bad score on your metrics, since it's going > to be > pretty tough for the *user* to find the package! > > EasyInstall is not limited to source downloads, however. It's just > that > the '-e' option tells it you want an "editable" distribution (e.g., a > > Subversion checkout preferably, with a source distribution being > second > best), and the '-b' option tells it the base directory under which > the > project directory should be created. (Ordinarily, EasyInstall just > attempts to get binaries or build and install them.) > >
Thanks a lot for the explanation, this is exactly what I was looking for! Once again EasyInstall saves the day :-) Grig _______________________________________________ Catalog-sig mailing list [email protected] http://mail.python.org/mailman/listinfo/catalog-sig
