[Distutils] [Catalog-sig] Prototype setuptools-specific PyPI index.

Phillip J. Eby pje at telecommunity.com
Tue Jul 24 17:31:19 CEST 2007

At 06:11 AM 7/24/2007 -0400, Jim Fulton wrote:

>On Jul 23, 2007, at 5:21 PM, Phillip J. Eby wrote:
>>At 11:13 PM 7/23/2007 +0200, Martin v. Löwis wrote:
>>>>Yes, especially since compatibility with the existing installation
>>>>base requires case insensitivity, because on case-insensitive
>>>>platforms easy_install already normalizes the case of filenames it
>>>>creates.  So, the question of what the "right thing" to do is in the
>>>>abstract has already been moot for a year or two.
>>>Can you elaborate a bit, please? Why does the case of filenames
>>>matter for the queries it makes?
>>>AFAIU, it gets package names either from the user or from setup.py,
>>>perhaps also from packages dependency inside .egg files (assuming
>>>those support dependencies); these should all be case-sensitive.
>>In order to resolve dependencies, the system looks at installed .egg
>>files and directories (and .egg-info direcories), and extracts
>>package name and version info from the filenames.
>But the package name and version are in the PKG-INFO files, so it
>certainly has access to non-normalized names.  Why can't it double
>check a possible match against that file?

Because if case actually made a difference, we couldn't have both 
packages installed in the same directory, could we?  And why add an 
extra file open (which currently is only needed for "develop" eggs) 
to the process of building a working set or environment, in order to 
confirm something whose only purpose is to make requirements more 
difficult to specify?  :)

Note that if what's bothering you is the package index access time, 
use Apache's mod_speling to enable case-insensitive URLs for the 
static page tree.

More information about the Distutils-SIG mailing list