diff --git a/third_party/2and3/retry/__init__.pyi b/third_party/2and3/retry/__init__.pyi new file mode 100644 index 000000000..0cf7651b0 --- /dev/null +++ b/third_party/2and3/retry/__init__.pyi @@ -0,0 +1 @@ +from .api import retry as retry diff --git a/third_party/2and3/retry/api.pyi b/third_party/2and3/retry/api.pyi new file mode 100644 index 000000000..8aa4e0ac1 --- /dev/null +++ b/third_party/2and3/retry/api.pyi @@ -0,0 +1,28 @@ +from logging import Logger +from typing import Any, Callable, Dict, Optional, Sequence, Tuple, Type, TypeVar, Union + +_T = TypeVar("_T", bound=Callable[..., Any]) +_Decorator = Callable[[_T], _T] +_R = TypeVar("_R") + +def retry_call( + f: Callable[..., _R], + fargs: Optional[Sequence[Any]] = ..., + fkwargs: Optional[Dict[str, Any]] = ..., + exceptions: Union[Type[Exception], Tuple[Type[Exception], ...]] = ..., + tries: int = ..., + delay: int = ..., + max_delay: Optional[int] = ..., + backoff: int = ..., + jitter: int = ..., + logger: Optional[Logger] = ..., +) -> _R: ... +def retry( + exceptions: Union[Type[Exception], Tuple[Type[Exception], ...]] = ..., + tries: int = ..., + delay: int = ..., + max_delay: Optional[int] = ..., + backoff: int = ..., + jitter: int = ..., + logger: Optional[Logger] = ..., +) -> _Decorator: ...