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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13d6cde237aef75bb56ed6a8e6123d679b3701810ce81a9c59e429aed774d48f
|
|
| MD5 |
d716ba61daa79ebf52315292ca1c6ee6
|
|
| BLAKE2b-256 |
db9cf14222b603f8aeededcabfa636ff596c09fd090df526fe65aa4bf645a234
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ud_resolver-1.2.5.tar.gz -
Subject digest:
13d6cde237aef75bb56ed6a8e6123d679b3701810ce81a9c59e429aed774d48f - Sigstore transparency entry: 2016205969
- Sigstore integration time:
-
Permalink:
code-with-zeeshan/universal-dependency-resolver@73be560c0d19847aab5d1a0256ca38601072c0fa -
Branch / Tag:
refs/tags/v1.2.5 - Owner: https://github.com/code-with-zeeshan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@73be560c0d19847aab5d1a0256ca38601072c0fa -
Trigger Event:
workflow_dispatch
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
620e5ef0f15bdd051ff760dd3a9d59b8e123f278223d8a0bea7c50591cfa757d
|
|
| MD5 |
4f917470d5c81d7f93520a448dc4d502
|
|
| BLAKE2b-256 |
ab4c32692d75b156a73dbb52af454d0a639dea32b54fa522c6c992c81822ae63
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ud_resolver-1.2.5-py3-none-any.whl -
Subject digest:
620e5ef0f15bdd051ff760dd3a9d59b8e123f278223d8a0bea7c50591cfa757d - Sigstore transparency entry: 2016206061
- Sigstore integration time:
-
Permalink:
code-with-zeeshan/universal-dependency-resolver@73be560c0d19847aab5d1a0256ca38601072c0fa -
Branch / Tag:
refs/tags/v1.2.5 - Owner: https://github.com/code-with-zeeshan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@73be560c0d19847aab5d1a0256ca38601072c0fa -
Trigger Event:
workflow_dispatch
-
Statement type: