2 from concurrent.futures._base import Error, Future as _ConcurrentFuture
3 from typing import Any, Awaitable, Callable, Generator, Iterable, TypeVar
5 from .events import AbstractEventLoop
7 if sys.version_info < (3, 8):
8 from concurrent.futures import CancelledError as CancelledError, TimeoutError as TimeoutError
9 class InvalidStateError(Error): ...
11 if sys.version_info >= (3, 7):
12 from contextvars import Context
14 if sys.version_info >= (3, 9):
15 from types import GenericAlias
20 if sys.version_info < (3, 7):
21 class _TracebackLogger:
24 def __init__(self, exc: Any, loop: AbstractEventLoop) -> None: ...
25 def activate(self) -> None: ...
26 def clear(self) -> None: ...
27 def __del__(self) -> None: ...
29 def isfuture(obj: object) -> bool: ...
31 class Future(Awaitable[_T], Iterable[_T]):
33 _exception: BaseException
35 _log_traceback = False
36 def __init__(self, *, loop: AbstractEventLoop | None = ...) -> None: ...
37 def __repr__(self) -> str: ...
38 def __del__(self) -> None: ...
39 if sys.version_info >= (3, 7):
40 def get_loop(self) -> AbstractEventLoop: ...
41 def _callbacks(self: _S) -> list[tuple[Callable[[_S], Any], Context]]: ...
42 def add_done_callback(self: _S, __fn: Callable[[_S], Any], *, context: Context | None = ...) -> None: ...
45 def _callbacks(self: _S) -> list[Callable[[_S], Any]]: ...
46 def add_done_callback(self: _S, __fn: Callable[[_S], Any]) -> None: ...
47 if sys.version_info >= (3, 9):
48 def cancel(self, msg: Any | None = ...) -> bool: ...
50 def cancel(self) -> bool: ...
51 def cancelled(self) -> bool: ...
52 def done(self) -> bool: ...
53 def result(self) -> _T: ...
54 def exception(self) -> BaseException | None: ...
55 def remove_done_callback(self: _S, __fn: Callable[[_S], Any]) -> int: ...
56 def set_result(self, __result: _T) -> None: ...
57 def set_exception(self, __exception: type | BaseException) -> None: ...
58 def __iter__(self) -> Generator[Any, None, _T]: ...
59 def __await__(self) -> Generator[Any, None, _T]: ...
61 def _loop(self) -> AbstractEventLoop: ...
62 if sys.version_info >= (3, 9):
63 def __class_getitem__(cls, item: Any) -> GenericAlias: ...
65 def wrap_future(future: _ConcurrentFuture[_T] | Future[_T], *, loop: AbstractEventLoop | None = ...) -> Future[_T]: ...