[Catalog-sig] PyPI enhancement wish items?

Phillip J. Eby pje at telecommunity.com
Thu Apr 20 18:49:14 CEST 2006

At 07:35 PM 4/20/2006 +1000, Richard Jones wrote:
>Please fire away. I may have some time to work on this in the near future.
>Current stuff I know about:
>- PEP for metadata 1.2
>   http://www.python.org/peps/pep-0345.html
>   (though this is not finished nor has it been commented on)

I think that PEP needs to go back to the drawing board; it emphasizes too 
much the syntax of fields, while leaving their semantics entirely 
void.  For example, it dictates what format projects may specify version 
numbers in, using a scheme that's too strict for even Python itself to 
comply with.  But then it leaves the meaning of requirements to be 
community-defined.  There's little point in having machine-readable data 
with no machine-comprehensible semantics.  That is, why make people force 
fit stuff into a form that machines will never use anyway?

>- auto-generate download_urls for package uploads

This seems unnecessary to me, since easy_install reads the upload links 
just fine where they are, but of course I'm biased.  :)

>- command-line tool to query pypi and fetch entries (is this necessary
>   given easy_install?)

A stable, documented interface to perform the operations that easy_install 
does now via screen-scraping and URL interpretation would be useful.

The other things I'd add to the list are (decreasing priority):

1) the ability to treat project names and versions as case-insensitive, 
while removing extraneous characters (as in pkg_resources.safe_name()) for 
purposes both of searching and determining name uniqueness when registering.

2) Compute "cheesecake" scores for modified entries (using only the metrics 
that don't actually run any of the package's code, of course) and display 
them prominently. :)

3) Provide better explanation as to what to put in the fields: encourage 
people distributing via Sourceforge to put their showfiles.php URL in as 
the download URL, or any other page that has actual clickable links to 
download files.

4) More strongly encourage people to use "setup.py register", by having the 
web interface generate a setup.py containing the information they filled 
in, and suggesting that they use it, while making it hard to find the 
button that will go ahead and put the data in from the web.  This can be 
billed as a new convenience feature to automatically generate a setup.py 
and help people improve their cheesecake scores.  ;-)

More information about the Catalog-sig mailing list