Phillip J. Eby wrote:
At 02:59 PM 9/20/2005 -0500, Ian Bicking wrote:
I'm a bit confused about name quoting. I have a package with a name "Todo_SQLObject_ZPT", and egg_info writes to "Todo-SQLObject-ZPT.egg-info". Why? I thought -'s were bad, but _'s were okay...?
It's safe to use either, but setuptools considers '-' to be canonical; this was a heuristic decision on my part because '-' appears more frequently used than '_' in the names of projects currently registered with PyPI.
The problem, however, is that PyPI wants your uploaded files to exactly match the registered name. If you used '-' in setup.py, you must have '-' in the filename, and that's something setuptools cannot do. It would probably be best if setuptools ensured the "register" command always used '_', but then this defeats the purpose of having it that way in the first place!
So, the only real fix is to change PyPI to accept files whose pkg_resources.safe_name() match the safe_name() of the project. In the meantime, you can't upload eggs to PyPI for packages with '-' or '_' in their names. (You can upload source distros or other formats, since those can work with ambiguous filenames.) I probably should put in an RFE or proposed patch, but I've been really busy lately.
Richard, would you be able to make this change? It seems pretty reasonable to accept files that closely match project names.