aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/storage3/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/storage3/__init__.py')
-rw-r--r--.venv/lib/python3.12/site-packages/storage3/__init__.py44
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)