On Fri, Feb 10, 2017 at 3:52 PM, David Cournapeau <[email protected]> wrote:
> > > On Fri, Feb 10, 2017 at 2:33 PM, Justin Cappos <[email protected]> wrote: > >> Yes, don't use a SAT solver. It requires all metadata from all packages >> (~30MB uncompressed) and gives hard to predict results in some cases. >> > > I doubt there exists an algorithm where this is not the case. > > Also the lack of fixed dependencies is a substantial problem for a SAT >> solver. Overall, we think it makes more sense to use a simple backtracking >> dependency resolution algorithm. >> > > As soon as you want to deal with version ranges and ensure consistency of > the installed packages, backtracking stops being simple rather quickly. > > I agree lack of fixed dependencies is an issue, but I doubt it is specific > to a SAT solver. SAT solvers have been used successfully in many cases now: > composer (php), dnf (Red Hat/Fedora), conda or our own packages manager at > Enthought in python, 0install. > > I would certainly be interested in seeing a proper comparison with other > algorithms. > I don't have experience implementing non SAT dependency solvers, but I suspect that whatever algorithm you end up using, the "core" is the simple part, and tweaking heuristics will be the hard, developer-time consuming part. David > > David > > >> Sebastien Awwad (CCed) has been looking at a bunch of data around the >> speed and other tradeoffs of the different algos. Sebastien: Sometime >> next week, can you write it up in a way that is suitable for sharing? >> >> Justin >> >> On Fri, Feb 10, 2017 at 1:59 PM, Wes Turner <[email protected]> wrote: >> >>> From the discussion on https://github.com/pypa/pip/is >>> sues/988#issuecomment-279033079: >>> >>> >>> - https://github.com/ContinuumIO/pycosat (picosat) >>> - https://github.com/ContinuumIO/pycosat/blob/master/pycosat.c (C) >>> - https://github.com/ContinuumIO/pycosat/blob/master/picosat.c >>> - https://github.com/ContinuumIO/pycosat/tree/master/examples >>> - https://github.com/enthought/sat-solver (MiniSat) >>> - https://github.com/enthought/sat-solver/tree/master/simplesa >>> t/tests >>> - https://github.com/enthought/sat-solver/blob/master/requirem >>> ents.txt (PyYAML, enum34) >>> >>> >>> Is there a better way than SAT? >>> >>> On Fri, Feb 10, 2017 at 12:20 PM, Pradyun Gedam <[email protected]> >>> wrote: >>> >>>> Yay! Thank you so much for a prompt and positive response! I'm pretty >>>> excited and looking forward to this. >>>> >>>> On Thu, Feb 9, 2017, 20:23 Donald Stufft <[email protected]> wrote: >>>> >>>> I’ve never done it before, but I’m happy to provide mentoring on this. >>>> >>>> On Feb 8, 2017, at 9:15 PM, Pradyun Gedam <[email protected]> wrote: >>>> >>>> Hello Everyone! >>>> >>>> Ralf Gommers suggested that I put this proposal here on this list, for >>>> feedback and for seeing if anyone would be willing to mentor me. So, here >>>> it is. >>>> >>>> ----- >>>> >>>> My name is Pradyun Gedam. I'm currently a first year student VIT >>>> University in India. >>>> >>>> I would like to apply for GSoC 2017 under PSF. >>>> >>>> I currently have a project in mind - the "pip needs a dependency >>>> resolver" issue [1]. I would like to take on this specific project but am >>>> willing to do some other project as well. >>>> >>>> For some background, around mid 2016, I started contributing to pip. >>>> The first issue I tackled was #59 [2] - a request for upgrade command and >>>> an upgrade-all command that has been open for over 5.5 years. Over the >>>> months following that, I've have had the opportunity to work with and >>>> understand multiple parts of pip's codebase while working on this issue and >>>> a few others. This search on GitHub issues [3] also provides a good summary >>>> of what work I've done on pip. >>>> >>>> [2]: https://github.com/pypa/pip/issues/988 >>>> [2]: https://github.com/pypa/pip/issues/59 >>>> [3]: https://github.com/pypa/pip/issues?q=author%3Apradyunsg >>>> >>>> Eagerly-waiting-for-a-response-ly, >>>> Pradyun Gedam >>>> >>>> _______________________________________________ >>>> Distutils-SIG maillist - [email protected] >>>> https://mail.python.org/mailman/listinfo/distutils-sig >>>> >>>> >>>> >>>> — >>>> >>>> Donald Stufft >>>> >>>> >>>> _______________________________________________ >>>> Distutils-SIG maillist - [email protected] >>>> https://mail.python.org/mailman/listinfo/distutils-sig >>>> >>>> >>> >>> _______________________________________________ >>> Distutils-SIG maillist - [email protected] >>> https://mail.python.org/mailman/listinfo/distutils-sig >>> >>> >> >> _______________________________________________ >> Distutils-SIG maillist - [email protected] >> https://mail.python.org/mailman/listinfo/distutils-sig >> >> >
_______________________________________________ Distutils-SIG maillist - [email protected] https://mail.python.org/mailman/listinfo/distutils-sig
