o
    ^i                     @  sF  U d Z ddlmZ ddlZddlZddlmZ ddlZddlmZm	Z	 ddl
mZ ddlmZ dd	lmZ dd
lmZ eedrCejnejZeejdZedZeeZedZeeZedZeeZ ed ee d e ed eiZ!dd ee efD Z"e"e  Z#de$d< eee#edZ%eee#edZ&dddZ'dS )zEvent validators.    )annotationsN)Any)Draft7ValidatorValidationError)Registry)DRAFT7   )yaml)JupyterEventsVersionWarningFORMAT_CHECKERschemaszevent-metaschema.ymlzevent-core-schema.ymlzproperty-metaschema.yml$idc                 C  s   g | ]}t |qS  )r   create_resource).0eachr   r   T/home/ubuntu/hpml_nyu/venv/lib/python3.10/site-packages/jupyter_events/validators.py
<listcomp>(   s    r   zRegistry[Any]METASCHEMA_REGISTRY)schemaregistryformat_checkerr   dict[str, Any]returnNonec              
   C  s   z+d| v r$t | d tr$t| d | d< d| d  }tjt|dd t|  W dS  ty\ } z%d}|t|v rVt|	|}t|d| 
 }| d}t|||d}~ww )	zValidate a schema dict.versionzThe `version` property of an event schema must be a string. It has been type coerced, but in a future version of this library, it will fail to validate. Please update schema: r      )
stacklevelz does not match '^(?!__.*)'Nz is an invalid property name because it starts with `__`. Properties starting with 'dunder' are reserved as special meta-fields for Jupyter Events to use.)
isinstanceintstrwarningswarnr
   JUPYTER_EVENTS_SCHEMA_VALIDATORvalidater   findstrip)r   msgerrreserved_property_msgidxbad_propertyr   r   r   validate_schema;   s(   
r,   )r   r   r   r   )(__doc__
__future__r   pathlibr!   typingr   
jsonschemar   r   referencingr   referencing.jsonschemar    r	   utilsr
   hasattrr   draft7_format_checkerPath__file__parentjoinpathMETASCHEMA_PATHEVENT_METASCHEMA_FILEPATHloadEVENT_METASCHEMAEVENT_CORE_SCHEMA_FILEPATHEVENT_CORE_SCHEMAPROPERTY_METASCHEMA_FILEPATHPROPERTY_METASCHEMASCHEMA_STORE	resourcesr   __annotations__r#   JUPYTER_EVENTS_CORE_VALIDATORr,   r   r   r   r   <module>   sR    





