Turns out there is a proper dependency resolution tool for Python packages, using an optimised SAT solver: http://t.co/Dj5bDzgk9U