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?
Right. However, there is a difference between case-insensitive, and case-preserving.
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.
That won't help. If you look for a name of a non-registered package, setuptools will go to the index even if mod_speling corrects spelling errors. Such an approach is only possible if setuptools would stop using the entire index if the server has case-insensitive lookup (which it cannot determine). Regards, Martin