What problem does it solve?
It solves the problem of inconsistent Python tooling and dependency drift by ensuring you use a project’s pinned versions via uv for installs, locking, and running dev tools.
Core Features & Use Cases
- Project bootstrapping: initialize new or existing Python projects with uv, including a pinned Python version and a consistent dependency setup.
- Deterministic dependency management: use uv.lock with uv sync and uv lock --upgrade to keep environments reproducible across machines and CI.
- Correct tool execution: run pytest/ruff/mypy and other project-defined tools through uv run so the project’s versions are used rather than global installs.
- Workspaces and monorepos: configure uv workspaces and workspace sources for multi-package repositories.
- Dev workflow integration: set up pre-commit hooks and common testing/linting/refactoring workflows aligned with uv conventions.
Quick Start
Run this for your current repository so tools run with the project’s uv environment: uv sync && uv run pytest