ExpertiDict

Python · Intermediário · Inglês · Técnico

mypy

/ˈmaɪ ˈpaɪ/substantivo

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 int

Exemplos

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

Veja também

Todos os termos de Python