aboutsummaryrefslogtreecommitdiffhomepage
path: root/libs/apprise/Apprise.pyi
diff options
context:
space:
mode:
Diffstat (limited to 'libs/apprise/Apprise.pyi')
-rw-r--r--libs/apprise/Apprise.pyi63
1 files changed, 63 insertions, 0 deletions
diff --git a/libs/apprise/Apprise.pyi b/libs/apprise/Apprise.pyi
new file mode 100644
index 000000000..919d370db
--- /dev/null
+++ b/libs/apprise/Apprise.pyi
@@ -0,0 +1,63 @@
+from typing import Any, Dict, List, Iterable, Iterator, Optional
+
+from . import (AppriseAsset, AppriseAttachment, AppriseConfig, ConfigBase,
+ NotifyBase, NotifyFormat, NotifyType)
+from .common import ContentLocation
+
+_Server = Union[str, ConfigBase, NotifyBase, AppriseConfig]
+_Servers = Union[_Server, Dict[Any, _Server], Iterable[_Server]]
+# Can't define this recursively as mypy doesn't support recursive types:
+# https://github.com/python/mypy/issues/731
+_Tag = Union[str, Iterable[Union[str, Iterable[str]]]]
+
+class Apprise:
+ def __init__(
+ self,
+ servers: _Servers = ...,
+ asset: Optional[AppriseAsset] = ...,
+ location: Optional[ContentLocation] = ...,
+ debug: bool = ...
+ ) -> None: ...
+ @staticmethod
+ def instantiate(
+ url: Union[str, Dict[str, NotifyBase]],
+ asset: Optional[AppriseAsset] = ...,
+ tag: Optional[_Tag] = ...,
+ suppress_exceptions: bool = ...
+ ) -> NotifyBase: ...
+ def add(
+ self,
+ servers: _Servers = ...,
+ asset: Optional[AppriseAsset] = ...,
+ tag: Optional[_Tag] = ...
+ ) -> bool: ...
+ def clear(self) -> None: ...
+ def find(self, tag: str = ...) -> Iterator[Apprise]: ...
+ def notify(
+ self,
+ body: str,
+ title: str = ...,
+ notify_type: NotifyType = ...,
+ body_format: NotifyFormat = ...,
+ tag: _Tag = ...,
+ attach: Optional[AppriseAttachment] = ...,
+ interpret_escapes: Optional[bool] = ...
+ ) -> bool: ...
+ async def async_notify(
+ self,
+ body: str,
+ title: str = ...,
+ notify_type: NotifyType = ...,
+ body_format: NotifyFormat = ...,
+ tag: _Tag = ...,
+ attach: Optional[AppriseAttachment] = ...,
+ interpret_escapes: Optional[bool] = ...
+ ) -> bool: ...
+ def details(self, lang: Optional[str] = ...) -> Dict[str, Any]: ...
+ def urls(self, privacy: bool = ...) -> Iterable[str]: ...
+ def pop(self, index: int) -> ConfigBase: ...
+ def __getitem__(self, index: int) -> ConfigBase: ...
+ def __bool__(self) -> bool: ...
+ def __nonzero__(self) -> bool: ...
+ def __iter__(self) -> Iterator[ConfigBase]: ...
+ def __len__(self) -> int: ... \ No newline at end of file