Propose migrating the project's installation and dependency management workflow from pip + venv to uv.
Motivation:
- Speed — uv is significantly faster than pip for dependency resolution and installation, which matters given our multiple extras (compose, hf, vllm, vllm20, dev, dev-vllm20) and heavy dependencies like vLLM and Torch.
- Unified tooling — uv replaces venv, pip, and pip-tools with a single tool, simplifying onboarding.
- Reproducibility — uv produces a universal lockfile (uv.lock) for consistent environments across contributors and CI.
- Better extras handling — uv sync --extra cleanly handles our usecase-based installation pattern.
- Python version management — uv can manage Python versions itself, removing the need for separate pyenv setup.
- De-facto standard - uv us considered the de facto standard for pythion open source projects these days.
proposed readme after switch to uv:
# This project uses uv for dependency management.
# Install uv (one-time): https://docs.astral.sh/uv/getting-started/installation/
# Simple installation (base dependencies):
uv sync
# Or install with a specific usecase extra:
uv sync --extra compose # Compose modular models
uv sync --extra hf # HuggingFace inference
uv sync --extra vllm # vLLM production inference (0.19.x)
uv sync --extra vllm20 # vLLM 0.20+ (requires CUDA 13+)
uv sync --extra dev # Everything (uses vLLM 0.19.x by default)
uv sync --extra dev-vllm20 # Dev environment with vLLM 0.20+
Propose migrating the project's installation and dependency management workflow from pip + venv to uv.
Motivation:
proposed readme after switch to uv: