danielgtaylor / danielgtaylor/python-betterproto

Simplify the generated code by explicitly removing dataclasses decorator

Abierto
#334 2 comentarios 1 reacción 0 asignados Ver en GitHub
enhancement medium
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

Abrir la 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.