🎯

uv-package-manager

🎯Skill

from philoserf/claude-code-setup

VibeIndex|
What it does

Streamlines Python project management with ultra-fast dependency resolution, virtual environment creation, and package installation using uv.

πŸ“¦

Part of

philoserf/claude-code-setup(21 items)

uv-package-manager

Installation

uv runRun with uv
uv run python -m my_project
uv runRun with uv
uv run pytest
git cloneClone repository
git clone https://github.com/user/project.git
uv runRun with uv
uv run python app.py
Install ScriptRun install script
curl -LsSf https://astral.sh/uv/install.sh | sh
πŸ“– Extracted from docs: philoserf/claude-code-setup
2Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

Expert in uv, the ultra-fast Python package manager and project tool. Use when setting up Python projects, managing dependencies, creating virtual environments, installing Python versions, working with lockfiles, migrating from pip/poetry/pip-tools, or optimizing Python workflows with uv's blazing-fast performance.

Reference Files

Detailed uv guidance organized by topic:

  • [installation-setup.md](installation-setup.md) - Installation methods, verification, and quick start workflows
  • [virtual-environments.md](virtual-environments.md) - Creating, activating, and managing virtual environments with uv
  • [package-management.md](package-management.md) - Adding, removing, upgrading packages and working with lockfiles
  • [python-versions.md](python-versions.md) - Installing and managing Python interpreters with uv
  • [project-configuration.md](project-configuration.md) - pyproject.toml patterns, workspaces, and monorepos
  • [ci-cd-docker.md](ci-cd-docker.md) - GitHub Actions, Docker integration, and production deployments
  • [migration-guide.md](migration-guide.md) - Migrating from pip, poetry, and pip-tools to uv
  • [command-reference.md](command-reference.md) - Essential commands and quick reference

---

# UV Package Manager

Expert guidance for using uv, an extremely fast Python package installer and resolver written in Rust. Provides 10-100x faster installation than pip with drop-in compatibility, virtual environment management, Python version management, and modern lockfile support.

Focus Areas

  • Ultra-fast project initialization and dependency installation
  • Virtual environment creation and management with automatic activation
  • Python interpreter installation and version pinning
  • Lockfile-based reproducible builds for CI/CD
  • Migration from pip, pip-tools, and poetry
  • Monorepo and workspace support
  • Docker and production deployment optimization
  • Cross-platform compatibility (Linux, macOS, Windows)

Core Approach

Essential patterns for effective uv usage:

Project initialization:

  • Use uv init for new projects (creates pyproject.toml, .python-version, .gitignore)
  • Use uv sync to install from existing pyproject.toml
  • Pin Python versions with uv python pin 3.12
  • Always commit uv.lock for reproducible builds

Virtual environments:

  • Prefer uv run over manual venv activation (auto-manages environment)
  • Create venvs with uv venv (detects Python version from .python-version)
  • Use uv venv --python 3.12 for specific versions

Package management:

  • Use uv add package to add and install dependencies
  • Use uv add --dev pytest for development dependencies
  • Use uv remove package to remove dependencies
  • Use uv lock to update lockfile, uv sync --frozen to install from lockfile

Reproducible builds:

  • Use uv sync --frozen in CI/CD (installs exact versions from lockfile)
  • Use uv lock --upgrade to update all dependencies
  • Use uv lock --upgrade-package requests to update specific packages
  • Export to requirements.txt with uv export --format requirements-txt

Performance optimization:

  • Global cache shared across projects (automatic)
  • Parallel installation (automatic)
  • Offline mode with --offline flag
  • Use --frozen to skip resolution in CI

Quality Checklist

Before deploying uv-based projects:

  • uv.lock committed to version control for reproducible builds
  • .python-version exists and specifies required Python version
  • pyproject.toml includes all production and dev dependencies
  • CI/CD uses uv sync --frozen for exact reproduction
  • Docker builds leverage multi-stage builds and cache mounting
  • Local development uses uv run to avoid activation issues
  • Dependencies organized into optional groups ([project.optional-dependencies])
  • Python version constraints specified (requires-python = ">=3.8")
  • Security: uv export with --require-hashes for production lockdown
  • Documentation explains uv installation for new contributors

Output

Production-ready deliverables:

  • Initialized projects with pyproject.toml and uv.lock
  • Virtual environments configured for development
  • CI/CD workflows using uv for fast, reproducible builds
  • Dockerfiles optimized for uv with caching and multi-stage builds
  • Migration scripts and documentation for team adoption
  • Requirements.txt exports for compatibility when needed

Common Workflows

Starting a New Project

```bash

# Initialize project

uv init my-project

cd my-project

# Pin Python version

uv python pin 3.12

# Add dependencies

uv add fastapi uvicorn pydantic

# Add dev dependencies

uv add --dev pytest ruff mypy

# Run application

uv run python -m my_project

# Run tests

uv run pytest

```

Working with Existing Project

```bash

# Clone repository

git clone https://github.com/user/project.git

cd project

# Install dependencies (auto-creates venv)

uv sync

# Install with all optional dependencies

uv sync --all-extras

# Run application

uv run python app.py

```

Updating Dependencies

```bash

# Update all dependencies

uv lock --upgrade

uv sync

# Update specific package

uv lock --upgrade-package requests

uv sync

# View outdated packages

uv tree --outdated

```

CI/CD Integration

```bash

# Install uv in CI

curl -LsSf https://astral.sh/uv/install.sh | sh

# Install exact dependencies from lockfile

uv sync --frozen --no-dev

# Run tests

uv run pytest

```

Key Advantages Over Alternatives

vs pip:

  • 10-100x faster installation
  • Built-in virtual environment support
  • Better dependency resolution
  • Lockfile support (uv.lock)

vs poetry:

  • Significantly faster (6-8x)
  • Less opinionated, simpler workflows
  • Compatible with standard pyproject.toml
  • Lighter weight, no Python required for install

vs pip-tools:

  • Faster compilation (7-8x)
  • Integrated venv and Python management
  • Better UX with uv add/uv remove
  • Single tool for entire workflow

Safety and Best Practices

Version control:

  • Always commit uv.lock for reproducibility
  • Commit .python-version for consistency
  • Never commit .venv directory

CI/CD:

  • Use --frozen flag to prevent unexpected updates
  • Pin uv version in CI for consistency
  • Cache uv's global cache directory for speed

Security:

  • Use uv export --require-hashes for supply chain security
  • Review dependency updates before applying
  • Use uv tree to audit dependency graph

Development:

  • Use uv run instead of activating venvs
  • Create separate optional dependency groups for different use cases
  • Test with minimal dependencies before adding extras

Tool Integration

Pre-commit hooks:

```yaml

# .pre-commit-config.yaml

repos:

- repo: local

hooks:

- id: uv-lock

name: uv lock check

entry: uv lock --check

language: system

pass_filenames: false

```

VS Code:

```json

// .vscode/settings.json

{

"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",

"python.terminal.activateEnvironment": true

}

```

GitHub Actions:

```yaml

  • uses: astral-sh/setup-uv@v2

with:

enable-cache: true

  • run: uv sync --frozen
  • run: uv run pytest

```

Troubleshooting

Common issues and solutions:

```bash

# uv not found after install

echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc

source ~/.bashrc

# Wrong Python version

uv python pin 3.12

uv venv --python 3.12

# Lockfile out of sync

uv lock --upgrade

# Cache issues

uv cache clean

# Dependency conflicts

uv lock --verbose # See resolution details

```

Where to Find What

  • Getting started: See Focus Areas and Core Approach above
  • Installation: [installation-setup.md](installation-setup.md)
  • Virtual environments: [virtual-environments.md](virtual-environments.md)
  • Package operations: [package-management.md](package-management.md)
  • Python versions: [python-versions.md](python-versions.md)
  • Project config: [project-configuration.md](project-configuration.md)
  • CI/CD & Docker: [ci-cd-docker.md](ci-cd-docker.md)
  • Migration: [migration-guide.md](migration-guide.md)
  • Command reference: [command-reference.md](command-reference.md)

Resources

  • Official documentation:
  • GitHub repository:
  • Migration guides:
  • Comparison with other tools: