
    %j                     R   U d Z ddlmZ ddlZddlZddlZddlZddlZddlm	Z	m
Z
 e	rddlmZ i dddd	d
dddddddddddddddddddddd d!d"d#d$d%Zd&ed'<    G d( d)ej        j                  Z G d* d+ej        j                  Zd3d.Z e             d4d2ZdS )5a  Key-value store library.

This package provides the py-key-value-aio async key-value library.

Deprecation Notice:
    The `key_value.shared` module has been moved to `key_value.aio._utils`
    and `key_value.aio.errors`. Imports from `key_value.shared.*` will continue
    to work at runtime with deprecation warnings, but type checkers will error.

    Migration guide:
        - `from key_value.shared.errors import X` -> `from key_value.aio.errors import X`
        - `from key_value.shared.managed_entry import X` -> `from key_value.aio._utils.managed_entry import X`
        - `from key_value.shared.* import X` -> `from key_value.aio._utils.* import X`
    )annotationsN)TYPE_CHECKINGAny)
ModuleTypekey_value.sharedzkey_value.aio._utilszkey_value.shared.errorszkey_value.aio.errorszkey_value.shared.errors.basezkey_value.aio.errors.basez!key_value.shared.errors.key_valuezkey_value.aio.errors.key_valuezkey_value.shared.errors.storezkey_value.aio.errors.storez key_value.shared.errors.wrapperszkey_value.aio.errors.wrapperszkey_value.shared.beartypezkey_value.aio._utils.beartypezkey_value.shared.compoundzkey_value.aio._utils.compoundzkey_value.shared.constantszkey_value.aio._utils.constantszkey_value.shared.managed_entryz"key_value.aio._utils.managed_entryzkey_value.shared.retryzkey_value.aio._utils.retryzkey_value.shared.sanitizationz!key_value.aio._utils.sanitizationzkey_value.shared.sanitizezkey_value.aio._utils.sanitizezkey_value.shared.serializationz"key_value.aio._utils.serializationzkey_value.shared.time_to_livez!key_value.aio._utils.time_to_livezkey_value.shared.waitzkey_value.aio._utils.waitzdict[str, str]_SHARED_MODULE_REDIRECTSc                       e Zd ZdZ	 	 ddd
ZdS )_DeprecatedModuleFinderz?Meta path finder that intercepts imports from deprecated paths.Nfullnamestrpathobjecttargetreturn%importlib.machinery.ModuleSpec | Nonec                    |t           v r9t          j                            |t	          |t           |                             S dS )zAFind module spec, returning a redirect spec for deprecated paths.N)r   	importlib	machinery
ModuleSpec_DeprecatedModuleLoader)selfr   r   r   s       Z/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/key_value/__init__.py	find_specz!_DeprecatedModuleFinder.find_spec5   sH     ///&11'2J82TUU   t    )NN)r   r   r   r   r   r   r   r   )__name__
__module____qualname____doc__r    r   r   r
   r
   2   s;        II
 	      r   r
   c                  *    e Zd ZdZddZddZddZdS )r   z.Loader that creates deprecated module aliases.old_namer   new_namer   Nonec                "    || _         || _        d S )N)r!   r"   )r   r!   r"   s      r   __init__z _DeprecatedModuleLoader.__init__G   s      r   specimportlib.machinery.ModuleSpecModuleType | Nonec                    dS )z;Create module - return None to use default module creation.Nr   )r   r&   s     r   create_modulez%_DeprecatedModuleLoader.create_moduleK   s    tr   moduler   c                   t          j        d| j         d| j         dt          d           t          j        | j                  }|j                            |j                   d|j        d<   | j        |j        d<   | j        	                    d	          }t          |          d
k    rTd	                    |dd                   }|t          j        v r+t          t          j        |         |d         |           dS dS dS )z2Execute module by redirecting to the new location.zImporting from 'zE' is deprecated and will be removed in a future version. Please use 'z
' instead.   
stacklevelT__deprecated____new_name__.   N)warningswarnr!   r"   DeprecationWarningr   import_module__dict__updatesplitlenjoinsysmodulessetattr)r   r+   
new_modulepartsparent_names        r   exec_modulez#_DeprecatedModuleLoader.exec_moduleO   s    	5t} 5 5=5 5 5		
 	
 	
 	
 ,T];;
 	z2333,0()*.-' ##C((u::>>((5":..Kck))K0%)VDDDDD >))r   N)r!   r   r"   r   r   r#   )r&   r'   r   r(   )r+   r   r   r#   )r   r   r   r   r%   r*   rD   r   r   r   r   r   D   s\        88! ! ! !   E E E E E Er   r   r   r#   c                     t           j        D ]} t          | t                    r dS t           j                            dt                                 dS )z>Install the deprecated module finder if not already installed.Nr   )r>   	meta_path
isinstancer
   insert)finders    r   _install_deprecated_finderrJ   i   sW    -  f566 	FF	M35566666r   namer   r   c                    | dk    r0t          j        dt          d           t          j        d          S d| }t          |          )z/Intercept attribute access for 'shared' access.sharedzpAccessing 'key_value.shared' is deprecated. Please use 'key_value.aio._utils' or 'key_value.aio.errors' instead.   r.   r   z$module 'key_value' has no attribute )r5   r6   r7   r   r8   AttributeError)rK   msgs     r   __getattr__rQ   u   s^    x~	
 	
 	
 	

 &'9:::
9
9
9C


r   )r   r#   )rK   r   r   r   )r   
__future__r   r   importlib.abcimportlib.machineryr>   r5   typingr   r   typesr   r   __annotations__abcMetaPathFinderr
   Loaderr   rJ   rQ   r   r   r   <module>r[      s$     # " " " " "             



  % % % % % % % % !      ,., 5, #$?	,
 ()I, $%A, '(G,  !@,  !@, !"B, %&J, :, $%H,  !@, %&J,  $%H!," 8#,     *    im:   $"E "E "E "E "Eim2 "E "E "EJ7 7 7 7          r   