Skip to main content

A universal dependency resolver supporting multiple package ecosystems

Project description

Universal Dependency Resolver

Resolve dependencies across PyPI, npm, Cargo, Go, Conda, Maven, and more — detect conflicts, check system compatibility, and export to any format.

udr resolve numpy pandas scikit-learn
udr resolve react vue -e npm

Install

pip install ud-resolver

With extras:

Install flag Adds
[system] GPU & system scanning (psutil, pynvml, cpuinfo)
[postgres] PostgreSQL support (psycopg2-binary, asyncpg)
[monitoring] OpenTelemetry & Sentry instrumentation
[all] Everything

Quick Start

# Resolve dependencies
udr resolve numpy pandas scikit-learn
udr resolve react vue -e npm

# Lock a project's dependencies
udr lock
udr lock --manifest requirements.txt --manifest package.json

# Check system compatibility
udr check
udr info

# Start API server
udr serve --port 8000

Python Library

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

async def main():
    aggregator = DataAggregator()
    info = await aggregator.get_package_info("flask", ecosystem="pypi")
    print(info["versions"])

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

asyncio.run(main())

Features

Feature What it does
13 ecosystems PyPI, npm, Cargo, Go, Conda, Maven, NuGet, RubyGems, Packagist, Homebrew, APT, APK, CocoaPods
SAT-solver resolution Z3-based conflict resolver for complex version constraints
System scanning OS, CPU, GPU, CUDA, Python, Node.js, GCC, Java detection
GPU-aware resolution Automatically resolves CUDA variants
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
CLI + API 9 CLI commands + 24 REST API endpoints
Desktop app Standalone GUI (download from GitHub Releases)
SAT conflict resolution Z3 theorem prover for dependency solving

How It Works

Your request → Fetch metadata from registry APIs
                   ↓
            Scan target system (OS, GPU, CUDA)
                   ↓
            Resolve conflicts with Z3 SAT solver
                   ↓
            Export to 12 formats

Links

Full documentation at github.com/code-with-zeeshan/universal-dependency-resolver

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ud_resolver-1.2.4.tar.gz (192.5 kB view details)

Uploaded Source

Built Distribution

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

ud_resolver-1.2.4-py3-none-any.whl (220.8 kB view details)

Uploaded Python 3

File details

Details for the file ud_resolver-1.2.4.tar.gz.

File metadata

  • Download URL: ud_resolver-1.2.4.tar.gz
  • Upload date:
  • Size: 192.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ud_resolver-1.2.4.tar.gz
Algorithm Hash digest
SHA256 958fe60bfe438dc7748c53d6605815dfc7981e47ad5b7229ffba8a9d908fdcf9
MD5 870d931369ca1bd0f3f0d01d46adfabe
BLAKE2b-256 424837872c088e3a5aba633d59a98fb2c160e6ee606206031781aaa2991ff6fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for ud_resolver-1.2.4.tar.gz:

Publisher: publish.yml on code-with-zeeshan/universal-dependency-resolver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ud_resolver-1.2.4-py3-none-any.whl.

File metadata

  • Download URL: ud_resolver-1.2.4-py3-none-any.whl
  • Upload date:
  • Size: 220.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ud_resolver-1.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 aec9165bd56f858bda17ca63a33b8fb9460a90ca0714589d5196093a5c18e7ac
MD5 7bb73c41b3fb65eb130a2d06174e5894
BLAKE2b-256 95925c6925c67b1074c98bb4e1965a138412efc863c2d4f0f6d69c0077797d6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ud_resolver-1.2.4-py3-none-any.whl:

Publisher: publish.yml on code-with-zeeshan/universal-dependency-resolver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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