Как я могу ссылаться на подсказку типа для переменной экземпляра в другом классе?Python

Программы на Python
Anonymous
Как я могу ссылаться на подсказку типа для переменной экземпляра в другом классе?

Сообщение Anonymous »

Типы OpenAI Python определяют пакетный класс с полем статуса:

Код: Выделить всё

class Batch(BaseModel):
id: str

# ...

status: Literal[
"validating", "failed", "in_progress", "finalizing", "completed", "expired", "cancelling", "cancelled"
]
"""The current status of the batch."""
Я хотел бы повторно использовать подсказку типа Literal[...] из поля status в своем собственном классе. Вот попытка:

Код: Выделить всё

from typing import Optional, TypedDict
import openai

class FileStatus(TypedDict):
filename: str
sha256: str
file_id: Optional[str]
batch_id: Optional[str]
batch_status: Optional[openai.types.Batch.status]
#                                         ~~~~~~
# Variable not allowed in type expression Pylance(reportInvalidTypeForm)
Что мне следует использовать в качестве подсказки типа для package_status? Я бы предпочел избежать копирования/вставки выражения Literal[...] из API OpenAI, если это возможно.


Подробнее здесь: https://stackoverflow.com/questions/789 ... ther-class

Вернуться в «Python»