What problem does it solve?
It solves dependency drift and inconsistent environments across multiple Python packages living in the same repository by giving you a single, unified workspace setup.
Core Features & Use Cases
- Unified lock file for the whole monorepo: create one
uv.lock that resolves all workspace members together, keeping versions consistent across packages.
- Shared editable installs: use
workspace = true so internal packages update instantly during development without reinstalling.
- Monorepo-ready testing and build patterns: apply recommended pytest import settings, and use Docker multi-stage builds to avoid bloated images by exporting service-specific dependencies.
- Use cases: multi-package CLI + core + services repos, internal library ecosystems, and migrations from poly-repos where versions must be aligned before consolidating.
Quick Start
Configure your root pyproject.toml as a uv workspace by setting [tool.uv.workspace] members = ["packages/*"] and adding a single uv.lock, then sync the repository with uv sync --group dev.