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

Phillip J. Eby pje at telecommunity.com
Tue Jul 24 17:54:32 CEST 2007


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

>On Jul 24, 2007, at 11:31 AM, Phillip J. Eby wrote:
>
>>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?  :)
>
>Currently, we allow packages to differ only in case.  The fact that
>setuptools pretends we don't doesn't change the fact that we do.

I wasn't under the impression that we were discussing whether 
allowing project names to differ only in case was a good idea, since 
I haven't heard anybody give an argument that it's a *good* idea.  In 
fact, it seems like an obviously bad idea on its face, whether 
setuptools is in the picture or not.


>>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.
>
>*If* we decide that package names are case insensitive, then we
>should do this. We haven't decided this.

Well, so far the only argument *against* it that I recall seeing, is 
your argument that sloppy requirement specs slow everybody down by 
making them do the extra package index hit.  So, if that's fixable, 
what other argument is there for treating the names case-sensitively?



More information about the Catalog-SIG mailing list