¿Funciona Ward con proyectos Python?
Actualizado
Sí. Ward admite proyectos Python 3.11 a 3.14 gestionados con uv, Poetry o pip. Django, FastAPI y Flask están soportados. Los proyectos PDM y Hatch aún no.
¿Qué revisa Ward en un proyecto Python?
Las reglas propias de Ward hacen el lint y ward-format revisa el formato. El preset standard además elige:
| Gate | Herramienta | Mínimo |
|---|---|---|
mypy |
Comprobación de tipos | ninguno |
pytest |
Tests | ninguno |
coverage |
coverage.py | 80% de líneas |
pip-audit es opcional. strict añade mutation testing con mutmut en CI, con un mínimo del 60%.
¿Cómo trata Ward a Django, FastAPI y Flask?
- Django: añade
django-stubs,pytest-djangoy un gatedjango-check. - FastAPI: añade
httpxpara el cliente de tests y el plugin de pydantic para mypy. - Flask: añade
pytest-flaskcuando la app tiene una factoríacreate_app.
¿Cómo configuro Ward en un proyecto Python?
cd tu-proyecto
ward init
ward check
Ward fija cada herramienta a una versión exacta en un grupo de dependencias ward de pyproject.toml. Un proyecto sin él recibe requirements-ward.txt. Ward rechaza Python menor que 3.11, Poetry menor que 2.2 y pip menor que 25.1. Ward está en alfa, así que la CLI y la configuración pueden cambiar antes de la 1.0.
¿Qué hago ahora?
¿Listo para probarlo? Instala Ward y ejecuta ward init en tu proyecto.