How does PyPI handle case sensitivity?
For example, this SO question documents PyPI refusing a new package
FooBar already exists.
pip against pypi.python.org seems to convert to the canonical case for a package:
$ pip install django Downloading/unpacking django Downloading Django-1.7.tar.gz (7.5MB): 7.5MB downloaded
$ pip install Django Downloading/unpacking Django Downloading Django-1.7.tar.gz (7.5MB): 7.5MB downloaded
However, only some files seem to be in the canonical case in my virtualenv:
$ ls ~/pyenvs/test_venv/lib/python2.7/site-packages/ | grep -i django django/ Django-1.7-py2.7.egg-info/
Is PyPI’s position on case-sensitivity documented anywhere?
No, pip is case insensitive.
All comparisons of distribution names MUST be case insensitive, and MUST consider hyphens and underscores to be equivalent.
from PEP 426