aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/litellm/proxy/db/base_client.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/litellm/proxy/db/base_client.py')
-rw-r--r--.venv/lib/python3.12/site-packages/litellm/proxy/db/base_client.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/litellm/proxy/db/base_client.py b/.venv/lib/python3.12/site-packages/litellm/proxy/db/base_client.py
new file mode 100644
index 00000000..07f0ecdc
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/litellm/proxy/db/base_client.py
@@ -0,0 +1,53 @@
+from typing import Any, Literal, List
+
+
+class CustomDB:
+ """
+ Implements a base class that we expect any custom db implementation (e.g. DynamoDB) to follow
+ """
+
+ def __init__(self) -> None:
+ pass
+
+ def get_data(self, key: str, table_name: Literal["user", "key", "config"]):
+ """
+ Check if key valid
+ """
+ pass
+
+ def insert_data(self, value: Any, table_name: Literal["user", "key", "config"]):
+ """
+ For new key / user logic
+ """
+ pass
+
+ def update_data(
+ self, key: str, value: Any, table_name: Literal["user", "key", "config"]
+ ):
+ """
+ For cost tracking logic
+ """
+ pass
+
+ def delete_data(
+ self, keys: List[str], table_name: Literal["user", "key", "config"]
+ ):
+ """
+ For /key/delete endpoint s
+ """
+
+ def connect(
+ self,
+ ):
+ """
+ For connecting to db and creating / updating any tables
+ """
+ pass
+
+ def disconnect(
+ self,
+ ):
+ """
+ For closing connection on server shutdown
+ """
+ pass