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.1.tar.gz (10.2 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.1-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file sat_dependency_resolver-0.1.1.tar.gz.

File metadata

  • Download URL: sat_dependency_resolver-0.1.1.tar.gz
  • Upload date:
  • Size: 10.2 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.1.tar.gz
Algorithm Hash digest
SHA256 fbd42451b803652a527a6e99b6af8e243f2c85abf123e835fc042039c49e3c86
MD5 487aaecf92ee1d6182b49bcb542079d0
BLAKE2b-256 2e0fc4e998902e5cd621261ae335de0f79a0abc0f35b07ef956f8568a5d7306e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sat_dependency_resolver-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0d9719e82983ac8dc7f66f7a4bbd5b2ef6e40567f64a1389ae7a2e03ff795dfc
MD5 577b7d7235967968b0cd8c7b344f3cc8
BLAKE2b-256 029755d76d5ab687ea334e07af11aa3269c83c802934da4c7e0da346982acd69

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