Dependency Skill
Purpose
Manage Python dependencies efficiently using the uv package manager.
Instructions
Initialize a new project
uv init
Add production dependencies
uv add typer rich textual pydantic tinydb questionary pyfiglet python-dateutil
Add development dependencies
uv add --dev pytest pytest-cov black ruff mypy
Sync dependencies (install from lock file)
uv sync
Run scripts
uv run python -m package_name.main uv run pytest
Update dependencies
uv lock --upgrade uv sync
Remove a dependency
uv remove package-name
Common Dependency Sets
Todo App Dependencies
Core
uv add typer rich textual pydantic tinydb questionary pyfiglet python-dateutil
Development
uv add --dev pytest pytest-cov black ruff
Web App Dependencies
uv add fastapi uvicorn sqlmodel httpx
Examples
Full project setup
Initialize
uv init
Add all dependencies at once
uv add typer[all] rich textual pydantic tinydb questionary pyfiglet python-dateutil
Add dev dependencies
uv add --dev pytest pytest-cov
Sync to install
uv sync
Verify installation
uv run python -c "import rich; print(rich.version)"
Best Practices
-
Always use uv instead of pip for modern Python projects
-
Lock dependencies with uv.lock for reproducibility
-
Separate dev dependencies from production
-
Run commands with uv run to ensure correct environment
-
Update dependencies regularly with uv lock --upgrade