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@zope.com Python Powered! CTO (540) 361-1714 http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org