Skip to content

Universal Dependency Resolver

Resolve, Lock and audit dependencies across 18+ ecosystems (PyPI, npm, Cargo, Conda, Go, Maven, NuGet..) In one pass. CUDA-aware resolution, CVE scanning, SBOM generation, and a single cross-ecosystem lock file - with CLI, REST API, desktop app, and VS Code extension.

PyPI Python License CI Tests Coverage mypy Ruff


One tool for all your dependencies

  • 25 Ecosystems


    Resolve dependencies across PyPI, npm, Crates.io, Go Modules, Maven, RubyGems, NuGet, Conda, APT, APK, and 17 more โ€” all in one lock file.

    See the full list

  • System-Aware


    Auto-detects OS, CPU, GPU, CUDA version. Selects the right torch+cu121 variant. ROCm and Metal supported too.

    Learn more

  • Supply Chain Security


    Scan CVEs across 18 ecosystems at once. Generate SPDX/CycloneDX SBOMs. Sign lock files with Ed25519.

    Check features

  • SAT-Powered Solver


    Auto-selects Z3, PubGrub, or Hybrid solver per workload. Version clustering. Per-ecosystem isolation. CUDA-aware conflict rules.

    How it works

  • 26 CLI Commands


    udr lock, udr check, udr sbom, udr graph, udr diff, udr why โ€” full toolkit for CI/CD and daily use.

    CLI reference

  • 59 REST API Endpoints


    Full programmatic API with Swagger docs. Authentication, rate limiting, webhooks.

    API reference


Quick Start

# Install
pip install ud-resolver

# For full capacity (SAT solvers + system detection):
pip install "ud-resolver[z3,pubgrub,system]"

# Resolve packages from any ecosystem
udr resolve flask>=2.0 react@^18 serde@crates

# Lock your entire project
udr lock

# Check CVEs across all dependencies
udr check --cve

# Start the API server
udr serve --port 8000

By the Numbers

Metric Value
โœ… Supported ecosystems 25 (18 resolvable + 7 query-only)
๐Ÿ”ฌ Tests passing 3803 unit + 96 integration + 392 e2e
๐ŸŽ› CLI commands 26
๐ŸŒ API endpoints 59
๐Ÿ“ค Export formats 15
๐Ÿ“ฆ PyPI downloads Downloads

How It Works

flowchart LR
    A["User Request<br/><code>udr resolve flask react</code>"] --> B
    B["Fetch metadata<br/>from registry APIs"] --> C
    C["Scan system<br/>OS ยท GPU ยท CUDA ยท Python"] --> D
    D["SAT Solver Engine<br/>Per-eco isolation ยท Version clustering<br/>CUDA-aware conflict resolution"] --> E
    E["Lock / Export<br/>15 formats ยท udr.lock"]

    B -->|"aiohttp"| F["PyPI ยท npm ยท Crates ยท Maven<br/>+ 14 more registries"]
    C -->|"nvidia-smi"| G["NVIDIA ยท AMD ยท Apple Silicon"]
    D -->|"AutoSolver โ†’ Z3 / PubGrub / Hybrid"| H["Prefer newer versions<br/>Resolve CUDA variants<br/>Detect cross-eco conflicts"]

Components

Component What it is Best for
๐Ÿ–ฅ CLI Terminal tool with 26 commands CI/CD, scripts, ad-hoc
๐Ÿ“š Python Library Importable backend.* modules Embedding in tools
๐ŸŒ API Server FastAPI REST server + Swagger UI Programmatic access
๐Ÿ–ฅ Desktop App Standalone Electron GUI GUI users, no terminal
๐ŸŒ Web UI Browser-based SPA Lightweight browser access
๐Ÿ“ VS Code Extension In-editor dependency management Developers using VS Code

Get Involved

Found a bug? Open an issue
Want a feature? Suggest it
Love the tool? Star the repo


MIT — free for personal and commercial use.