Framework leve em Go para criar microsserviços cloud-native, com transports HTTP e gRPC unificados, middleware e geração de código baseada em Protobuf.
nipunn1313/mypy-protobuf
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.
- Estrelas
- 711
- Forks
- 81
- Issues abertas
- 31
- Último commit
- há 4 dias
O que é?
mypy-protobuf é um plugin do protoc que gera arquivos stub .pyi compatíveis com mypy a partir de definições .proto. Ele adiciona informações de tipos estáticos ao código Python de protobuf para que verificadores de tipos, como mypy e pyright, detectem erros durante a verificação, em vez de em tempo de execução.
Em comparação com os stubs gerados pela opção integrada --pyi_out do protoc, os arquivos gerados adicionam tipos de construtor que levam em conta a presença dos campos, métodos tipados HasField, WhichOneof e ClearField, além de aliases de tipo para seus argumentos. Comentários nos arquivos .proto são incluídos nos stubs como docstrings, e valores de enum são envolvidos em NewType para que valores incompatíveis sejam sinalizados. Elementos obsoletos podem ser marcados com @warnings.deprecated.
O plugin também gera stubs para serviços e clientes gRPC, nas variantes síncrona e assíncrona, e oferece suporte às opções casttype e keytype/valuetype para envolver tipos de campos escalares e de mapa. Ele requer protoc 32 ou posterior e python-protobuf 6.32 ou posterior, e deixou de oferecer suporte a Python 2 após a versão 2.10.
Recursos principais
- 01Gera stubs .pyi com tipos de construtor que levam em conta a presença dos campos.
- 02Oferece métodos tipados HasField, WhichOneof e ClearField.
- 03Inclui nos stubs, como docstrings, os comentários dos arquivos .proto.
- 04Envolve valores de enum em NewType para que verificadores de tipos detectem valores incompatíveis.
- 05Gera stubs síncronos e assíncronos para serviços e clientes gRPC.
- 06Oferece suporte a wrappers de tipos personalizados para campos escalares e de mapa.
Casos de uso
- Adicionar verificação estática de tipos com mypy ou pyright a um projeto Python que usa mensagens protobuf.
- Gerar stubs tipados de clientes gRPC e servicers para serviços Python.
- Melhorar o preenchimento automático da IDE e as docstrings de classes protobuf geradas.
Início rápido
- 1
Instale protoc (versão 32.0 ou superior) na página de lançamentos do protobuf
- 2
Instale o plugin com pip
pip3 install mypy-protobuf - 3
Gere stubs do mypy junto com seu código Python usando protoc
protoc --python_out=output/location --mypy_out=output/location
Antes de usar
- São necessárias versões recentes: protoc 32.0 ou superior e python-protobuf 6.32 ou superior. Versões anteriores não foram testadas.
Em coleções
Tópicos
Perguntas frequentes
- O que é mypy-protobuf?
- 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. mypy-protobuf é um plugin do protoc que gera arquivos stub .pyi compatíveis com mypy a partir de definições .proto. Ele adiciona informações de tipos estáticos ao código Python de protobuf para que verificadores de tipos, como mypy e pyright, detectem erros durante a verificação, em vez de em tempo de execução.
- mypy-protobuf é gratuito? Qual é a licença?
- mypy-protobuf é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- mypy-protobuf ainda é mantido?
- Manutenção ativa. O último commit de mypy-protobuf foi em 2 de nov. de 2026.
- Para que posso usar mypy-protobuf?
- Adicionar verificação estática de tipos com mypy ou pyright a um projeto Python que usa mensagens protobuf. Gerar stubs tipados de clientes gRPC e servicers para serviços Python. Melhorar o preenchimento automático da IDE e as docstrings de classes protobuf geradas.
- Como instalar mypy-protobuf?
- Instale protoc (versão 32.0 ou superior) na página de lançamentos do protobuf Instale o plugin com pip: pip3 install mypy-protobuf Gere stubs do mypy junto com seu código Python usando protoc: protoc --python_out=output/location --mypy_out=output/location
- Onde consigo mypy-protobuf?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/nipunn1313/mypy-protobuf
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Plugin do protoc que gera um servidor proxy reverso para traduzir chamadas HTTP RESTful com JSON em requisições gRPC para serviços Go.
Uma ferramenta de linha de comando para chamar servidores gRPC, como o curl, mas usando entradas JSON, com descoberta de schemas via server reflection ou arquivos proto.
Ferramenta de linha de comando que inicia uma interface no navegador para enviar solicitações interativamente a servidores gRPC, como o Postman para REST.
Ferramenta de linha de comando para benchmark e testes de carga de serviços gRPC, com concorrência, limites de taxa e formatos de saída configuráveis.
Formato e toolchain da Google, independente de linguagem e plataforma, para serializar dados estruturados, com o compilador protoc e runtimes para várias linguagens.