From 4a52a71956a8d46fcb7294ac71734504bb09bcc2 Mon Sep 17 00:00:00 2001 From: S. Solomon Darnell Date: Fri, 28 Mar 2025 21:52:21 -0500 Subject: two version of R2R are here --- .../site-packages/litellm/proxy/db/base_client.py | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .venv/lib/python3.12/site-packages/litellm/proxy/db/base_client.py (limited to '.venv/lib/python3.12/site-packages/litellm/proxy/db/base_client.py') 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 -- cgit v1.2.3