Skip to main content

Universal dependency resolver using SAT solvers

Project description

SAT Dependency Resolver Logo

SAT Dependency Resolver

Universal dependency solving powered by Boolean Satisfiability (SAT)
Finds valid combinations when possible — proves impossibility when not.

Live API GitHub MIT License Stars GitBook Docs

SAT Dependency Resolver Banner

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

sat_dependency_resolver-0.1.0.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sat_dependency_resolver-0.1.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

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

Hashes for sat_dependency_resolver-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1b2909709a39270c298b7bb1dc1a176f48ffcefadf5ca6ed7988061069aedb0a
MD5 c9eeab4a7c94801ff93cb6a2df409d16
BLAKE2b-256 5ca821cfb1bdfb2f2fe138c29b371328e8dd6f85665c63d3d4a81f1c6bed327a

See more details on using hashes here.

File details

Details for the file sat_dependency_resolver-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sat_dependency_resolver-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 191327efca328602969eabbc7bd5d39700c2d0d3c6cdcb68d67289fbe3b5fe4d
MD5 cf18cabaedf8dde7b13c57490fe81309
BLAKE2b-256 7f763fddea229d205a21881549047162b179e032304ac6174eb38e6c24ee7173

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page