3 from typing import Any, Generic, TypeVar
5 if sys.version_info >= (3, 9):
6 from types import GenericAlias
10 class Queue(queue.Queue[_T]):
11 # FIXME: `ctx` is a circular dependency and it's not actually optional.
12 # It's marked as such to be able to use the generic Queue in __init__.pyi.
13 def __init__(self, maxsize: int = ..., *, ctx: Any = ...) -> None: ...
14 def get(self, block: bool = ..., timeout: float | None = ...) -> _T: ...
15 def put(self, obj: _T, block: bool = ..., timeout: float | None = ...) -> None: ...
16 def qsize(self) -> int: ...
17 def empty(self) -> bool: ...
18 def full(self) -> bool: ...
19 def put_nowait(self, item: _T) -> None: ...
20 def get_nowait(self) -> _T: ...
21 def close(self) -> None: ...
22 def join_thread(self) -> None: ...
23 def cancel_join_thread(self) -> None: ...
25 class JoinableQueue(Queue[_T]):
26 def task_done(self) -> None: ...
27 def join(self) -> None: ...
29 class SimpleQueue(Generic[_T]):
30 def __init__(self, *, ctx: Any = ...) -> None: ...
31 if sys.version_info >= (3, 9):
32 def close(self) -> None: ...
33 def empty(self) -> bool: ...
34 def get(self) -> _T: ...
35 def put(self, item: _T) -> None: ...
36 if sys.version_info >= (3, 9):
37 def __class_getitem__(cls, item: Any) -> GenericAlias: ...