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.3.tar.gz (192.0 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.3-py3-none-any.whl (220.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ud_resolver-1.2.3.tar.gz
  • Upload date:
  • Size: 192.0 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.3.tar.gz
Algorithm Hash digest
SHA256 851613414d28d2e0503b0dd1f221278a1e2f8c0b906250832581f32bc4bf266a
MD5 b37d3ae2e4a91206e37ff0672070ded6
BLAKE2b-256 5590c254c8ad82a973f09fd990d0b22854cee9aa2ff62906b9d95a0ee1254421

See more details on using hashes here.

Provenance

The following attestation bundles were made for ud_resolver-1.2.3.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.3-py3-none-any.whl.

File metadata

  • Download URL: ud_resolver-1.2.3-py3-none-any.whl
  • Upload date:
  • Size: 220.3 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a328f46ef1439348a10752865e42b69099644b238cda353dcbe19b04672d8164
MD5 f1aa86eb70a8a8cfc905b717b41ceee0
BLAKE2b-256 26e9b90a920c96213e01b3292c4059f8ef7e595fb8f134c657a0d5b12fd8a3ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for ud_resolver-1.2.3-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