diff options
Diffstat (limited to '.venv/lib/python3.12/site-packages/storage3/__init__.py')
-rw-r--r-- | .venv/lib/python3.12/site-packages/storage3/__init__.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/storage3/__init__.py b/.venv/lib/python3.12/site-packages/storage3/__init__.py new file mode 100644 index 00000000..48b4cb74 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/storage3/__init__.py @@ -0,0 +1,44 @@ +from __future__ import annotations + +from typing import Literal, Union, overload + +from storage3._async import AsyncStorageClient +from storage3._async.bucket import AsyncStorageBucketAPI +from storage3._async.file_api import AsyncBucket +from storage3._sync import SyncStorageClient +from storage3._sync.bucket import SyncStorageBucketAPI +from storage3._sync.file_api import SyncBucket +from storage3.constants import DEFAULT_TIMEOUT +from storage3.version import __version__ + +__all__ = [ + "create_client", + "__version__", + "AsyncStorageClient", + "AsyncBucket", + "AsyncStorageBucketAPI", + "SyncStorageClient", + "SyncBucket", + "SyncStorageBucketAPI", +] + + +@overload +def create_client( + url: str, headers: dict[str, str], *, is_async: Literal[True] +) -> AsyncStorageClient: ... + + +@overload +def create_client( + url: str, headers: dict[str, str], *, is_async: Literal[False] +) -> SyncStorageClient: ... + + +def create_client( + url: str, headers: dict[str, str], *, is_async: bool, timeout: int = DEFAULT_TIMEOUT +) -> Union[AsyncStorageClient, SyncStorageClient]: + if is_async: + return AsyncStorageClient(url, headers, timeout) + else: + return SyncStorageClient(url, headers, timeout) |