Use case:
python unravel motorengine(0.7.4)
Yields a map of its dependencies, shows the conflict, and shows the solution, along with requirements string pinning the solution versions.
Existing tools assume dependencies have been scraped fully first, so that's the primary task: on-demand scraping. (Once scraping is done, most of that can be accomplished by passing the deps and 'motorengine(0.7.4)' to depresolve.resolver.resolvability.detect_model_2_conflict() and depresolve.resolver.resolvability.backtracking_satisfy(). Some more tooling has to be added to the end.)