o
    !gY                     @   sd   d Z ddlmZ ddlmZmZ ddlmZ ededZG dd	 d	eZ	d
edefddZ
e
fZdS )zThe purpose of this module is implement PEP 621 validations that are
difficult to express as a JSON Schema (or that are not supported by the current
JSON Schema library).
    )cleandoc)MappingTypeVar   )ValidationErrorT)boundc                   @   s   e Zd ZdZeZdZdS )RedefiningStaticFieldAsDynamiczAccording to PEP 621:

    Build back-ends MUST raise an error if the metadata specifies a field
    statically as well as being listed in dynamic.
    zMhttps://packaging.python.org/en/latest/specifications/pyproject-toml/#dynamicN)__name__
__module____qualname___DESC__doc___URL r   r   v/root/parts/websockify/install/lib/python3.10/site-packages/setuptools/config/_validate_pyproject/extra_validations.pyr	      s
    r	   	pyprojectreturnc              	   C   sl   |  di }| dg }|D ]%}||v r3td| d||| ddd|id| ttjtjdd	d
q| S )Nprojectdynamicz(You cannot provide a value for `project.z6` and list it under `project.dynamic` at the same timez...z # ...zdata.project.)descriptionseezPEP 621)messagevaluename
definitionrule)getr	   r   r   r   )r   project_tabler   fieldr   r   r   validate_project_dynamic   s$   
r    N)r   inspectr   typingr   r   error_reportingr   r   r	   r    EXTRA_VALIDATIONSr   r   r   r   <module>   s    
