Python dev, exasperated by dict[str, Any], builds the most pedantic linter you never asked for
Original headline: Show HN: Gawain – Require type hints on all Python variables — github.com
More in Programming and developer news
A developer named 'gawain' has built a new Python linting tool with one clear, opinionated mission: to require type hints on absolutely everything—global variables, function parameters, return types, and class attributes. Unlike existing linters like `ruff` or `flake8-annotations` that focus only on functions, or type checkers like `mypy` that infer types where missing, `gawain` flatly refuses to run any type checking until every single variable is explicitly annotated, even for constants like `PORT = 8080` which it demands be `Final[int]`.
The tool is a direct, slightly aggressive reaction to the common `dict[str, Any]` pattern and the general reliance on IDE inference. It essentially forces developers into a hyper-strict typing discipline. For Python shops already using `mypy` or `pyright`, this adds another layer of bureaucratic linting before any real type analysis can begin. The creator's message to potential critics is a dismissive 'don't use it, little padawan,' perfectly capturing the tool's niche, stubborn, and amusingly grumpy appeal.
Read the original at github.com
Satirical commentary on real tech news, summarised with AI. Read the original source for the facts. How ZeroDaily works
