Universal dependency resolver using SAT solvers
Project description
SAT Dependency Resolver
Universal dependency solving powered by Boolean Satisfiability (SAT)
Finds valid combinations when possible — proves impossibility when not.
Exact solutions • Mathematical guarantees • Optional AI explanations
What It Does
SAT Dependency Resolver turns any dependency problem into a Boolean satisfiability problem and uses a high-performance SAT solver to:
- Find one or more valid selections of options/versions/items
- Mathematically prove that no solution exists (and report why)
- Optionally generate human-readable suggestions to resolve conflicts using AI
It is not limited to software packages — it works wherever you have items with requirements/dependencies.
Key Capabilities
| Capability | Description |
|---|---|
| Exact solving | Uses Glucose SAT solver — if a solution exists, it will be found |
| Conflict detection | Clear reporting of incompatibilities even without AI |
| AI conflict resolution | Optional integration with Anthropic Claude for plain-English fix suggestions |
| Universal domain | Software packages, courses, books, hardware, teams, recipes, scheduling, and more |
| Constraint support | any, >=, <=, >, <, ==, comma-separated ranges |
| Lightweight & fast | No heavy package manager logic — pure SAT encoding |
| REST API | Simple POST /resolve endpoint — easy to integrate |
Domains & Use Cases
| Category | Example Use Cases |
|---|---|
| Software | Python/pip, npm, Cargo, RubyGems, Go modules version resolution |
| Education | Course prerequisites, degree planning, certification paths |
| Media & Entertainment | Book series order, movie franchise watching sequence, game mod compatibility |
| Hardware | PC component compatibility, electronics part selection |
| Business & Teams | Required skills/roles for projects, team composition, resource allocation |
| Everyday Problems | Recipe ingredient requirements, event scheduling with attendee constraints |
Features at a Glance
- SAT-based core — mathematical correctness, no heuristics
- Optional AI help — send
use_ai: true+ Anthropic key for smart suggestions - Live demo — try it instantly at https://sat-dependency-resolver-ae207ddb503e.herokuapp.com
- Simple JSON format — easy to generate from any language/tool
- Open source — MIT licensed, easy to fork or embed
Links & Resources
GitHub Repository
github.com/Apollo87z/sat-dependency-resolver
Live API Endpoint
https://sat-dependency-resolver-ae207ddb503e.herokuapp.com
Full Documentation (GitBook)
shehans-organization.gitbook.io/sat-dependency-resolver-1/
Installation, API reference, detailed examples, and more
Made with SAT solvers + modern tech • Perfect answers when possible • Clear explanations when not
Want to learn how to use the API, run it locally, or see more examples?
→ Check out the complete GitBook documentation
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sat_dependency_resolver-0.1.0.tar.gz.
File metadata
- Download URL: sat_dependency_resolver-0.1.0.tar.gz
- Upload date:
- Size: 10.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b2909709a39270c298b7bb1dc1a176f48ffcefadf5ca6ed7988061069aedb0a
|
|
| MD5 |
c9eeab4a7c94801ff93cb6a2df409d16
|
|
| BLAKE2b-256 |
5ca821cfb1bdfb2f2fe138c29b371328e8dd6f85665c63d3d4a81f1c6bed327a
|
File details
Details for the file sat_dependency_resolver-0.1.0-py3-none-any.whl.
File metadata
- Download URL: sat_dependency_resolver-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
191327efca328602969eabbc7bd5d39700c2d0d3c6cdcb68d67289fbe3b5fe4d
|
|
| MD5 |
cf18cabaedf8dde7b13c57490fe81309
|
|
| BLAKE2b-256 |
7f763fddea229d205a21881549047162b179e032304ac6174eb38e6c24ee7173
|