`mypy --strict` fails with `Name "betterproto.ServiceStub" is not defined`
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 45/100
Línea de trabajo
Comienza en src/betterproto/init.py, donde se importa ServiceStub, e inspecciona cómo se exponen los símbolos exportados a mypy. Reproduce el problema generando archivos gRPC y ejecutando mypy --strict sobre el código generado; se considera terminado cuando el código generado ya no informa de Name "betterproto.ServiceStub" is not defined.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
mypy --strict fails with Name "betterproto.ServiceStub" is not defined
Reproduction Steps
- Generate some gRPC files from some proto files
- Run
mypyon the generated code
Expected Results
mypy passes.
Actual Results
error: Name "betterproto.ServiceStub" is not defined [name-defined]
Where the stub class is defined in the generated code.
I see the symbol is imported in https://github.com/danielgtaylor/python-betterproto/blob/master/src/betterproto/__init__.py, but it seems like mypy needs imported symbols to be explicitly exported, probably via __all__ or using from x import y as y (see https://peps.python.org/pep-0484/#stub-files).
System Information
$ protoc --version; python --version; pip show betterproto; pip show grpcio-tools
bash: protoc: command not found
Python 3.11.9
Name: betterproto
Version: 2.0.0b6
Location: /home/luca/devel/frequenz-microgrid-betterproto/.direnv/python-3.11.9/lib/python3.11/site-packages
Requires: grpclib, python-dateutil
Required-by: frequenz-microgrid-betterproto
Name: grpcio-tools
Version: 1.63.0
Location: /home/luca/devel/setuptools-betterproto/.direnv/python-3.11/lib/python3.11/site-packages
Requires: grpcio, protobuf, setuptools
(I'm using grpcio-tools to generate the files, not protoc)
Checklist
- I have searched the issues for duplicates.
- I have shown the entire traceback, if possible.
- I have verified this issue occurs on the latest prelease of betterproto which can be installed using
pip install -U --pre betterproto, if possible.
- Lenguaje dominante
- Python
- Estrellas
- 1.8k
- Forks
- 235
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de danielgtaylor/python-betterproto
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
-
bug investigation needed
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
-
bug investigation needed
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
-
bug investigation needed
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
danielgtaylor/python-betterproto#676 · 3 comentarios ·
Todos los issues de danielgtaylor/python-betterproto
Issues similares
-
[Resource]: LoreAbiertoresource-submission validation-passed
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
hesreallyhim/awesome-claude-code#3234 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
openminion/openminion#376 ·
Los mantenedores suelen responder en 1 día
-
Type: ☹︎ Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
posit-dev/great-tables#1028 ·
Los mantenedores suelen responder en 1 día
-
integration: apple_tv
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
home-assistant/core#188282 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
A "since" range is worded as a career: "the past two seasons" says "regular season career (2025 on)"AbiertoP4: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
jeffknupp/association#538 ·