Skip to content

Fix pypi requirements casing

Hi!

This may seem like a rather insignificant change but it fixes a major issue on our end.

Because of MPAA's hatred of internet connectivity, at our studio we resort to "mirroring" PyPi.org's pip repo instead of using it directly. The solution we use is called "Nexus Repository Manager", which is capable of sitting in-between the internet and pypi.org and automatically cache any requested packages: https://www.sonatype.com/nexus-repository-sonatype

Overall it works pretty well, but we just discovered that unlike the "true" pypi.org, it happens to be case-sensitive for package requests, and as such, fails if a pip package requests any requirements with the wrong casing. There's even an unresolved bug logged on their bug ticket system about this: https://issues.sonatype.org/browse/NEXUS-12075

In other words, pypi.org safely acknowledges that asking for "sphinx" you want "Sphinx" and when you ask for "lowdown" you want "Lowdown", yet the Nexus mirror will just spit a 404 for both unless you ask for "Lowdown" and "Sphinx" exactly as written.

By fixing the casing in your setup.py, it solves the problem.

Edited by Alan Fregtman

Merge request reports