Does Ward work with Python projects?
Updated
Yes. Ward supports Python 3.11 to 3.14 projects managed with uv, Poetry or pip. Django, FastAPI and Flask are supported. PDM and Hatch projects are not supported yet.
What does Ward check in a Python project?
Ward’s own rules do the linting, and ward-format checks formatting. The standard preset also selects:
| Gate | Tool | Minimum |
|---|---|---|
mypy |
Type check | none |
pytest |
Tests | none |
coverage |
coverage.py | 80% of lines |
pip-audit is opt-in. strict adds mutmut mutation testing in CI, with a 60% minimum.
How does Ward treat Django, FastAPI and Flask?
- Django: adds
django-stubs,pytest-djangoand adjango-checkgate. - FastAPI: adds
httpxfor the test client and the pydantic mypy plugin. - Flask: adds
pytest-flaskwhen the app has acreate_appfactory.
How do I set Ward up in a Python project?
cd your-project
ward init
ward check
Ward pins every tool at an exact version in a ward dependency group in pyproject.toml. A project without one gets requirements-ward.txt. Ward refuses Python below 3.11, Poetry below 2.2 and pip below 25.1. Ward is in alpha, so the CLI and the configuration may change before 1.0.
Where do I go next?
Ready to try it? Install Ward and run ward init in your project.