Python · Intermediário · Inglês · Técnico
mypy
Verificador estático de tipos que lê as type hints do código, sem executá-lo, e aponta incompatibilidades antes do deploy. Aceita adoção gradual, arquivo por arquivo.
Onde usar
Roda no CI e no editor para pegar erros como passar str onde se espera int. Em code review, aparece o comentário type: ignore, que deve vir sempre com justificativa.
Em código
def dobro(x: int) -> int:
return x * 2
dobro('a')
# $ mypy app.py
# mypy: argumento 'str' incompatível com intExemplos
mypy caught a str passed as int before the deploy.
O mypy pegou uma str passada como int antes do deploy.
Add the type hints and run mypy in the CI.
Adicione as type hints e rode o mypy no CI.
Cuidado
As hints não são checadas em execução: sem rodar o mypy, um tipo errado passa despercebido.
Sinônimos
verificador de tipos