
    ϶vgY                     ~    d Z ddlmZ ddlmZmZ ddlmZ  ede          Z G d d	e          Z	d
edef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                       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     t/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/extra_validations.pyr   r      s&        E
 G	" 	DDr   r   	pyprojectreturnc           
         |                      di           }|                     dg           }|D ]Q}||v rKt          d| d|||         ddd|id| t          t          j                  t          j        dd	
          R| 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   fields       r   validate_project_dynamicr$      s    MM)R00M	2..G  M!!0C5 C C C =/8w
 -U,,#+,J,P#Q#Q9>      "" r   N)r   inspectr   typingr   r   error_reportingr   r   r   r$   EXTRA_VALIDATIONSr   r   r   <module>r)      s    
       # # # # # # # # , , , , , ,GCw
 
 
 
 
_ 
 
 
 a    2 ./   r   