Um superset tipado de JavaScript que adiciona tipos estáticos opcionais e compila para JavaScript legível e baseado em padrões.
python/mypy
Um verificador estático de tipos para Python que encontra erros de tipo com anotações PEP 484 sem executar o código.
- Estrelas
- 20,717
- Forks
- 3,376
- Issues abertas
- 3,232
- Último commit
- ontem
O que é?
Mypy é um verificador estático de tipos para Python. Você adiciona anotações de tipo (PEP 484) ao código, e o mypy aponta os lugares em que valores ou funções são usados com tipos incompatíveis, ajudando a encontrar muitos bugs antes de o programa ser executado.
A tipagem é gradual: você pode anotar uma base de código aos poucos e recorrer à tipagem dinâmica quando os tipos estáticos forem inconvenientes. As anotações de tipo não alteram a execução do programa, então o interpretador padrão do Python ainda pode executar código sinalizado pelo mypy. O sistema de tipos oferece inferência, generics, tipos callable, tuple e union, além de subtipagem estrutural.
Em projetos grandes, o mypy oferece um modo daemon (dmypy) que permite novas verificações incrementais rápidas. O mypy integra-se a editores como VS Code, Vim, Emacs e Sublime Text, e pode ser executado em hooks do pre-commit. Ele próprio é compilado com mypyc.
Recursos principais
- 01Verifica anotações de tipo (PEP 484) e aponta usos incompatíveis sem executar o código.
- 02Oferece inferência de tipos, generics, tipos callable, tuple e union, além de subtipagem estrutural.
- 03Permite tipagem gradual, para que código sem tipos possa coexistir com código anotado.
- 04Oferece um modo daemon (dmypy) para verificações incrementais rápidas em bases de código grandes.
- 05Integra-se a editores como VS Code, Vim, Emacs e Sublime Text.
Casos de uso
- Encontrar bugs relacionados a tipos em projetos Python antes que cheguem à produção.
- Adicionar anotações de tipo gradualmente a uma base de código Python legada existente.
- Impor verificações de tipo em CI ou em hooks do pre-commit em projetos de equipe.
Início rápido
- 1
Instale o mypy com pip
python3 -m pip install -U mypy - 2
Verifique os tipos do seu programa
mypy PROGRAM
Em coleções
Tópicos
Perguntas frequentes
- O que é mypy?
- Um verificador estático de tipos para Python que encontra erros de tipo com anotações PEP 484 sem executar o código. Mypy é um verificador estático de tipos para Python. Você adiciona anotações de tipo (PEP 484) ao código, e o mypy aponta os lugares em que valores ou funções são usados com tipos incompatíveis, ajudando a encontrar muitos bugs antes de o programa ser executado.
- mypy é gratuito? Qual é a licença?
- mypy é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
- mypy ainda é mantido?
- Manutenção ativa. O último commit de mypy foi em 6 de nov. de 2026.
- Para que posso usar mypy?
- Encontrar bugs relacionados a tipos em projetos Python antes que cheguem à produção. Adicionar anotações de tipo gradualmente a uma base de código Python legada existente. Impor verificações de tipo em CI ou em hooks do pre-commit em projetos de equipe.
- Como instalar mypy?
- Instale o mypy com pip: python3 -m pip install -U mypy Verifique os tipos do seu programa: mypy PROGRAM
- Onde consigo mypy?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/python/mypy
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Verificador de tipos em tempo de execução para Python que valida anotações PEP 484 em funções, objetos arbitrários e variáveis locais.
Verificador de tipos em tempo de execução, escrito em Python puro, que aplica dicas de tipo PEP a funções, classes e variáveis com overhead mínimo.
Plugin do protoc que gera arquivos stub de tipos Python .pyi a partir de definições de Protocol Buffers, com stubs tipados para HasField, ClearField e gRPC.
Verificador de tipos e servidor de linguagem para Python, rápido e escrito em Rust, com recursos de IDE como navegação, autocompletar e realce semântico.
Uma implementação em Rust do compilador e do servidor de linguagem do TypeScript 7, que substitui diretamente as ferramentas de verificação de tipos e geração de saída.