tokencrawler/.venv/lib/python3.9/site-packages/cachetools-stubs/__init__.pyi
2022-03-17 22:16:30 +01:00

67 lines
2.6 KiB
Python

from _typeshed import IdentityFunction
from collections.abc import Iterator, Sequence
from contextlib import AbstractContextManager
from typing import Any, Callable, Generic, MutableMapping, TypeVar, overload
_KT = TypeVar("_KT")
_VT = TypeVar("_VT")
_T = TypeVar("_T")
class Cache(MutableMapping[_KT, _VT], Generic[_KT, _VT]):
def __init__(self, maxsize: float, getsizeof: Callable[[_VT], float] | None = ...) -> None: ...
def __getitem__(self, key: _KT) -> _VT: ...
def __setitem__(self, key: _KT, value: _VT) -> None: ...
def __delitem__(self, key: _KT) -> None: ...
def __iter__(self) -> Iterator[_KT]: ...
def __len__(self) -> int: ...
@overload # type: ignore[override]
def pop(self, key: _KT) -> _VT: ...
@overload
def pop(self, key: _KT, default: _VT | _T) -> _VT | _T: ...
def setdefault(self, key: _KT, default: _VT | None = ...) -> _VT: ...
@property
def maxsize(self) -> float: ...
@property
def currsize(self) -> float: ...
@staticmethod
def getsizeof(value: _VT) -> float: ...
class FIFOCache(Cache[_KT, _VT]):
def __init__(self, maxsize: float, getsizeof: Callable[[_VT], float] | None = ...) -> None: ...
class LFUCache(Cache[_KT, _VT]):
def __init__(self, maxsize: float, getsizeof: Callable[[_VT], float] | None = ...) -> None: ...
class LRUCache(Cache[_KT, _VT]):
def __init__(self, maxsize: float, getsizeof: Callable[[_VT], float] | None = ...) -> None: ...
class MRUCache(Cache[_KT, _VT]):
def __init__(self, maxsize: float, getsizeof: Callable[[_VT], float] | None = ...) -> None: ...
class RRCache(Cache[_KT, _VT]):
def __init__(
self, maxsize: float, choice: Callable[[Sequence[_KT]], _KT] | None = ..., getsizeof: Callable[[_VT], float] | None = ...
) -> None: ...
@property
def choice(self) -> Callable[[Sequence[_KT]], _KT]: ...
class TTLCache(Cache[_KT, _VT]):
def __init__(
self, maxsize: float, ttl: float, timer: Callable[[], float] = ..., getsizeof: Callable[[_VT], float] | None = ...
) -> None: ...
@property
def currsize(self) -> float: ...
@property
def timer(self) -> Callable[[], float]: ...
@property
def ttl(self) -> float: ...
def expire(self, time: float | None = ...) -> None: ...
def cached(
cache: MutableMapping[_KT, Any] | None, key: Callable[..., _KT] = ..., lock: AbstractContextManager[Any] | None = ...
) -> IdentityFunction: ...
def cachedmethod(
cache: Callable[[Any], MutableMapping[_KT, Any] | None],
key: Callable[..., _KT] = ...,
lock: Callable[[Any], AbstractContextManager[Any]] | None = ...,
) -> IdentityFunction: ...