
Python3-resolvelib provides a `Resolver` class that includes dependency resolution logic. You give it some things, and a little information on how it should interact with them, and it will spit out a resolution result.
This is the Python 3 version of the package.