
Desarrollo con Python
Crea scripts de Python, servicios FastAPI y suites de pruebas con herramientas modernas — uv, PEP 723 y mejores prácticas de pytest
Instalar
Ejecuta este comando para instalar todas las habilidades de este pack:
npx skillstore add @python-development La CLI detecta automáticamente las carpetas de Codex y Claude Code y las instala en ambas cuando están disponibles.
Descripción general
Guía de uso
Mejorado por IAGuía detallada
# Desarrollo con Python
Crea scripts de Python, servicios FastAPI y suites de pruebas con herramientas modernas — uv, PEP 723 y mejores prácticas de pytest.
10 分钟起一个带测试的 FastAPI 服务。
## Qué Hace Este Plugin
Tres habilidades que cubren el flujo de trabajo completo de backend en Python:
| Habilidad | Propósito |
|-----------|----------|
| **Python Scripting** | Scripts independientes con uv y dependencias inline PEP 723 — no necesita configuración de virtualenv |
| **FastAPI Mastery** | Creación de API REST con enrutamiento, validación de solicitudes, middleware, autenticación e integración de base de datos |
| **pytest Mastery** | Suites de pruebas con fixtures, parametrize, mocking, pruebas asíncronas y cobertura |
## Ejemplo Completo: Crear una API de Acortador de URL con Pruebas
### Paso 1: Crear la estructura del servicio FastAPI
```
Create a FastAPI URL shortener service with:
- POST /shorten — accepts {"url": "https://..."}, returns {"short_code": "abc123", "short_url": "http://localhost:8000/abc123"}
- GET /{short_code} — redirects to original URL
- GET /stats/{short_code} — returns click count
- Use SQLite via SQLAlchemy for storage
- Add input validation: reject invalid URLs, max URL length 2048
- Include proper error responses (404 for unknown codes, 422 for invalid input)
```
### Paso 2: Agregar pruebas completas
```
Write pytest tests for the URL shortener:
- Test POST /shorten with valid URL returns 201 + short_code
- Test POST /shorten with invalid URL returns 422
- Test GET /{short_code} redirects correctly (status 307)
- Test GET /{short_code} with unknown code returns 404
- Test GET /stats/{short_code} returns correct click count after multiple visits
- Use httpx AsyncClient as test client
- Use a separate test database (SQLite in-memory)
- Add fixtures for: app client, sample shortened URL, database setup/teardown
```
### Paso 3: Agregar un script de utilidad
```
Create a Python script with PEP 723 inline dependencies that:
- Reads a CSV file of URLs (one per line)
- Calls the /shorten endpoint for each URL
- Outputs a new CSV with original_url, short_url, short_code columns
- Use uv for dependency management (httpx, csv are dependencies)
- Add retry logic for failed requests
- Include a --dry-run flag that validates URLs without shortening
```
**Resultado:** Un servicio API completo y probado + un script de utilidad por lotes — todo generado desde indicaciones en lenguaje natural, listo para desplegar.
## Requisitos del Entorno
- **Python 3.10+** (se recomienda 3.12)
- Gestor de paquetes **uv** para resolución rápida de dependencias:
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```
- Para proyectos FastAPI, las dependencias se gestionan mediante `pyproject.toml` o `requirements.txt`
- Para scripts independientes, los metadatos inline PEP 723 te permiten declarar dependencias directamente en el archivo del script — no se necesita configuración separada
### Verificación rápida
```bash
python3 --version # 3.10+
uv --version # cualquier versión reciente
```
## Manejo de Errores
### uv no instalado
```
command not found: uv
```
**Solución:** Instalar uv: `curl -LsSf https://astral.sh/uv/install.sh | sh`
Alternativamente, usar pip como alternativa: `pip install -r requirements.txt`
### Errores de importación en las pruebas
```
ModuleNotFoundError: No module named 'httpx'
```
**Solución:** Instalar dependencias de prueba: `uv pip install httpx pytest pytest-asyncio`
### El servidor FastAPI no se inicia
Causas comunes:
- Puerto ya en uso: `uvicorn app:app --port 8001`
- Dependencias faltantes: `uv pip install fastapi uvicorn sqlalchemy`
- Versión de Python demasiado antigua: actualizar a 3.10+
### Fixtures de pytest no encontrados
Si las pruebas fallan con `fixture not found`, asegúrate de:
- `conftest.py` esté en el directorio de pruebas
- Las funciones de fixture estén decoradas con `@pytest.fixture`
- Los fixtures asíncronos usen `@pytest_asyncio.fixture`Habilidades
3python-scripting
Riesgo medio 72Crear scripts portátiles de Python con uv
Las utilidades independientes de Python a menudo necesitan dependencias repetibles y un comportamiento claro en la línea de comandos. Esta skill ayuda a Claude, Codex y Claude Code a redactar scripts basados en uv con metadatos PEP 723.
fastapi-mastery
Riesgo medio 69Crea APIs con FastAPI usando patrones guiados
Los proyectos de FastAPI necesitan patrones consistentes para enrutamiento, validación, seguridad, acceso a datos y despliegue. Esta skill proporciona a Claude, Codex y Claude Code orientación estructurada para crear y mejorar servicios FastAPI.
pytest-mastery
Riesgo bajo 79Escribir suites de Pytest fiables
Los equipos de Python necesitan pruebas repetibles que sean fáciles de ejecutar, depurar y ampliar. Esta skill ofrece orientación práctica sobre pytest y uv para pruebas unitarias, cobertura, fixtures y patrones de prueba de FastAPI.
Packs similares

Kit de Herramientas de Contenedores Docker
Contenedores Docker de extremo a extremo — audita Dockerfiles, orquesta compilaciones multi-servicio y despliega en Kubernetes. Un solo kit de herramientas para tu flujo de trabajo de contenedores.
3 habilidades

Kit de Herramientas de Esquema Postgres
Cubre diseño de esquemas, redacción de consultas y optimización de SQL para backends relacionales. Ideal para agentes que trabajan en funciones con muchos datos que necesitan modelado limpio y acceso rápido.
3 habilidades

Claude Code Power Tools
Agrega hooks, ejecuciones headless e integraciones MCP para convertir Claude Code en un motor de flujo de trabajo programable
3 habilidades