Как контекстный менеджер должен быть аннотирован подсказками типов Python?
import typing
@contextlib.contextmanager
def foo() -> ???:
yield
В документации по contextlib documentation on contextlib много не упоминается о типах.
документация по typing.ContextManager не так уж полезна.
Также есть typing.Generator, в котором есть хотя бы пример. Означает ли это, что я должен использовать typing.Generator[None, None, None]
, а не typing.ContextManager
?
import typing
@contextlib.contextmanager
def foo() -> typing.Generator[None, None, None]:
yield