Awesome Reviewers

Verification · Static analysis · Type checking

Gradual typing

Type-check annotated code first and tighten strictness per module.

How to build it

  1. Enable type checking for the modules that already have annotations.
  2. Set per-module strictness, such as [[tool.mypy.overrides]] or per-file pyright strict comments.
  3. Raise strictness for each module once it is annotated and record the list in config.

Signals in a repository

  • A [tool.mypy] section with overrides for selected modules in pyproject.toml.
  • A pyright configuration or '# pyright: strict' comments in some source files.

In practice

44 repositories run a tool for this check in the scanned set.

  • mypy · 35 repos
  • pyright · 16 repos

Examples