Simplesat is a Python library providing a prototype for SAT-based dependency handling, designed for resolving package and software dependencies using satisfiability algorithms. It is currently at version 0.9.2. The release cadence is irregular, with recent updates primarily focusing on Python version compatibility and bug fixes rather than rapid feature additions. The API is explicitly stated as being subject to change.
pip install simplesatVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to define solvables (e.g., software packages), create a repository, add constraints, and use the solver to find a compatible set of solvables.
Always pin exact versions of `simplesat` in production. Regularly review the GitHub repository's release notes for breaking changes before upgrading. Test your application thoroughly with new versions.
Ensure your problem domain aligns with dependency resolution. Review the source code and examples for how 'Solvables' and 'Constraints' are intended to be modeled. For general CSPs, consider other libraries.
Carefully review your constraints for implicit or explicit cycles. Use the more descriptive error messages (available from v0.9.2+) to pinpoint the source of the cycle. Rethink your dependency graph to break cycles.
No dependency data recorded yet.