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.1.tar.gz (175.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.1-py3-none-any.whl (197.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ud_resolver-1.2.1.tar.gz
  • Upload date:
  • Size: 175.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.1.tar.gz
Algorithm Hash digest
SHA256 40e5285daa330187cce3828097944f4dfb4062f6f173f03de091f5a06d641da9
MD5 2720dddde6a0f719a64d0ffdd806a378
BLAKE2b-256 82250312f971738a964a0e15e713c3d79ba5e2407fcfe6773a980a1857f934d6

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ud_resolver-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 197.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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fa80b1bf20d9a3449997d309bb497ec74c30f38875380223df05f29bc2c32ec2
MD5 d4b7213befc9270a8cb5672298b934b3
BLAKE2b-256 0313d46b1fda299c8d4f5d707d9062fb6a21fdd3a1d8a3dafba0ef3bfa03d578

See more details on using hashes here.

Provenance

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