Skip to content

Latest commit

 

History

History
23 lines (15 loc) · 1.05 KB

File metadata and controls

23 lines (15 loc) · 1.05 KB

dartpip_solver

pub package

Version solver used by the dartpip command to resolve python modules.

Algorithm

The algorithm used by dartpip_solver is overly naive and does not take into account any constraints. It simply iterates over all dependencies and their dependencies recursively and collects all modules. For each module, it then downloads the latest version from PyPI, regardless of whether it is compatible with the other modules or not.

Roadmap

We plan to improve the algorithm in the future to take into account constraints and to find the best possible combination of modules.

This, however, is no easy task, since this problem is known to be NP-hard.

The Pub Package Manager's version solver has a very promising approach to this problem, which we plan to implement in the future. See this blog post for more information.