Patrones comunes en Python uv: dependencias, uvx y ejecución de scripts

1 min read

Este artículo cubre cinco tareas de uso diario con uv.

Patrón 1: añadir y quitar dependencias

uv add requests
uv add "requests>=2.31,<3"
uv add --dev pytest ruff mypy
uv remove requests

uv add actualiza pyproject.toml, uv.lock y .venv al mismo tiempo.

Patrón 2: usar uv run para comandos del proyecto

uv run python main.py
uv run pytest
uv run ruff check .
uv run mypy src/

Patrón 3: usar uvx para herramientas temporales

uvx ruff check .
uvx pycowsay "hello uv"
uvx ruff@0.5.0 check
uvx --from httpie http https://httpbin.org/get

Patrón 4: dependencias inline en scripts (PEP 723)

# /// script
# dependencies = ["requests", "rich"]
# ///
import requests
from rich.pretty import pprint
r = requests.get("https://api.github.com/zen")
pprint(r.text)
uv add --script fetch.py requests rich
uv run fetch.py
uv run --with requests --with rich fetch.py

Patrón 5: migrar desde requirements.txt

uv add -r requirements.txt
uv pip compile requirements.in -o requirements.txt
uv pip sync requirements.txt

Tras migrar, usa pyproject.toml como fuente principal.

Siguiente paso

Para multi-versión de Python, interfaz pip y escenarios avanzados: 👉 Advanced