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.5.tar.gz (193.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.5-py3-none-any.whl (221.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ud_resolver-1.2.5.tar.gz
  • Upload date:
  • Size: 193.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.5.tar.gz
Algorithm Hash digest
SHA256 13d6cde237aef75bb56ed6a8e6123d679b3701810ce81a9c59e429aed774d48f
MD5 d716ba61daa79ebf52315292ca1c6ee6
BLAKE2b-256 db9cf14222b603f8aeededcabfa636ff596c09fd090df526fe65aa4bf645a234

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ud_resolver-1.2.5-py3-none-any.whl
  • Upload date:
  • Size: 221.2 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 620e5ef0f15bdd051ff760dd3a9d59b8e123f278223d8a0bea7c50591cfa757d
MD5 4f917470d5c81d7f93520a448dc4d502
BLAKE2b-256 ab4c32692d75b156a73dbb52af454d0a639dea32b54fa522c6c992c81822ae63

See more details on using hashes here.

Provenance

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