The current implementation of pypi repositories on Artifactory is definitely contrary to PEP 0426.
I was able to reproduced the issue using pip version 8.0.2 on Centos 7 with artifactory version 4.5.1 rev 40117
1. created a local PyPi repository on artifactory
2. configure python setup to use the artifactory PyPi repository
? The instructions for this are actually presented by artifactory user interface:
? Access the artifactory URL, then select "Artifacts" from the left menu pane.
? Highlight the local PyPi repository, then select the option on the right called "Set Me Up"
? Used explicit instructions from Artifactory to add the URL, username, and password to a local configuration file
3. Downloaded the source for a project with capital letters. I used XlsxWriter from https://github.com/jmcnamara/XlsxWriter
4. checkout the appropriate branch and run the following command:
python setup.py sdist upload -r local
5. The Artifactory remote repository is then updated with the package XlsxWriter
6. on a separate system with the same configuration of pip, I was unable to load that library with pip 8.0.2.
pip version 6.0.1 indicated a deprecation warning, but would install things ok.
On a side note, i did hack the package name in the setup.py script so that the package name was equivalent to the module name or xlsxwriter. Then pip install XlsxWriter works and successfully installs with no issue. Artifactory seems to be storing the package XmlWriter in a case sensitive way, which is the way the PyPi seems to work, but the artifactory repository must match XmlWriter to xmlwriter per PEP 0426. It looks like the latest pip 8.0.2 is explicitely normalizing only the package name, the rest of the URL is still case sensitive. Only the package name in the pip request is "case insensitive" or as I would say conforming to the PyPi standard. Artifactory must comply with the standard.
This issue is likely related to another issue see issue