
    sh*                         S r SSKJr  SSKJrJr  SSKJr  \" S\S9r " S S	\5      r	 " S
 S\5      r
S\S\4S jrS\S\4S jr\\4rg)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                        \ rS rSrSr\rSrSrg)RedefiningStaticFieldAsDynamic   zAccording 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/#dynamic N__name__
__module____qualname____firstlineno___DESC__doc___URL__static_attributes__r       ڋ/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/setuptools/config/_validate_pyproject/extra_validations.pyr   r      s    E
 G	" 	r   r   c                        \ rS rSrSr\rSrSrg) IncludedDependencyGroupMustExist   zDAn included dependency group must exist and must not be cyclic.
    z!https://peps.python.org/pep-0735/r   Nr   r   r   r   r   r      s    EG.Dr   r   	pyprojectreturnc           
          U R                  S0 5      nUR                  S/ 5      nU HL  nX1;   d  M
  [        SU S3X1U   SSSU0SU 3[        [        R                  5      [        R                  S.S	S
9e   U $ )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0M	2.G!0B5' JC C /8w
 %UG,#+,J,P,P#Q9>>   $ r   c           
      R   U R                  S0 5      nUR                  5        H  u  p#U Hu  n[        U[        5      (       d  M  UR                  S5      =n(       d  M4  XQ;  d  M;  [	        SU S3USU 3[        [        R                  5      [        R                  S.SS9e   M     U $ )	Nzdependency-groupszinclude-groupzThe included dependency group z doesn't existzdata.dependency_groups.r!   zPEP 735r$   )r*   items
isinstancedictr   r   r   r   )r   dependency_groupskeyr&   eachinclude_groups         r   validate_include_depenencyr6   ;   s    !&92>'--/
D4&&&*hh&??]?!:6<]O>Z23%8'/0P0V0V'W?DD  #	 	  0$ r   N)r   inspectr   typingr   r   error_reportingr   r   r   r   r-   r6   EXTRA_VALIDATIONSr   r   r   <module>r;      sm   
  # ,Cw
_ 
/ / a 2!  . ./IJ r   