How does PyPI handle case sensitivity?
For example, this SO question documents PyPI refusing a new package foobar
if FooBar
already exists.
Running 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
Alternatively:
$ 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/
What does the XML-RPC API expect? Can I always assume that http://pypi.python.org/simple/foo and http://pypi.python.org/simple/FoO will both return HTTP 200?
Is PyPI's position on case-sensitivity documented anywhere?