+
    Bi(                        ^ RI Ht ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ R	IHt ]'       d   ^ R
IHt ]P$                  ! ]4      t ! R R]
4      tR# )    )annotationsN)Iterable)TYPE_CHECKING)BuildEnvironment)AbstractDistribution)InstallationError)BaseDistribution)runner_with_spinner_message)BuildEnvironmentInstallerc                      ] tR t^tRt]R R l4       tR R ltR R ltR R	 lt	R
 R lt
R R ltR R ltR R ltR R ltRtR# )SourceDistributionzRepresents a source distribution.

The preparation step for these needs metadata for the packages to be
generated, either using PEP 517 or using the legacy `setup.py egg_info`.
c                   V ^8  d   QhRR/# )   returnz
str | None )formats   "F/usr/lib/python3.14/site-packages/pip/_internal/distributions/sdist.py__annotate__SourceDistribution.__annotate__   s     2 2* 2    c                ~    V P                   P                  '       g   Q hV P                   P                  P                  # )z/Identify this requirement uniquely by its link.)reqlinkurl_without_fragmentselfs   &r   build_tracker_id#SourceDistribution.build_tracker_id   s*     xx}}}}xx}}111r   c                   V ^8  d   QhRR/# )r   r   r	   r   )r   s   "r   r   r       s     # #+; #r   c                	6    V P                   P                  4       # )N)r   get_distr   s   &r   get_metadata_distribution,SourceDistribution.get_metadata_distribution    s    xx  ""r   c               (    V ^8  d   QhRRRRRRRR/# )r   build_env_installerr   build_isolationboolcheck_build_depsr   Noner   )r   s   "r   r   r   #   s2     %$ %$6%$ %$ 	%$
 
%$r   c                	r   V P                   P                  4        V P                   P                  ;'       d    TpV'       d=   V P                  V4       V P                   P	                  4        V P                  V4       V P                   P                  ;'       d    TpV'       dw   V P                   P                  pVf   Q hV P                   P                  P                  V4      w  rxV'       d   V P                  RV4       V'       d   V P                  V4       V P                   P                  4        R # )Nthe backend dependencies)r   load_pyproject_toml
use_pep517_prepare_build_backendisolated_editable_sanity_check_install_build_reqspyproject_requires	build_envcheck_requirements_raise_conflicts_raise_missing_reqsprepare_metadata)	r   r%   r&   r(   should_isolateshould_check_depsr1   conflictingmissings	   &&&&     r   prepare_distribution_metadata0SourceDistribution.prepare_distribution_metadata#   s     	$$& ,,@@ ''(;< HH335$$%89 HH//DD4D!%!<!<%111#'88#5#5#H#H"$ K %%&@+N((1!!#r   c                    V ^8  d   QhRRRR/# r   r%   r   r   r)   r   )r   s   "r   r   r   J   s      #<	r   c                	N   V P                   P                  pVf   Q h\        V4      V P                   n        V P                   P                  P	                  VRRV P                   R7       V P                   P                  P                  V P                   P                  4      w  r4V'       d   V P                  RV4       V'       d_   \        P                  RV P                   4       \        P                  RRP                  \        \        \        V4      4      4      4       R # R # )Noverlayzbuild dependencieskindfor_reqz"PEP 517/518 supported requirementsz4Missing build requirements in pyproject.toml for %s.z`The project does not specify a build backend, and pip cannot fall back to setuptools without %s.z and )r   r1   r   r2   install_requirementsr3   requirements_to_checkr4   loggerwarningjoinmapreprsorted)r   r%   r1   r9   r:   s   &&   r   r.   )SourceDistribution._prepare_build_backendJ   s    
 "XX88!----.AB//	0Ddhh 	0 	
  $xx11DDHH** 
 !!"FTNNF NNASvg78 r   c                   V ^8  d   QhRR/# r   r   zIterable[str]r   )r   s   "r   r   r   f   s     > >= >r   c           	     	n   V P                   P                  ;_uu_ 4        \        R 4      pV P                   P                  pVf   Q hVP	                  V4      ;_uu_ 4        VP                  4       uuRRR4       uuRRR4       #   + '       g   i     M; i RRR4       R#   + '       g   i     R# ; i)z#Getting requirements to build wheelN)r   r2   r
   pep517_backendsubprocess_runnerget_requires_for_build_wheelr   runnerbackends   &  r   _get_build_requires_wheel,SourceDistribution._get_build_requires_wheelf   s    XX01VWFhh--G&&&**622;;= 32	   322	  $   AB# B	0
B#BB##B4	c                   V ^8  d   QhRR/# rN   r   )r   s   "r   r   r   n   s     A Am Ar   c           	     	n   V P                   P                  ;_uu_ 4        \        R 4      pV P                   P                  pVf   Q hVP	                  V4      ;_uu_ 4        VP                  4       uuRRR4       uuRRR4       #   + '       g   i     M; i RRR4       R#   + '       g   i     R# ; i)z&Getting requirements to build editableN)r   r2   r
   rP   rQ   get_requires_for_build_editablerS   s   &  r   _get_build_requires_editable/SourceDistribution._get_build_requires_editablen   s    XX08F hh--G&&&**622>>@ 32   322  rX   c                    V ^8  d   QhRRRR/# r>   r   )r   s   "r   r   r   x   s     
 
#<
	
r   c                	   V P                   P                  '       dJ   V P                   P                  '       d.   V P                   P                  '       d   V P	                  4       pMV P                  4       pV P                   P                  P                  V4      w  r4V'       d   V P                  R V4       V P                   P                  P                  VRRV P                   R7       R# )r+   normalzbackend dependenciesrA   N)
r   editablepermit_editable_wheelssupports_pyproject_editabler\   rV   r2   r3   r4   rD   )r   r%   
build_reqsr9   r:   s   &&   r   r0   &SourceDistribution._install_build_reqsx   s     HH///444::<J779J#xx11DDZP!!"<kJ//X$:DHH 	0 	
r   c               $    V ^8  d   QhRRRRRR/# )r   conflicting_withstrconflicting_reqszset[tuple[str, str]]r   r)   r   )r   s   "r   r   r      s$     / / #/7K/	/r   c           
     	    R pVP                  V P                  VRP                  R \        V4       4       4      R7      p\	        V4      h)zZSome build dependencies for {requirement} conflict with {conflicting_with}: {description}., c              3  4   "   T F  w  rV R V 2x  K  	  R# 5i)z is incompatible with Nr   ).0	installedwanteds   &  r   	<genexpr>6SourceDistribution._raise_conflicts.<locals>.<genexpr>   s&      ")A%I +3F8<)As   )requirementrg   description)r   r   rH   rK   r   )r   rg   ri   format_stringerror_messages   &&&  r   r4   #SourceDistribution._raise_conflicts   sY    ? 	 &,,-		 ")/0@)A"  - 
  ..r   c                    V ^8  d   QhRRRR/# )r   r:   zset[str]r   r)   r   )r   s   "r   r   r      s     / /8 / /r   c                	    R pVP                  V P                  RP                  \        \        \        V4      4      4      R7      p\        V4      h)zASome build dependencies for {requirement} are missing: {missing}.rk   )rr   r:   )r   r   rH   rI   rJ   rK   r   )r   r:   rt   ru   s   &&  r   r5   &SourceDistribution._raise_missing_reqs   sK    O 	 &,,$))CfWo4N*O - 
  ..r   r   N)__name__
__module____qualname____firstlineno____doc__propertyr   r"   r;   r.   rV   r\   r0   r4   r5   __static_attributes__r   r   r   r   r      sJ     2 2
#%$N8>A
*/"/ /r   r   )
__future__r   loggingcollections.abcr   typingr   pip._internal.build_envr    pip._internal.distributions.baser   pip._internal.exceptionsr   pip._internal.metadatar	   pip._internal.utils.subprocessr
   r   	getLoggerrz   rF   r   r   r   r   <module>r      sE    "  $   4 A 6 3 FA			8	$R/- R/r   