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

Jim Fulton jim at zope.com
Mon Jul 23 20:55:16 CEST 2007


On Jul 23, 2007, at 2:48 PM, Tres Seaver wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Noah Gift wrote:
>>>
>>> But by definition, the people typing the names of the  
>>> dependencies into
>>> a 'setup.py' for such a plugin *are* Python programmers, and  
>>> could be
>>> expected to know about case sensitivity.
>>>
>>> I don't think Jim was areguing that human-centric *search* should  
>>> punish
>>> misspellings, but rather that encouraging such sloppiness in other
>>> packages is a misfeature, especially if supporting it induces a  
>>> tax on
>>> *all* users of automated dependency resolution.
>>>
>>>
>> In my humble opinion, I for one completely agree with Phillip.  I  
>> have had
>> to sit down with quite a few new Python Programmers and show them  
>> how to use
>> easy_install and I "thank God" easy_install is smart enough to  
>> figure out
>> case sensitivity.  This is a wonderful feature!!!!  Please don't  
>> ever get
>> rid of it :)
>> Not being able to install a package as they couldn't figure out  
>> the exact
>> name of the package could be the final straw for some new  
>> programmer to
>> Python!
>
> There are two different use cases here:
>
>  1. User mis-types the name of a package on the command line, e.g.:
>
>      $ easy_install Foo
>
>     when it should be spelled:
>
>      $ easy_install foo
>
>     Being forgiving of case-mangling here ia a concern of the
>     easy_install *application*, and is non-controversil.

For me this is potentially controversial because:

>  2. Programmer mis-types the name of a package in the dependencies
>     for his own pacakge, e.g.:
>
>       setup(install_requires=['Foo']...)

Note that this might be intentional, as opposed to a typo.  The  
programmer will think "Foo" is a valid name because it worked with  
easy_install.  It's true that easy_install prints a warning, but it  
is buried in so much output that it is easily missed or ignored.

>     In this case, coddling the error causes it to *propagate*, becuase
>     other programmers will copy it directly, or depend on the error-
>     filled package.  Worse, the cost of error correction is  
> transferred
>     to *all* users of the setuptools library, even if they never use
>     'easy_install' at all.

Well said.

Jim

--
Jim Fulton			mailto:jim at zope.com		Python Powered!
CTO 				(540) 361-1714			http://www.python.org
Zope Corporation	http://www.zope.com		http://www.zope.org





More information about the Catalog-SIG mailing list