At 01:37 PM 9/23/2005 +1000, Richard Jones wrote:
On Fri, 23 Sep 2005 01:32 pm, Phillip J. Eby wrote:
I'd like to encourage moving towards mangling the *keys* themselves, in order to be robust in the face of typos. I think allowing random punctuation and upper/lower case to distinguish projects (e.g. allowing SQLObject, sqlobject, and SQLobject to be different packages) is asking for trouble on the human side of things, entirely aside from allowing them in filenames, dealing with case-insensitive filesystems, and so on. Having a nice human readable name for the web page, PKG-INFO, and description are one thing, but having it used for filenames, URLs, and database keys is quite another.
I believe what you're proposing would require changing Python itself so it enforces restrictions on package names (ie. all lower-case, very limited punctuation, no whitespace). I think that's a good idea, but I also think at this point that the cat's out of the bag :(
Python doesn't let you use spaces and arbitrary punctuation in package names, so perhaps I've misunderstood you. Also, just in case you've misunderstood me, I'm referring above to *project* names, not package names. For example, PEAK has its project name registered as PEAK on PyPI, but its Python package name (that you actually import) is 'peak'. I'm referring above only to project names, not package names.