googleapis / googleapis/google-cloud-python
Include mypy types / add py.typed
- Linguagem predominante
- Python
- Estrelas
- 5.4k
- Forks
- 1.8k
- Merge médio
- 2d 23h
- PRs com merge (30d)
- 123
Descrição
**Is your feature request related to a problem? Please describe.**
Modern python can be type-checked using mypy, but the python distribution of this package does not include the type specs, nor is there a companion type package.
**Describe the solution you'd like**
Types generated using e.g. https://pypi.org/project/mypy-protobuf/ included either directly in the python googleapis-common-protos package or a separate googleapis-common-protos-stubs package. A separate stubs package might help with avoiding accidental breakage.
**Describe alternatives you've considered**
I could check in the googleapi protos into the repository where I'm using them and add codegen from that.
**Additional context**
For the grpcio packages, there's stubs maintained by a third-party, https://pypi.org/project/grpc-stubs/. The protoc plugin https://pypi.org/project/mypy-protobuf/ codegens stubs for proto files (messages and grpc clients/handlers).
These packages need py.typed
- [ ] google-cloud-access-context-manager
- [ ] google-cloud-audit-log
- [ ] googleapis-common-protos
- [ ] grpc-google-iam-v1
Guia de contribuição
Direção de pesquisa
Revise os quatro pacotes listados e suas distribuições Python atuais e, em seguida, compare a saída protobuf gerada com as expectativas do mypy-protobuf. Defina se o trabalho deve pertencer a cada pacote ou a um pacote separado de stubs e considere como incluir py.typed sem causar quebras acidentais. O trabalho estará concluído quando os pacotes selecionados expuserem informações de tipo utilizáveis pelo mypy.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python
- Domínio
- developer-experience
- Tipo de issue
- Funcionalidade
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 35/100