Cross-ecosystem dependency resolver — PyPI, npm, Cargo, Conda, Maven, Go, and more
Project description
Universal Dependency Resolver
Resolve dependencies across 13 ecosystems — detect conflicts, check system compatibility, and export to any format.
# From any ecosystem, resolve together
udr resolve flask>=2.0 torch@pypi react@^18
# Lock your project's dependencies
udr lock
# Check system compatibility
udr check
# Start the API server
udr serve --port 8000
Install
pip install ud-resolver
Optional extras
| Extra | What it adds |
|---|---|
[system] |
GPU & system scanning (psutil, pynvml, cpuinfo) |
[postgres] |
PostgreSQL + Redis + Celery support |
[monitoring] |
OpenTelemetry, Sentry, Prometheus instrumentation |
[all] |
Everything above |
Features
| Capability | Detail |
|---|---|
| 13 ecosystems | PyPI, npm, Cargo, Go, Conda, Maven, NuGet, RubyGems, Packagist, Homebrew, Debian APT, Alpine APK, CocoaPods |
| SAT-solver resolution | Z3-based conflict resolver handles complex cross-ecosystem version constraints |
| System-aware | Detects OS, CPU, GPU, CUDA, Python, Node.js, GCC, Java — resolution adapts to your environment |
| GPU-aware | Automatically selects CUDA variants (e.g. torch 2.1.2+cu121) when NVIDIA GPU detected |
| 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 |
| 10 CLI commands | serve, check, resolve, info, lock, scan, graph, verify, list-ecosystems, update |
| 24 REST API endpoints | Full programmatic API with OpenAPI docs |
| Desktop GUI | Standalone Electron app — no Python or Node.js needed |
| Zero config | SQLite by default, in-memory cache, no Docker required |
| Lock file | Reproducible udr-lock.json with full system snapshot |
Quick Start
# Resolve cross-ecosystem packages
udr resolve numpy pandas scikit-learn
udr resolve react vue -e npm
udr resolve serde tokio -e crates
# Lock a project's dependencies
udr lock
udr lock --manifest requirements.txt --dry-run
# Validate lock file
udr verify
# Show dependency tree
udr graph flask django
# Scan a GitHub repo without cloning
udr scan --github https://github.com/user/repo
# System info
udr check
udr info
# List all supported ecosystems
udr list-ecosystems
Use as a Python Library
import asyncio
from backend.core.data_aggregator import DataAggregator
from backend.core.conflict_resolver import ConflictResolver
from backend.core.system_scanner import SystemScanner
async def main():
scanner = SystemScanner()
system_info = await scanner.scan_all()
aggregator = DataAggregator()
info = await aggregator.get_package_info(
"torch", ecosystem="pypi",
include_dependencies=True, include_versions=True,
)
resolver = ConflictResolver()
result = resolver.resolve(
[{"name": "flask", "version": ">=2.0"}],
system_info=system_info,
)
asyncio.run(main())
How It Works
Your request ──► Fetch metadata from registry APIs
│
▼
Scan target system (OS, GPU, CUDA, runtimes)
│
▼
Resolve conflicts with Z3 SAT solver
│
▼
Export to 12 formats or write lock file
Links
- GitHub — source, issues, releases
- CLI Reference
- Architecture
- API Docs
- Changelog
- License: MIT
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.3.0.tar.gz.
File metadata
- Download URL: ud_resolver-1.3.0.tar.gz
- Upload date:
- Size: 199.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb92cec3f1a7da4b9c54f0613602b6b987100208199d200978fb85d4f25abc4b
|
|
| MD5 |
f737e38d673eb21aa42b125e29f19e38
|
|
| BLAKE2b-256 |
3b35c438f6b68dd9a3ce3a96c84556b210397b77ff34619f61880decc255a44d
|
Provenance
The following attestation bundles were made for ud_resolver-1.3.0.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.3.0.tar.gz -
Subject digest:
cb92cec3f1a7da4b9c54f0613602b6b987100208199d200978fb85d4f25abc4b - Sigstore transparency entry: 2022308409
- Sigstore integration time:
-
Permalink:
code-with-zeeshan/universal-dependency-resolver@20d8cda778cc54f6b2a47dacac46b53fb32feae9 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/code-with-zeeshan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@20d8cda778cc54f6b2a47dacac46b53fb32feae9 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file ud_resolver-1.3.0-py3-none-any.whl.
File metadata
- Download URL: ud_resolver-1.3.0-py3-none-any.whl
- Upload date:
- Size: 236.4 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 |
9f3922c004604aaf5f70b036c63538ddc7e7aa98aa7f56fa612c400638f1287d
|
|
| MD5 |
edb8e679731eae39fdbb18d3423e5d67
|
|
| BLAKE2b-256 |
4bb8de5919d7b6c2398c10ad407b4efe8a06164cce49b814de885cba1aa70761
|
Provenance
The following attestation bundles were made for ud_resolver-1.3.0-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.3.0-py3-none-any.whl -
Subject digest:
9f3922c004604aaf5f70b036c63538ddc7e7aa98aa7f56fa612c400638f1287d - Sigstore transparency entry: 2022308561
- Sigstore integration time:
-
Permalink:
code-with-zeeshan/universal-dependency-resolver@20d8cda778cc54f6b2a47dacac46b53fb32feae9 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/code-with-zeeshan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@20d8cda778cc54f6b2a47dacac46b53fb32feae9 -
Trigger Event:
workflow_dispatch
-
Statement type: