Skip to content

Switch to uv for dependency management and installation #38

@aviv1ron1

Description

@aviv1ron1

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+

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions