Help us improve
Share bugs, ideas, or general feedback.
From python-plugin
Manages Python projects with uv: initializes projects, adds/removes dependencies, handles lockfiles and syncing, configures pyproject.toml. Use for uv init, add, remove, lock, sync.
npx claudepluginhub laurigates/claude-plugins --plugin python-pluginHow this skill is triggered — by the user, by Claude, or both
Slash command
/python-plugin:uv-project-managementhaikuThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Quick reference for UV project setup, dependencies, and lockfiles.
Replaces pip, pip-tools, pipx, pyenv, virtualenv, and poetry for Python package and project management. Covers uv add, uv sync, uv run, uv init, build, publish, and workspace commands.
Manages Python dependencies, virtual environments, and project setup using the uv package manager. Use for faster pip workflows, lockfiles, and modern Python project scaffolding.
Share bugs, ideas, or general feedback.
Quick reference for UV project setup, dependencies, and lockfiles.
uv init)uv add, uv remove)uv lock)uv sync)For running scripts, see uv-run skill.
# Create new project with complete structure
uv init my-project
cd my-project
# Initialize in existing directory
uv init
# Initialize with specific Python version
uv init --python 3.11 my-app
# Add dependencies
uv add requests
uv add 'flask>=2.0'
uv add 'django>=4.0,<5.0'
# Add development dependencies
uv add --dev pytest pytest-cov black
# Add optional dependency groups
uv add --group docs sphinx sphinx-rtd-theme
# Remove dependencies
uv remove requests flask
# Migrate from requirements.txt
uv add -r requirements.txt
# Create/update lockfile (uv.lock)
uv lock
# Lock with upgraded packages
uv lock --upgrade-package requests
uv lock --upgrade
# Lock without installing (CI/CD)
uv lock --frozen
# Sync environment to lockfile
uv sync
# Sync without updating lockfile
uv sync --frozen
# Error if lockfile is out of date
uv sync --locked
UV projects follow this standard structure:
my-project/
├── pyproject.toml # Project metadata and dependencies
├── uv.lock # Locked dependency versions
├── .venv/ # Virtual environment (auto-created)
├── README.md
└── src/
└── my_project/
└── __init__.py
[project]
name = "my-project"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
dependencies = []
[build-system]
requires = ["uv_build>=0.9.2,<0.10.0"]
build-backend = "uv_build"
uv init my-app && cd my-app
uv add ruff pytest
uv run pytest
# Production dependencies
uv add fastapi uvicorn 'pydantic>=2.0'
# Development tooling
uv add --dev pytest pytest-cov ruff ty
# Documentation
uv add --group docs sphinx mkdocs-material
# Update specific package
uv lock --upgrade-package requests
# Update all dependencies
uv lock --upgrade
# Sync after update
uv sync