danielgtaylor / danielgtaylor/python-betterproto
Simplify the generated code by explicitly removing dataclasses decorator
- Lenguaje dominante
- Python
- Estrellas
- 1.8k
- Forks
- 234
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
If [PEP 681](https://www.python.org/dev/peps/pep-0681) is accepted we would be able to simplify the generated code by removing the dataclasses decorator and then implictly make `betterproto.Message`s be dataclasses by defining `__init_subclass__` and retain the typed constructor:
```py
def __init_subclass__(cls) -> None:
dataclasses.dataclass(eq=False, repr=False)(cls)
```
I think this would be a nice readabilty improvement.
Guía de contribución
Línea de trabajo
Comienza revisando la salida de los mensajes generados por el generador de código y la implementación de betterproto.Message, especialmente cómo __init_subclass__ aplicaría dataclasses.dataclass. Comprueba los requisitos de PEP 681 con respecto a la compatibilidad del proyecto con Python 3.6+. Se considerará terminado cuando el código generado ya no necesite el decorador, mientras los mensajes conserven el comportamiento de dataclass y los constructores tipados.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- tooling
- Tipo de issue
- Refactorización
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100