+
    \i7                       R t ^ RIHt ^ RIt^ RIt^ RIt^ RIHtHtHtH	t	H
t
Ht ^ RIt^ RIt^ RIt^RIHtHtHt ^RIHtHtHt ]P0                  Ra8  d"   ]P2                  '       d   ^ RIHt M ^ RIHt M^ RIHt . RbOt]P@                  ! R4      t!R R lt" ! R R]
RR7      t# ! R R]
RR7      t$]
! RR]%R]%R]%/RR7      t&]	Rc,          t']
! R/ R-]]%,          bR,]%bR]%bR$]]$]%3,          bR%]]%,          bR(]]%]&3,          bR)]%bR]]%,          bR']]%]]%,          3,          bR]]%]]%]%3,          3,          bR]]#,          bR&]]#,          bR+]]%]%3,          bR]]%,          bR#]]%,          bR*]]%]%3,          bR ]]%]%3,          bR!]]%,          R"]]%,          R.]]',          /CRR7      t(]
! R
R/]%R0]]%,          R1]]%,          /RR7      t)]
! RR2]%/RR7      t*]
! RR3])R4](R5]]%]3,          R6]]%]]]%]*3,          ,          3,          /RR7      t+]P:                  ! R74      t,R8 R9 lt-]R: R; l4       t.].P_                  R44      R< R= l4       t0].P_                  R>4      R? R@ l4       t0].P_                  RA4      RB RC l4       t0].P_                  RD4      RE RF l4       t0].P_                  RG4      RH RI l4       t0].P_                  RJ4      RK RL l4       t0].P_                  RM4      RN RO l4       t0].P_                  RP4      RQ RR l4       t0RS RT lt1RU RV lt2RW RX lt3RY RZ lt4R[ R\ lt5R] R^ lt6R_ R` lt7R#   ] d!    ]P:                  ! R4      t ! R R	4      t ELi ; i)da3  
This module contains type definitions for the tables used in the
``pyproject.toml``.  You should either import this at type-check time only, or
make sure ``typing_extensions`` is available for Python 3.10 and below.

Documentation notice: the fields with hyphens are not shown due to a sphinx-autodoc bug.
)annotationsN)AnyDictListLiteral	TypedDictUnion)get_nameis_typed_dictkeydispatch)ConfigurationErrorConfigurationTypeErrorSimpleErrorCollector)RequiredVc                  "    ] tR t^)tR R ltRtR# )r   c                    V ^8  d   QhRRRR/# )   itemr   return )formats   "l/home/piyush/.cache/uv/builds-v0/.tmpPfdyTF/lib/python3.14/site-packages/pyproject_metadata/project_table.py__annotate__Required.__annotate__*   s          q      c                	    V# Nr   )clsr   s   &&r   __class_getitem__Required.__class_getitem__*   s    Kr   r   N)__name__
__module____qualname____firstlineno__r   __static_attributes__r   r   r   r   r   )   s       r   r   BuildSystemTableContactTableIncludeGroupTableLicenseTableProjectTablePyProjectTableReadmeTablez^\w+(\.\w+)*$c                   V ^8  d   QhRR/# )r   r   z	list[str]r   )r   s   "r   r   r   @   s       r   c                     \         # r   )__all__r   r   r   __dir__r0   @   s    Nr   c                  0    ] tR t^Dt$ RtR]R&   R]R&   RtR# )r'   z 
Can have either name or email.
strnameemailr   Nr!   r"   r#   r$   __doc____annotations__r%   r   r   r   r'   r'   D   s     IJr   F)totalc                  0    ] tR t^Mt$ RtR]R&   R]R&   RtR# )r)   z'
Can have either text or file. Legacy.
r2   textfiler   Nr5   r   r   r   r)   r)   M   s     I
Ir   r;   r:   content-typeauthorsclassifiersdependenciesdescriptionentry-pointsgui-scriptsimport-namesimport-namespaceskeywordslicenselicense-filesmaintainersoptional-dependenciesreadmerequires-pythonscriptsurlsversionr3   dynamiczbuild-backendrequireszbackend-pathzinclude-groupzbuild-systemprojecttoolzdependency-groupsTc               $    V ^8  d   QhRRRRRR/# )r   prefixr2   r3   r   r   )r   s   "r   r   r      s&     G G GC GC Gr   c                B    V '       g   V# RV9   d	   V  RV: 2# V  RV 2# )z
Join a prefix and a name.
.r   )rU   r3   s   &&r   joinrX      s3     #&$;fXQthFvhav4FFr   c               (    V ^8  d   QhRRRRRRRR/# 	r   rU   r2   dataobjecterror_collectorr   r   Noner   )r   s   "r   r   r      s,      0D	r   c                    R# )z"
Validate a TypedDict at runtime.
Nr   )rU   r[   r]   s   &&&r   validate_via_prefixr`      s    r   c               (    V ^8  d   QhRRRRRRRR/# rZ   r   )r   s   "r   r   r      s/     M Mc M M2F M4 Mr   c                    \        V\        4      '       g   R # RV9  d*   RV  RV  R2pVP                  \        W0 R2R7      4       R # R # )Nr3   Field "z.name" is required if "z" is presentz.namekey)
isinstancedicterrorr   rU   r[   r]   msgs   &&& r   _rk      sO    dD!!Tx6vhlK0HE:JKL r   z%project\.(authors|maintainers)\[\d+\]c               (    V ^8  d   QhRRRRRRRR/# rZ   r   )r   s   "r   r   r      /     C Cc C C2F C4 Cr   c                t   \        V\        4      '       g   R # RV9  d)   RV9  d"   RV  R2pVP                  \        W0R7      4       \	        VP                  4       4      RR0,
          pV'       dG   RP                  R \        V4       4       4      pRV  RV 2pVP                  \        W0R7      4       R # R # )	Nr3   r4   rc   z2" must have at least one of "name" or "email" keysrd   , c              3  .   "   T F  pR V R 2x  K  	  R# 5i"Nr   .0ks   & r   	<genexpr>_.<locals>.<genexpr>        #I6Has!H6H   " contains unexpected keys: )rf   rg   rh   r   setkeysrX   sortedrU   r[   r]   rj   
extra_keysextra_keys_lists   &&&   r   rk   rk      s    dD!!TgT1xQR0ABTYY[!VW$55J))#IfZ6H#IIx;O;LM0AB r   zproject\.licensec               (    V ^8  d   QhRRRRRRRR/# rZ   r   )r   s   "r   r   r      rm   r   c                   \        V\        4      '       g   R # \        RR0\        VP	                  4       4      ,          4      ^8w  d"   RV  R2pVP                  \        W0R7      4       \        VP	                  4       4      RR0,
          pV'       dG   RP                  R \        V4       4       4      pRV  RV 2pVP                  \        W0R7      4       R # R # )	Nr:   r;   rc   z0" must have exactly one of "text" or "file" keysrd   ro   c              3  .   "   T F  pR V R 2x  K  	  R# 5irq   r   rs   s   & r   rv   rw      rx   ry   rz   )	rf   rg   lenr{   r|   rh   r   rX   r}   r~   s   &&&   r   rk   rk      s    dD!!
FFc$))+../14xOP0ABTYY[!VV$44J))#IfZ6H#IIx;O;LM0AB r   zproject\.readmec               (    V ^8  d   QhRRRRRRRR/# rZ   r   )r   s   "r   r   r      s/     C Cc C C2F C4 Cr   c                   \        V\        4      '       g   R # \        VP                  4       4      0 Rm,
          pV'       dE   RP	                  R \        V4       4       4      pRV  RV 2pVP                  \        WPR7      4       \        RR0\        VP                  4       4      ,          4      ^8w  d"   RV  R	2pVP                  \        WPR7      4       RV9  d$   RV  R
2pVP                  \        WPR7      4       R # R # )Nr;   r:   r<   ro   c              3  .   "   T F  pR V R 2x  K  	  R# 5irq   r   rs   s   & r   rv   rw      rx   ry   rc   rz   rd   z0" must have exactly one of "file" or "text" keysz(" is missing required key "content-type">   r;   r:   r<   )	rf   rg   r{   r|   rX   r}   rh   r   r   )rU   r[   r]   r   r   rj   s   &&&   r   rk   rk      s    dD!!TYY[!$DDJ))#IfZ6H#IIx;O;LM0AB
FFc$))+../14xOP0ABT!xGH0AB "r   zproject\.versionc               (    V ^8  d   QhRRRRRRRR/# rZ   r   )r   s   "r   r   r      /     C Cc C C2F C4 Cr   c                   \        V\        4      '       g   R #  \        P                  P	                  V4       R #   \        P                  P
                   d*    RT  RT: R2pTP                  \        Y0R7      4        R # i ; i)Nrc   z," is an invalid PEP 440 version string (got )rd   )rf   r2   	packagingrN   VersionInvalidVersionrh   r   ri   s   &&& r   rk   rk      ss    dC  C!!$'++ CxKD8STU0ABC   ; ABBz<project\.(dependencies|optional-dependencies\.[^\.]+)\[\d+\]c               (    V ^8  d   QhRRRRRRRR/# rZ   r   )r   s   "r   r   r     r   r   c                "   \        V\        4      '       g   R #  \        P                  P	                  V4       R #   \        P                  P
                   d5   pRT  RT: RT: R2pTP                  \        Y@R7      4        R p?R # R p?ii ; i)Nrc   z+" is an invalid PEP 508 requirement string z (r   rd   )rf   r2   r   requirementsRequirementInvalidRequirementrh   r   )rU   r[   r]   excrj   s   &&&  r   rk   rk     s     dC  C**40!!44 CxJ4(RTUXT[[\]0ABBCs   ; B)B		Bzproject\.entry-pointsc               (    V ^8  d   QhRRRRRRRR/# rZ   r   )r   s   "r   r   r     s/     	K 	Kc 	K 	K2F 	K4 	Kr   c                    \        V\        4      '       g   R # V FE  p\        P                  V4      '       d   K   RV  RV: R2pVP	                  \        W@R7      4       KG  	  R # )Nrc   zg" has an invalid key, expecting a key containing only alphanumeric, underscore, or dot characters (got r   rd   )rf   rg   VALID_ENTRY_POINT	fullmatchrh   r   )rU   r[   r]   r3   rj   s   &&&  r   rk   rk     sc    dD!! **400& "JJNQRT  !!"8"IJ r   zproject\.requires-pythonc               (    V ^8  d   QhRRRRRRRR/# rZ   r   )r   s   "r   r   r     r   r   c                   \        V\        4      '       g   R #  \        P                  P	                  V4       R #   \        P                  P
                   d*    RT  RT: R2pTP                  \        Y0R7      4        R # i ; i)Nrc   z5" is an invalid Python version specifier string (got r   rd   )rf   r2   r   
specifiersSpecifierSetInvalidSpecifierrh   r   ri   s   &&& r   rk   rk     su    dC  C))$/00 CxTUYT\\]^0ABCr   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r   r   	type[Any]r[   r\   rU   r2   r]   r   r   r^   r   )r   s   "r   r   r   '  s4      	 *-@T	r   c                   \        V\        4      '       g4   RV R\        V 4       R\        \        V4      4       R2p\	        WBR7      h\
        P                  ! V 4      pVP                  4        FP  w  rgWa9   g   K  VP                  \        4      ;_uu_ 4        \        VW,          \        W&4      V4       RRR4       KR  	  R#   + '       g   i     Kg  ; i)z
Runtime cast for TypedDicts.
rc   !" has an invalid type, expecting  (got r   rd   N)rf   rg   r	   typer   typingget_type_hintsitemscollectr   _castrX   )r   r[   rU   r]   rj   hintsre   typs   &&&&    r   _cast_typed_dictr   '  s     dD!!x@#vV^_cdh_iVjUkklm$S55!!#&EKKM; (();<<I%#	 =< "<<<s   CCc          
     ,    V ^8  d   QhRRRRRRRRR	R
/# r   argsztuple[type[Any], ...]r[   r\   rU   r2   r]   r   r   r^   r   )r   s   "r   r   r   ?  sA     	G 	G
	G
	G 	G *		G
 
	Gr   c                    W9  dC   R P                  R V  4       4      pRV RV RV: R2pVP                  \        WRR7      4       R# R# )ro   c              3  8   "   T F  p\        V4      x  K  	  R # 5ir   )reprrt   as   & r   rv    _cast_literal.<locals>.<genexpr>F  s     4t!d1ggt   rc   z" expected one of r   r   rd   N)rX   rh   r   )r   r[   rU   r]   	arg_namesrj   s   &&&&  r   _cast_literalr   ?  sR     II4t44	x1)F4(!L4SEF r   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# r   r   )r   s   "r   r   r   K  sA     J J
J
J J *	J
 
Jr   c                b   V w  p\        V\        4      '       g4   R V R\        V4       R\        \        V4      4       R2p\	        WRR7      h\        V4       F>  w  rgVP                  \        4      ;_uu_ 4        \        WGV RV R2V4       RRR4       K@  	  R#   + '       g   i     KU  ; i)rc   z&" has an invalid type, expecting list[] (got r   rd   []N)	rf   listr	   r   r   	enumerater   r   r   )r   r[   rU   r]   	item_typerj   indexr   s   &&&&    r   
_cast_listr   K  s     LYdD!!xEhyFYEZZabjkoptkubvawwxy$S55 $$%788)fXQugQ#7I 98 '888s   ;BB.c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# r   r   )r   s   "r   r   r   Z  sA     I I
I
I I *	I
 
Ir   c                r   V w  rE\        V\        4      '       g4   R V R\        V4       R\        \        V4      4       R2p\	        WbR7      hVP                  4        FA  w  rxVP                  \        4      ;_uu_ 4        \        WX\        W'4      V4       RRR4       KC  	  R#   + '       g   i     KX  ; i)rc   z+" has an invalid type, expecting dict[str, r   r   rd   N)
rf   rg   r	   r   r   r   r   r   r   rX   )	r   r[   rU   r]   rk   
value_typerj   re   values	   &&&&     r   
_cast_dictr   Z  s     MAdD!!xJ8T^K_J``ghpquvzq{h|g}}~$S55jjl
$$%788*T&%6H 98 #888s    B%%B6c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# r   r   )r   s   "r   r   r   i  s:     2 2
2
2 2 *	2
 
2r   c           
     b   V  Fh  pV\         J d   \        V\         4      '       d    R# V\        J g   \        V4      '       g   KC  \        V\        4      '       g   K[  \	        WAW#4        R# 	  RP                  R V  4       4      pRV RV R\        \        V4      4       R2p\        WbR7      h)	z
Runtime cast for Union types.

Checks parent type only (does not check for TypedDict contents), which gives
better errors. Currently implements dicts and strs only, as that's all
that's needed.
Nz | c              3  8   "   T F  p\        V4      x  K  	  R # 5ir   )r	   r   s   & r   rv   _cast_union.<locals>.<genexpr>}  s     518A;;r   rc   z" does not match any of: r   r   rd   )	r2   rf   rg   r
   r   rX   r	   r   r   )r   r[   rU   r]   argr   rj   s   &&&&   r   _cast_unionr   i  s     #:*T3//4K=--:dD3I3I#V5  

555IF84YKvhtTXzFZE[[\
]C
 
11r   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r   	type_hintr   r[   r\   rU   r2   r]   r   r   r^   r   )r   s   "r   r   r     sA     /G /G/G
/G /G *	/G
 
/Gr   c           
     Z   \         P                  ! V 4      pV\        J d/   \         P                  ! V 4      w  p \         P                  ! V 4      p\         P                  ! V 4      pV \        J d   \        W!V4       R# \        V 4      '       d   \        W!V4       \        WW#4       R# V\         P                  J d   \        W!V4       \        WQW#4       R# V\        J d   \        W!V4       \        WQW#4       R# V\        J d   \        W!V4       \        WQW#4       R# V\         P                  J d   \        WQW#4       R# \!        Y;'       g    T 4      '       d   \        W!V4       R# RV R\#        V 4       R\#        \%        V4      4       R2pVP'                  \)        WbR7      4       R# )a
  
Runtime cast for types.

Just enough to cover the dicts above (not general or public). Calls validators as well.
This may raise ConfigurationError even when the error collector is collecting; this is used
to short-circuit further validation when the type is wrong.
Nrc   r   r   r   rd   )r   
get_originr   get_argsr   r`   r
   r   r   r   r   r   rg   r   r   r   rf   r	   r   rh   r   )r   r[   rU   r]   originr   rj   s   &&&&   r   r   r     sS    y)Fy1""9-??9%D CF/: YF/:&BF/:d&:	4F/:4v7	4F/:4v7	6<<	D8	D--I	.	.F/:x@)AT@UU[\deijneo\p[qqrs4SEFr   c               $    V ^8  d   QhRRRRRR/# )r   r[   zdict[str, Any]collect_errorsboolr   r+   r   )r   s   "r   r   r     s$     / /
/04//r   c                  \        VR7      pVP                  \        4      ;_uu_ 4        \        \        V RV4       RRR4       VP                  R4       \        P                  ! RV 4      #   + '       g   i     L8; i)z
Convert a dict to a PyProjectTable, validating types at runtime.

Note that only the types that are affected by a TypedDict are validated;
extra keys are ignored. If it throws, it will be an ExceptionGroup with all
the ConfigurationTypeError found.
)r    NzErrors in "pyproject.toml"r+   )r   r   r   r   r+   finalizer   cast)r[   r   r]   s   "$ r   to_project_tabler     s]     +.IO		 	 !3	4	4ndB8 
59:;;'..	 
5	4s   A--A=	)      )	r&   r'   Dynamicr(   r)   r*   r+   r,   r   )r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   )8r6   
__future__r   resysr   r   r   r   r   r   r   packaging.requirementsr   packaging.specifierspackaging.version	_dispatchr	   r
   r   errorsr   r   r   version_infoTYPE_CHECKINGtyping_extensionsr   ModuleNotFoundErrorTypeVarr   r/   compiler   r0   r'   r)   r2   r,   r   r*   r&   r(   r+   rS   rX   r`   registerrk   r   r   r   r   r   r   r   r   r   r   <module>r      sd   # 	 
      ; ; T Tg.	 2  
 JJ/0 9E 9E  FCncB% * 3 	s 	5s*+	
 	c 	%[() 	3 	S	 	 c49n!5 	S$sCx.01 	4% 	tL) 	S#X 	tCy 	DI  	4S>!" 	tCH~#$ 	S	T#Y4=), 16 DIS	
   c
  (<S#XT#tE#7H2H,I'J"JK	 	 NN3G   i(M )M FGC HC 12C 3C 01C 2C  12C 3C CCC 67	K 8	K 9:C ;C0	GJI22/Gd/] # 	 s#A   	 s   0L( (#MM