1 # NOTE: These are incomplete!
6 from contextlib import AbstractContextManager
7 from typing import Any, AnyStr, Callable, Generic, Iterable, Mapping, Sequence, Tuple, TypeVar
9 from .connection import Connection
10 from .context import BaseContext
12 if sys.version_info >= (3, 8):
13 from .shared_memory import _SLT, ShareableList, SharedMemory
15 _SharedMemory = SharedMemory
16 _ShareableList = ShareableList
18 if sys.version_info >= (3, 9):
19 from types import GenericAlias
26 def __init__(self, **kwds: Any) -> None: ...
27 def __getattr__(self, __name: str) -> Any: ...
28 def __setattr__(self, __name: str, __value: Any) -> None: ...
30 _Namespace = Namespace
33 typeid: str | bytes | None
34 address: tuple[str | bytes, int]
35 id: str | bytes | int | None
36 def __init__(self, typeid: bytes | str | None, address: tuple[str | bytes, int], id: str | bytes | int | None) -> None: ...
37 def __repr__(self) -> str: ...
38 def __getstate__(self) -> tuple[str | bytes | None, tuple[str | bytes, int], str | bytes | int | None]: ...
39 def __setstate__(self, state: tuple[str | bytes | None, tuple[str | bytes, int], str | bytes | int | None]) -> None: ...
41 class BaseProxy(object):
42 _address_to_local: dict[Any, Any]
49 authkey: AnyStr | None = ...,
52 manager_owned: bool = ...,
54 def __deepcopy__(self, memo: Any | None) -> Any: ...
55 def _callmethod(self, methodname: str, args: Tuple[Any, ...] = ..., kwds: dict[Any, Any] = ...) -> None: ...
56 def _getvalue(self) -> Any: ...
57 def __reduce__(self) -> tuple[Any, tuple[Any, Any, str, dict[Any, Any]]]: ...
59 class ValueProxy(BaseProxy, Generic[_T]):
60 def get(self) -> _T: ...
61 def set(self, value: _T) -> None: ...
63 if sys.version_info >= (3, 9):
64 def __class_getitem__(cls, item: Any) -> GenericAlias: ...
66 # Returned by BaseManager.get_server()
70 self, registry: dict[str, tuple[Callable[..., Any], Any, Any, Any]], address: Any, authkey: bytes, serializer: str
72 def serve_forever(self) -> None: ...
73 def accept_connection(self, c: Connection, name: str) -> None: ...
75 class BaseManager(AbstractContextManager[BaseManager]):
77 self, address: Any | None = ..., authkey: bytes | None = ..., serializer: str = ..., ctx: BaseContext | None = ...
79 def get_server(self) -> Server: ...
80 def connect(self) -> None: ...
81 def start(self, initializer: Callable[..., Any] | None = ..., initargs: Iterable[Any] = ...) -> None: ...
82 def shutdown(self) -> None: ... # only available after start() was called
83 def join(self, timeout: float | None = ...) -> None: ... # undocumented
85 def address(self) -> Any: ...
90 callable: Callable[..., Any] | None = ...,
92 exposed: Sequence[str] | None = ...,
93 method_to_typeid: Mapping[str, str] | None = ...,
94 create_method: bool = ...,
97 # Conflicts with method names
101 class SyncManager(BaseManager, AbstractContextManager[SyncManager]):
102 def BoundedSemaphore(self, value: Any = ...) -> threading.BoundedSemaphore: ...
103 def Condition(self, lock: Any = ...) -> threading.Condition: ...
104 def Event(self) -> threading.Event: ...
105 def Lock(self) -> threading.Lock: ...
106 def Namespace(self) -> _Namespace: ...
107 def Queue(self, maxsize: int = ...) -> queue.Queue[Any]: ...
108 def RLock(self) -> threading.RLock: ...
109 def Semaphore(self, value: Any = ...) -> threading.Semaphore: ...
110 def Array(self, typecode: Any, sequence: Sequence[_T]) -> Sequence[_T]: ...
111 def Value(self, typecode: Any, value: _T) -> ValueProxy[_T]: ...
112 def dict(self, sequence: Mapping[_KT, _VT] = ...) -> _dict[_KT, _VT]: ...
113 def list(self, sequence: Sequence[_T] = ...) -> _list[_T]: ...
115 class RemoteError(Exception): ...
117 if sys.version_info >= (3, 8):
118 class SharedMemoryServer(Server): ...
119 class SharedMemoryManager(BaseManager):
120 def get_server(self) -> SharedMemoryServer: ...
121 def SharedMemory(self, size: int) -> _SharedMemory: ...
122 def ShareableList(self, sequence: Iterable[_SLT] | None) -> _ShareableList[_SLT]: ...