uv-package-manager
Manage Python projects and dependencies using UV, the ultra-fast Rust-based package manager. Use when creating Python projects, managing dependencies, or running Python scripts.
Installation
Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.
Voir la source ↗GuidesInstructions
UV Package Manager Skill
When to Activate
Activate this skill when:
- Creating new Python projects
- Adding or removing dependencies
- Running Python scripts or tools
- Managing virtual environments
- Setting up Python version management
Why UV?
- 10-100x faster than pip (Rust implementation)
- Unified tool - replaces pip, pip-tools, poetry, pyenv, virtualenv
- Reliable - lock files for reproducible builds
- Modern - built for current Python workflows
Quick Commands
# Project Management
uv init # Create new project
uv init --package my-lib # Create installable package
# Dependencies
uv add requests # Add dependency
uv add --dev pytest # Add dev dependency
uv remove package-name # Remove dependency
# Running Code
uv run script.py # Run Python script
uv run pytest # Run installed tool
uv run python -m module # Run module
# Environment
uv sync # Sync dependencies
uv sync --frozen # Sync without updating lock
uv lock # Update lock file
uv python install 3.12 # Install Python version
Creating Projects
# Standard project
uv init my-project
cd my-project
# Package project (for libraries)
uv init --package my-library
# Specify Python version
uv init --python 3.11
Created Structure
my-project/
├── .python-version # Python version
├── pyproject.toml # Project config
├── .venv/ # Virtual environment (auto-created)
└── hello.py # Sample script
Adding Dependencies
# Basic add
uv add requests fastapi uvicorn
# With version constraints
uv add "django>=4.2,<5.0"
uv add "requests==2.31.0"
uv add "fastapi[all]"
# Dev dependencies
uv add --dev pytest black ruff mypy
# From git
uv add --git https://github.com/user/repo --branch develop
Running Scripts
# Run Python script
uv run script.py
# Run with arguments
uv run script.py --input data.csv
# Run dev tools
uv run pytest tests/ -v
uv run black .
uv run ruff check .
# Run with temporary dependency
uv run --with httpx fetch_data.py
# Start Python REPL
uv run python
Virtual Environment
UV automatically manages virtual environments:
# Created automatically on first use
uv sync # First sync
uv add package # First package add
uv run script.py # First run
# Manual creation
uv venv
uv venv --python 3.11
# Manual activation (rarely needed)
source .venv/bin/activate # macOS/Linux
.venv\Scripts\activate # Windows
Lock Files
# Generate/update lock file
uv lock
# Sync from lock (normal)
uv sync
# Sync without updating (CI/CD)
uv sync --frozen
# Update specific package
uv lock --upgrade-package requests
# ALWAYS commit these files:
# - pyproject.toml
# - uv.lock
# - .python-version
Python Version Management
# List available versions
uv python list
# Install specific version
uv python install 3.12
# Set project version
echo "3.12" > .python-version
Migration from pip
# Import requirements.txt
uv init my-project
cd my-project
uv add -r requirements.txt
# Import dev requirements
uv add --dev -r requirements-dev.txt
Common pyproject.toml
[project]
name = "my-project"
version = "0.1.0"
requires-python = ">=3.11"
dependencies = [
"fastapi>=0.100.0",
"uvicorn>=0.20.0",
]
[project.optional-dependencies]
dev = [
"pytest>=7.0.0",
"black>=23.0.0",
"ruff>=0.1.0",
]
[tool.uv]
dev-dependencies = [
"pytest>=7.0.0",
]
Best Practices
DO ✅
- Commit
uv.lockand.python-version - Use semantic versioning for dependencies
- Use
--devfor development tools - Use
uv runinstead of manual activation - Use
--frozenin CI/CD
DON'T ❌
- Commit
.venv/directory - Use
*for version constraints - Mix pip and uv in same project
- Skip lock file updates after changes
Troubleshooting
# Clear cache
uv cache clean
# Verbose mode for debugging
uv --verbose add package
# Regenerate lock
uv lock
uv sync
Related Resources
See AgentUsage/uv_usage.md for complete documentation including:
- Docker integration patterns
- Workspace support for monorepos
- CI/CD configuration
- Detailed migration guides
Exemples
Consultez les exemples du dépôt source.
Voir la source ↗Historique source
- Date d’indexation
- 2026-01-20
- Mise à jour de l’index
- 2026-01-26
- Branch
- main
Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!