Support `enum.global_enum`
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 20.6k
- Forks
- 3.3k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
Feature
Mypy should support module-level constants defined by enum.global_enum.
Pitch
enum.global_enum adds an enum’s members to the global namespace. Mypy reports errors for any use of global constants defined that way. It would make enum_global much more usable if mypy recognized them as defined.
Example file:
import enum
@enum.global_enum
class Example(enum.Enum):
X = enum.auto()
print(X)
Current behavior:
$ python3.11 global_enum.py
X
$ mypy global_enum.py
global_enum.py:7: error: Name "X" is not defined [name-defined]
Found 1 error in 1 file (checked 1 source file)
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.
Línea de trabajo
Comienza ejecutando con Python y mypy el ejemplo proporcionado global_enum.py y, a continuación, rastrea cómo mypy gestiona los decoradores de enum y la vinculación de nombres a nivel de módulo. Añade compatibilidad con los nombres exportados por enum.global_enum y verifica que el ejemplo ya no informe de un error name-defined, con cobertura de regresión para este caso.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- devtools
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100