-
Another good benchmark to trying to resolve apache-airflow[all]==1.10.13 using the state of PyPi on 2020-12-02, I give instructions here on how to reproduce that workflow: https://github.com/pypa/pip/issues/11836. Including a benchmark how how many extra packages your resolver should visit.
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
Pip separates out the resolution logic into a library called resolvelib. It had been discovered that there was a logical error under certain circumstances, and also there was a known better backtracking technique it could employ called backjumping. Both of these were recently fixed and implemented in resolvelib, which were then vendored in to Pip 23.1.
-
I was looking into this recently, but I'm not an expert. Poetry uses a library called mixology that implements a dependency resolution algorithm called PubGrub. There's a nice explainer here that touches on how PubGrub handles backtracking.
-
WinPython
A free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.
Feel free to share the resolver you wrote and we can test it on real world scenarios that are very difficult, here's a fun one that I remember: https://github.com/winpython/winpython/blob/master/Qt5_requirements64.txt