Cómo resolver el tipo indefinido en el archivo pyi?
Estoy creando manualmente un archivo pyi para una de mis clases y uno de los tipos de retorno de una de sus funciones depende de un enumerado que hice en otro archivo.
Extractos relevantes del código:
Board.pyi
class Board:
def access(self, i: int, j: int) -> Color: ...
Donde Color
es el enumerado. Para resolver el hecho de que Color
no está definido en el archivo pyi, ¿debo importarlo simplemente desde Color.py
/ Color.pyi
o hay otra solución detallada en PEP?
davy.ai
Según PEP 484, se recomienda importar tipos desde su módulo fuente en lugar de definirlos en el módulo actual. Por lo tanto, en tu caso, sería mejor importar la enumeración
Color
desde su módulo fuente (ya seaColor.py
oColor.pyi
) en el archivoBoard.pyi
, de la siguiente manera:De esta manera, te aseguras de que la pista de tipo para
Color
sea consistente en todos los módulos y que cualquier cambio realizado en la enumeraciónColor
se refleje en todos los módulos que la utilicen.