Ë
    :vžjÊ
  ã                  óV   — d Z ddlmZ ddlmZ ddlmZ  G d„ de«      Z G d„ d	«      Z	y
)z"An event schema registry.é    )Úannotations)ÚAnyé   )ÚEventSchemac                  ó   — e Zd ZdZy)ÚSchemaRegistryExceptionz:Exception class for Jupyter Events Schema Registry Errors.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úo/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/jupyter_events/schema_registry.pyr   r   	   s   „ ÚDr   r   c                  ód   — e Zd ZdZddd„Zdd„Zdd„Zdd„Zedd„«       Z	dd„Z
dd	„Zdd
„Zdd„Zy)ÚSchemaRegistryz>A convenient API for storing and searching a group of schemas.Nc                ó   — |xs i | _         y)zInitialize the registry.N©Ú_schemas)ÚselfÚschemass     r   Ú__init__zSchemaRegistry.__init__   s   € à07²¸2ˆ�r   c                ó   — || j                   v S )z:Syntax sugar to check if a schema is found in the registryr   )r   Úkeys     r   Ú__contains__zSchemaRegistry.__contains__   s   € à�d—m‘mÐ#Ð#r   c                óŒ   — dj                  | j                  j                  «       D �cg c]  }t        |«      ‘Œ c}«      S c c}w )zThe str repr of the registry.z,
)Újoinr   ÚvaluesÚstr)r   Úss     r   Ú__repr__zSchemaRegistry.__repr__   s6   € à�z‰z¨4¯=©=×+?Ñ+?Ô+AÓBÑ+A aœ3˜q�6Ð+AÑBÓCÐCùÒBs   ¨Ac                óœ   — |j                   | j                  v rd|j                   › d�}t        |«      ‚|| j                  |j                   <   y )NzThe schema, zB, is already registered. Try removing it and registering it again.)Úidr   r   )r   Ú
schema_objÚmsgs      r   Ú_addzSchemaRegistry._add   sM   € Ø�=‰=˜DŸM™MÑ)à˜zŸ}™}˜oð .Hð Hð ô *¨#Ó.Ð.Ø'1ˆ�‰�j—m‘mÒ$r   c                óH   — t        | j                  j                  «       «      S ©N)Úlistr   Úkeys)r   s    r   Ú
schema_idszSchemaRegistry.schema_ids%   s   € ä�D—M‘M×&Ñ&Ó(Ó)Ð)r   c                ó^   — t        |t        «      st        |«      }| j                  |«       |S )zŠAdd a valid schema to the registry.

        All schemas are validated against the Jupyter Events meta-schema
        found here:
        )Ú
isinstancer   r%   )r   Úschemas     r   ÚregisterzSchemaRegistry.register)   s)   € ô ˜&¤+Ô.Ü  Ó(ˆFØ�	‰	�&ÔØˆr   c                ó`   — 	 | j                   |   S # t        $ r d|› d�}t        |«      d‚w xY w)z^Fetch a given schema. If the schema is not found,
        this will raise a KeyError.
        úThe requested schema, úR, was not found in the schema registry. Are you sure it was previously registered?N©r   ÚKeyError©r   Úid_r$   s      r   ÚgetzSchemaRegistry.get4   sK   € ð	*Ø—=‘= Ñ%Ð%øÜò 	*à(¨¨ð .Nð Nð ô ˜3“- TÐ)ð	*ús   ‚ ‘-c                ó^   — 	 | j                   |= y# t        $ r d|› d�}t        |«      d‚w xY w)z_Remove a given schema. If the schema is not found,
        this will raise a KeyError.
        r0   r1   Nr2   r4   s      r   ÚremovezSchemaRegistry.removeA   sH   € ð	*Ø—‘˜cÑ"øÜò 	*à(¨¨ð .Nð Nð ô ˜3“- TÐ)ð	*ús   ‚ �,c                óH   — | j                  |«      }|j                  |«       y)zIValidate an event against a schema within this
        registry.
        N)r6   Úvalidate)r   r5   Údatar-   s       r   Úvalidate_eventzSchemaRegistry.validate_eventN   s   € ð —‘˜#“ˆØ�‰˜Õr   r'   )r   zdict[str, EventSchema] | None)r   r   ÚreturnÚbool)r=   r   )r#   r   r=   ÚNone)r=   z	list[str])r-   z$dict[str, Any] | (str | EventSchema)r=   r   )r5   r   r=   r   )r5   r   r=   r?   )r5   r   r;   zdict[str, Any]r=   r?   )r	   r
   r   r   r   r   r    r%   Úpropertyr*   r.   r6   r8   r<   r   r   r   r   r      sB   „ ÙHô>ó$óDó2ð ò*ó ð*ó	ó*ó*ôr   r   N)
r   Ú
__future__r   Útypingr   r-   r   Ú	Exceptionr   r   r   r   r   Ú<module>rD      s+   ðÙ  Ý "å å ôE˜iô E÷Fò Fr   