
    ^hn                     f    S r SSKJrJr  SSKJrJrJr  \(       a	  SSKJ	r
  \
r	O\r	 " S S\5      rg)z
Base Cache implementation. All cache implementations should inherit from this class.

Has 4 methods:
    - set_cache
    - get_cache
    - async_set_cache
    - async_get_cache
    )ABCabstractmethod)TYPE_CHECKINGAnyOptional)Spanc                   n    \ rS rSrSS\4S jjrS\\   4S jrS rS r	\
S 5       rS	 rS
 rS rS rSrg)	BaseCache   default_ttlc                     Xl         g Nr   )selfr   s     T/home/james-whalen/.local/lib/python3.13/site-packages/litellm/caching/base_cache.py__init__BaseCache.__init__   s    &    returnc                     UR                  S5      nUb   [        U5      $ U R                  $ ! [         a    U R                  s $ f = f)Nttl)getint
ValueErrorr   )r   kwargs
kwargs_ttls      r   get_ttlBaseCache.get_ttl   sP    $*JJu$5
!(:&   ('''(s   
- AAc                     [         er   NotImplementedErrorr   keyvaluer   s       r   	set_cacheBaseCache.set_cache#       !!r   c                    #    [         e7fr   r    r"   s       r   async_set_cacheBaseCache.async_set_cache&        !!   	c                    #    g 7fr    )r   
cache_listr   s      r   async_set_cache_pipeline"BaseCache.async_set_cache_pipeline)   s     s   c                     [         er   r    r   r#   r   s      r   	get_cacheBaseCache.get_cache-   r'   r   c                    #    [         e7fr   r    r3   s      r   async_get_cacheBaseCache.async_get_cache0   r+   r,   c                    #    [         e7fr   r    r"   s       r   batch_cache_writeBaseCache.batch_cache_write3   r+   r,   c                    #    [         e7fr   r    )r   s    r   
disconnectBaseCache.disconnect6   r+   r,   r   N)<   )__name__
__module____qualname____firstlineno__r   r   r   r   r%   r)   r   r0   r4   r7   r:   r=   __static_attributes__r.   r   r   r
   r
      sP    'C ' 8C=  ""  """"r   r
   N)__doc__abcr   r   typingr   r   r   opentelemetry.tracer   _Spanr
   r.   r   r   <module>rJ      s1    $ / /1DD!" !"r   