solvent
solvent copied to clipboard
Look more closely at other similar projects for insight
cargo/core/resolver/mod.rs PHP Composer's libsolver Yum's depsolve Go's depresolve.go
You mentioned Cargo, but Cargo needs finer grained dependency like for example resolving version conflicts. E.g. crate a depends on crate b and c, and those two depend on shared 0.1.* and shared 0.1.3 respectively. See: https://github.com/rust-lang/cargo/issues/2064
Speaking of solver's there is an interesting insight in that thread - Yum uses a SAT solver. Maybe integrate z3 solver[1][2] into your project?
Thanks for the info. I haven't actively developed on solvent in a long time because it does what I need it to do. As open-source, I'm happy if anybody else wants to extend it. It's very simple, and maybe not the right starting point for a SAT solver. I could support DNF boolean expressions without too much trouble. Supporting semver is probably not in the cards.
My bad, I didn't notice the last dev date. I apologize for inconvenience.