Skip to main content

Universal Dependency Resolver

PyPI version Python versions License CI

Resolve dependencies across 18 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
18 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)
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
12 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
16 CLI commands serve, check, resolve, lock, scan, graph, verify, list-ecosystems, update, install, completion, why, outdated, diff, search, details
35+ 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.2

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.2
File Size Uploaded
ud_resolver-1.3.2.tar.gz 227.7 kB Details

Built distribution (wheel)

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

Total release size: 491.7 kB

Release files / ud_resolver-1.3.2.tar.gz

Download URL ud_resolver-1.3.2.tar.gz
Size 227.7 kB
Tags Source
SHA-256 checksum
How to use checksums
252edf79643905a1f4721cf9616dd976c85983720fe97603f829ac56b08f441c
BLAKE2b-256 checksum
How to use checksums
5d792d9490c57b9fd46b581b06437243c039495bdcb93efec15194a6ca285ebd
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 4, 2026.

Transparency log

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

Download URL ud_resolver-1.3.2-py3-none-any.whl
Size 264.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dc1311af891ae6c23a28858dd53f69d0dedd2b973ef2ea378d1d6ddf689e8c11
BLAKE2b-256 checksum
How to use checksums
2c5abd8ad026aa3128d221f54bb5e4887203cd8da59892eeb2124b0eac5f7749
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 4, 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

1.3.3

2 release files

This release

1.3.2 This release

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