Skip to main content

Universal Dependency Resolver

PyPI version Python versions License CI

Resolve dependencies across 20 ecosystems — detect conflicts, check system compatibility, and export to any format.

# From any ecosystem, resolve together
udr resolve flask>=2.0 torch@pypi react@^18

# Lock your project's dependencies
udr lock

# Check system compatibility
udr check

# Start the API server
udr serve --port 8000

Install

pip install ud-resolver

Optional extras

Extra What it adds
[system] GPU & system scanning (psutil, pynvml, cpuinfo)
[postgres] PostgreSQL support
[monitoring] OpenTelemetry, Sentry, Prometheus instrumentation
[all] Everything above

Features

Capability Detail
20 ecosystems PyPI, Conda, npm, Crates.io (Rust), Maven (Java), Go Modules, APT (Debian), APK (Alpine), CocoaPods, Homebrew, NuGet, Packagist, RubyGems, Pub (Dart/Flutter), Gradle, Swift, Hex (Elixir), Haskell (Cabal), Docs DB, Custom DB
SAT-solver resolution Z3-based conflict resolver handles complex cross-ecosystem version constraints
System-aware Detects OS, CPU, GPU, CUDA, Python, Node.js, GCC, Java — resolution adapts to your environment
GPU-aware Automatically selects CUDA variants (e.g. torch 2.1.2+cu121) when NVIDIA GPU detected
15 export formats requirements.txt, package.json, Dockerfile, docker-compose.yml, pyproject.toml, environment.yml, Cargo.toml, build.gradle, pom.xml, CMakeLists.txt, install.sh, install.bat, Gemfile, composer.json, go.mod
17 CLI commands serve, check, resolve, lock, scan, graph, verify, list-ecosystems, update, install, completion, why, outdated, diff, search, details, auth
45 REST API endpoints Full programmatic API with OpenAPI docs
Desktop GUI Standalone Electron app — no Python or Node.js needed
Zero config SQLite by default, in-memory cache, no Docker required
Lock file Reproducible udr.lock with full system snapshot

Quick Start

# Resolve cross-ecosystem packages
udr resolve numpy pandas scikit-learn
udr resolve react vue -e npm
udr resolve serde tokio -e crates

# Lock a project's dependencies
udr lock
udr lock --manifest requirements.txt --dry-run

# Validate lock file
udr verify

# Show dependency tree
udr graph flask django

# Scan a GitHub repo without cloning
udr scan --github https://github.com/user/repo

# System info
udr check
udr info

# List all supported ecosystems
udr list-ecosystems

Use as a Python Library

import asyncio
from backend.core.data_aggregator import DataAggregator
from backend.core.conflict_resolver import ConflictResolver
from backend.core.system_scanner import SystemScanner

async def main():
    scanner = SystemScanner()
    system_info = await scanner.scan_all()

    aggregator = DataAggregator()
    info = await aggregator.get_package_info(
        "torch", ecosystem="pypi",
        include_dependencies=True, include_versions=True,
    )

    resolver = ConflictResolver()
    result = resolver.resolve(
        [{"name": "flask", "version": ">=2.0"}],
        system_info=system_info,
    )

asyncio.run(main())

How It Works

Your request ──► Fetch metadata from registry APIs
                      │
                      ▼
              Scan target system (OS, GPU, CUDA, runtimes)
                      │
                      ▼
              Resolve conflicts with Z3 SAT solver
                      │
                      ▼
              Export to 12 formats or write lock file

Links

Release files for ud-resolver 1.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ud-resolver 1.3.3
File Size Uploaded
ud_resolver-1.3.3.tar.gz 246.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ud-resolver 1.3.3
File Interpreter ABI Platform
ud_resolver-1.3.3-py3-none-any.whl Python 3 none any Details

Total release size: 529.2 kB

Release files / ud_resolver-1.3.3.tar.gz

Download URL ud_resolver-1.3.3.tar.gz
Size 246.0 kB
Tags Source
SHA-256 checksum
How to use checksums
3791aec18390201f92aa7b0d85689728203145769b07cbc8ffd9a122d9d20625
BLAKE2b-256 checksum
How to use checksums
aa16f48c539743c5128f28b3eabcabf594c1af793d17dc5c8a3c85cd22c66c3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 5, 2026.

Transparency log

Release files / ud_resolver-1.3.3-py3-none-any.whl

Download URL ud_resolver-1.3.3-py3-none-any.whl
Size 283.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3d3ed9e087b4f58df5979bac1dde346e5de64e1e83ae33e4e45e46069b79b838
BLAKE2b-256 checksum
How to use checksums
9f6060856a7d13e281718430ab4ca6573a47a03b8e94f100e4357c75b4e00700
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 5, 2026.

Transparency log

Release history Release notifications | RSS feed

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

This release

1.3.3 This release

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.20

2 release files

1.1.19

2 release files

1.1.18

2 release files

1.1.17

2 release files

1.1.16

2 release files

1.1.15

2 release files

1.1.14

2 release files

1.1.13

2 release files

1.1.12

2 release files

1.1.11

2 release files

1.1.10

2 release files

1.1.9

2 release files

1.1.8

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page