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/caching/base_cache.py | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .venv/lib/python3.12/site-packages/litellm/caching/base_cache.py (limited to '.venv/lib/python3.12/site-packages/litellm/caching/base_cache.py') diff --git a/.venv/lib/python3.12/site-packages/litellm/caching/base_cache.py b/.venv/lib/python3.12/site-packages/litellm/caching/base_cache.py new file mode 100644 index 00000000..7109951d --- /dev/null +++ b/.venv/lib/python3.12/site-packages/litellm/caching/base_cache.py @@ -0,0 +1,55 @@ +""" +Base Cache implementation. All cache implementations should inherit from this class. + +Has 4 methods: + - set_cache + - get_cache + - async_set_cache + - async_get_cache +""" + +from abc import ABC, abstractmethod +from typing import TYPE_CHECKING, Any, Optional + +if TYPE_CHECKING: + from opentelemetry.trace import Span as _Span + + Span = _Span +else: + Span = Any + + +class BaseCache(ABC): + def __init__(self, default_ttl: int = 60): + self.default_ttl = default_ttl + + def get_ttl(self, **kwargs) -> Optional[int]: + kwargs_ttl: Optional[int] = kwargs.get("ttl") + if kwargs_ttl is not None: + try: + return int(kwargs_ttl) + except ValueError: + return self.default_ttl + return self.default_ttl + + def set_cache(self, key, value, **kwargs): + raise NotImplementedError + + async def async_set_cache(self, key, value, **kwargs): + raise NotImplementedError + + @abstractmethod + async def async_set_cache_pipeline(self, cache_list, **kwargs): + pass + + def get_cache(self, key, **kwargs): + raise NotImplementedError + + async def async_get_cache(self, key, **kwargs): + raise NotImplementedError + + async def batch_cache_write(self, key, value, **kwargs): + raise NotImplementedError + + async def disconnect(self): + raise NotImplementedError -- cgit v1.2.3