+
    WBi7                       ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIt^ RIHtHt ^RIHt ^RIHt ^RIHt ^RIHt ]P2                  R,          t]P6                  ! ]4      t ! R R	]P:                  4      tRR
 R llt ! R R]4      t  ! R R]P:                  4      t! ! R R]!4      t" ! R R]!4      t#]PH                  R R l4       t%R R lt&RR	.t'R# )    )annotationsN)
CollectionMapping)_ctx)run_subprocess)FailedProcessError)check_dependencyc                  x    ] tR t^tRt]]P                  R R l4       4       t]P                  R R l4       t	Rt
R# )IsolatedEnvzIsolated build environment ABC.c                   V ^8  d   QhRR/#    returnstr )formats   "./usr/lib/python3.14/site-packages/build/env.py__annotate__IsolatedEnv.__annotate__"   s     A A3 A    c                    R# )z2The Python executable of the isolated environment.Nr   selfs   &r   python_executableIsolatedEnv.python_executable        r   c                   V ^8  d   QhRR/# )r   r   zMapping[str, str] | Noner   )r   s   "r   r   r   &   s     Q Q$< Qr   c                    R# )zBGenerate additional env vars specific to the isolated environment.Nr   r   s   &r   make_extra_environIsolatedEnv.make_extra_environ%   r   r   r   N)__name__
__module____qualname____firstlineno____doc__propertyabcabstractmethodr   r   __static_attributes__r   r   r   r   r      sC    )A  A 	Q Qr   r   c               (    V ^8  d   QhRRRRRRRR/# )	r   namer   minimum_version_strz
str | Nonedistargsobjectr   bool | Noner   )r   s   "r   r   r   *   s0     I I# IJ IV\ Ial Ir   c          	         ^ RI Hp ^RIHp  \	        \        VP                  P                  ! RRV /VB 4      4      pTf   R# T! TP                  4      T! T4      8  #   \         d     R# i ; i)z
Given a path, see if a package is present and return True if the version is
sufficient for build, False if it is not, None if the package is missing.
)Version	importlibr+   NTr   )
packaging.versionr1   _compatr3   nextitermetadatadistributionsStopIterationversion)r+   r,   r-   r1   r3   distributions   "",   r   _has_dependencyr=   *   sr    
 *"D!3!3!A!A!Xt!Xx!XYZ "<''(G4G,HHH  s   0A A.-A.c                      ] tR t^>tRtRR/R R lltR R ltR R	 lt]R
 R l4       t	]R R l4       t
R R ltR R ltRtR# )DefaultIsolatedEnvzS
Isolated environment which supports several different underlying implementations.
	installerpipc                    V ^8  d   QhRRRR/# )r   r@   	Installerr   Noner   )r   s   "r   r   DefaultIsolatedEnv.__annotate__C   s      . . . 
	.r   c               	    Wn         R # N)r@   )r   r@   s   &$r   __init__DefaultIsolatedEnv.__init__C   s	    
 %.r   c                   V ^8  d   QhRR/# )r   r   r?   r   )r   s   "r   r   rE   J   s      - r   c                	    \         P                  ! R R7      p\        P                  P	                  V4      pWn        V  V P                  R8X  d   \        4       V n        M\        4       V n        \        P                  ! RV P                  P                   R24       V P                  P                  V P
                  4       V #   \         d&    T P                  ! \         P"                  ! 4       !   h i ; i)z
build-env-prefixuvzCreating isolated environment: z...)tempfilemkdtempospathrealpath_pathr@   
_UvBackend_env_backend_PipBackendr   logdisplay_namecreate	Exception__exit__sysexc_infor   rR   s   & r   	__enter__DefaultIsolatedEnv.__enter__J   s    	##<8D 77##D)DJ ~~%$.L!$/M!HH6t7H7H7U7U6VVYZ[$$TZZ0 	  	MM3<<>*	s   CC 0C5c                    V ^8  d   QhRRRR/# )r   argsr.   r   rD   r   )r   s   "r   r   rE   f   s     & &f & &r   c                	    \         P                  P                  V P                  4      '       d#   \        P
                  ! V P                  4       R # R # rG   )rQ   rR   existsrT   shutilrmtree)r   rc   s   &*r   r\   DefaultIsolatedEnv.__exit__f   s.    77>>$**%%MM$**% &r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rE   k   s      c r   c                    V P                   # )z/The location of the isolated build environment.)rT   r   s   &r   rR   DefaultIsolatedEnv.pathj   s     zzr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rE   p   s     3 33 3r   c                .    V P                   P                  # )z8The python executable of the isolated build environment.)rV   r   r   s   &r   r   $DefaultIsolatedEnv.python_executableo   s       222r   c                   V ^8  d   QhRR/# )r   r   zdict[str, str]r   )r   s   "r   r   rE   t   s     
 
N 
r   c                	    \         P                  P                  R 4      pR Ve7   \         P                  P	                  V P
                  P                  V.4      /# V P
                  P                  /# )PATH)rQ   environgetpathsepjoinrV   scripts_dirr_   s   & r   r   %DefaultIsolatedEnv.make_extra_environt   se    zz~~f% JJOOT%6%6%B%BD$IJ
 	
 ""..
 	
r   c                    V ^8  d   QhRRRR/# r   requirementszCollection[str]r   rD   r   )r   s   "r   r   rE   |   s     = =O = =r   c           	         V'       g   R# \         P                  ! RRP                  R \        V4       4       4      ,           4       V P                  P                  V4       R# )aL  
Install packages from PEP 508 requirements in the isolated build environment.

:param requirements: PEP 508 requirement specification to install

:note: Passing non-PEP 508 strings will result in undefined behavior, you *should not* rely on it. It is
       merely an implementation detail, it may change any time without warning.
Nz-Installing packages in isolated environment:

c              3  ,   "   T F
  pR V 2x  K  	  R# 5i)z- Nr   ).0rs   & r   	<genexpr>-DefaultIsolatedEnv.install.<locals>.<genexpr>   s     Mu`t[\PRSTRUh`ts   )r   rX   ru   sortedrV   install_requirementsr   rz   s   &&r   installDefaultIsolatedEnv.install|   sF     ADIIMu`fgs`tMuDuuv..|<r   )rV   rT   r@   N)r!   r"   r#   r$   r%   rH   r`   r\   r&   rR   r   r   r   r)   r   r   r   r?   r?   >   sW    .  %.8&   3 3
= =r   r?   c                  Z    ] tR t^t$ R]R&   R]R&   R R ltR R lt]R R	 l4       tR
t	R# )_EnvBackendr   r   rv   c                    V ^8  d   QhRRRR/# r   rR   r   r   rD   r   )r   s   "r   r   _EnvBackend.__annotate__   s    ,,3,4,r   c                	    R # rG   r   r_   s   &&r   rZ   _EnvBackend.create   s    r   c                    V ^8  d   QhRRRR/# ry   r   )r   s   "r   r   r      s    NNNTNr   c                	    R # rG   r   r   s   &&r   r    _EnvBackend.install_requirements   s    3r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s    &&c&r   c                	    R # rG   r   r   s   &r   rY   _EnvBackend.display_name   s    #&r   r   N)
r!   r"   r#   r$   __annotations__rZ   r   r&   rY   r)   r   r   r   r   r      s"    ,N& &r   r   c                      ] tR t^tR R lt]P                  R R l4       t]P                  R R l4       t]	R R l4       t
R	 R
 ltR R lt]R R l4       tRtR# )rW   c                   V ^8  d   QhRR/# )r   r   rD   r   )r   s   "r   r   _PipBackend.__annotate__   s     ^ ^$ ^r   c                	Z    V P                   '       * ;'       d    V P                  V n        R # rG   )_has_valid_outer_pip_has_virtualenv_create_with_virtualenvr   s   &r   rH   _PipBackend.__init__   s!    +/+D+D'D']']I]I]$r   c                   V ^8  d   QhRR/# )r   r   r/   r   )r   s   "r   r   r      s      k r   c                (   \        RR4      '       g   R# \        P                  ! 4       ;_uu_ 4        \        P                  ! R4       \        P
                  P                  R4      f    RRR4       R#  RRR4       R#   + '       g   i     R# ; i)zz
This checks for a valid global pip. Returns None if pip is missing, False
if pip is too old, and True if it can be used.
rA   z22.3Fignorezpip._vendorNT)r=   warningscatch_warningssimplefilterr3   util	find_specr   s   &r   r    _PipBackend._has_valid_outer_pip   sn     uf-- $$&&!!(+~~''6> '&> '
  '&
 s   9B  B	c                   V ^8  d   QhRR/# r   r   boolr   )r   s   "r   r   r      s     
 
 
r   c                  aa ^ RI Ho Ro\        P                  P	                  S4      RJ;'       d\    \
        ;QJ d-    VV3R l\        RS R24       4       F  '       g   K   RM"	  RM! VV3R l\        RS R24       4       4      '       * # )	z
virtualenv might be incompatible if it was installed separately
from build. This verifies that virtualenv and all of its
dependencies are installed as required by build.
)Requirement
virtualenvNc              3     <"   T F3  p\        V4      ^8  g   K  S! V^,          4      P                  S8H  x  K5  	  R# 5i)   N)lenr+   )r~   dr   r+   s   & r   r   ._PipBackend._has_virtualenv.<locals>.<genexpr>   s<      F
4VqZ]^_Z`cdZd*K!""d*4Vs   >$>zbuild[]TF)packaging.requirementsr   r3   r   r   anyr	   )r   r   r+   s   &@@r   r   _PipBackend._has_virtualenv   s     	7~~''-T9 
 
## F
4DvdVSTEU4VF
### F
4DvdVSTEU4VF
 C
 ?
 	
r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s      # r   c                 	    \         P                  ! 4       R 8X  dL   \         P                  ! 4       w  rp\        V RV P	                  R4       4      ^8  d   VR8g  pV'       d   R# R# R# )DarwinN.x86_64z21.0.1z20.3.0z19.1.0)platformsystemmac_verintfind)release_machineis_apple_silicon_pythons       r   _get_minimum_pip_version_str(_PipBackend._get_minimum_pip_version_str   sa    ??("*"2"2"4G7.W\\#./0B6 +2X*='#:xHH r   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r      s     6l 6l3 6l4 6lr   c                	   V P                   '       d   ^ RIp^ RIp^RIHp VP
                  P                  VP                  P                  R4      4      pVRRRR.pWRP
                  P                  R4      8  d   VP                  R	4       VP                  VR
R7      p\        VP                  P                  4      V n        \        VP                  P                  4      V n        R# ^ RIpV P"                  '       * p	 VP%                  \'        4       V	R7      P)                  V4       \5        T4      w  T n        T n        pT	'       dv   T P7                  4       p\9        RTT.R7      '       g   \;        T P                  RRRRT 2.4       \9        RT.R7      '       d   \;        T P                  RRRRR.4       R# R# R#   \*        P,                   d)   p
\.        P0                  ! T
4       \3        T
R4      RhRp
?
ii ; i)r   Nr2   r   z--activators z--no-setuptoolsz--no-periodic-updatez20.31.0z
--no-wheelF)setup_loggingsymlinkswith_pipz7Failed to create venv. Maybe try installing virtualenv.rA   )rR   -Imr   zpip>=
setuptools	uninstallz-y)r   r4   r   r5   r3   r;   r1   r8   appendcli_runr   creatorexer   
script_dirrv   venvr   
EnvBuilder_fs_supports_symlinkrZ   
subprocessCalledProcessErrorr   log_subprocess_errorr   _find_executable_and_scriptsr   r=   r   )r   rR   	packagingr   r3   virtualenv_veroptsresultr   r   excpurelibminimum_pip_version_strs   &&           r   rZ   _PipBackend.create   s   '''$*&..66y7I7I7Q7QR^7_`N !&D  1 1 9 9) DDL)''E'BF &)););%<D""6>>#<#<=D 444Hs)=)?(SZZ[_`
 A]]a@b=D"D$4g*.*K*K*M'&+! 
 #D$:$:E5)W\]t\uUv#wx # !  #D$:$:E5+W[]i#jk	  00 s))#.(.ghnrrss   ?*G G>#G99G>c                    V ^8  d   QhRRRR/# ry   r   )r   s   "r   r   r     s     % % %T %r   c           	     	   \         P                  ! R RRRRR7      ;_uu_ 4       pVP                  \        P                  P                  V4      4       RRR4        V P                  '       d!   \        P                  RRR	V P                  .pMV P                  R
R.p\        P                  ^8  d*   VRR\        P                  ^,
          ,           2.,          pVRRRRR\        P                  P                  XP                  4      .,          p\        V4       \        P                   ! VP                  4       R#   + '       g   i     L; i  \        P                   ! XP                  4       i ; i)wzbuild-reqs-z.txtFzutf-8)rM   suffixdeleteencodingNz-mrA   z--pythonr   -vr   z--use-pep517z--no-warn-script-locationz--no-compilez-r)rO   NamedTemporaryFilewriterQ   linesepru   r   r]   
executabler   r   	verbosityrR   abspathr+   r   unlink)r   rz   req_filecmds   &&  r   r    _PipBackend.install_requirements  s    ((]6Z_jqrrv~NN2::??<89 s	%(((~~tUJ@V@VW--ue<~~!!C4>>A#567899+. C 3 IIhmm$/ sr. IIhmm$s   /D>E .B.E >E	"E3c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   $  s     P Pc Pr   c                	.    V P                   '       d   R # R# )zvirtualenv+pipzvenv+pip)r   r   s   &r   rY   _PipBackend.display_name#  s    #'#?#?#?OZOr   )r   r   rv   N)r!   r"   r#   r$   rH   	functoolscached_propertyr   r   staticmethodr   rZ   r   r&   rY   r)   r   r   r   rW   rW      sr    ^  * 
 
  6lp%8 P Pr   rW   c                  D    ] tR tRtR R ltR R lt]R R l4       tRtR	# )
rU   i(  c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   _UvBackend.__annotate__)  s     c c3 c4 cr   c                	   ^ RI pWn         ^ RIpVP                  4       V n        VP                  \        4       RR7      P                  V P                  4       \        V P                  4      w  V n        V n        pR#   \
        \        3 dK    \        P                  ! R4      pTf   Rp\        T4      Rh\        P                  ! RT 24       Y@n         Li ; i)r   NrN   zuv executable not foundzUsing external uv from Fr   )r   	_env_pathrN   find_uv_bin_uv_binModuleNotFoundErrorFileNotFoundErrorrf   whichRuntimeErrorr   rX   r   r   rZ   r   r   rv   )r   rR   r   rN   uv_binmsgr   s   &&     r   rZ   _UvBackend.create)  s    	">>+DL 	!5!7%HOOPTP^P^_6RSWSaSa6b3 0! $%67 	"\\$'F~/"3'T1HH.vh78!L	"s   A> >ACCc                    V ^8  d   QhRRRR/# ry   r   )r   s   "r   r   r   >  s     l l lT lr   c                	   V P                   R .p\        P                  ^8  d4   VRR\        ^\        P                  ^,
          4      ,           2.,          p\	        . VORNVO/ \
        P                  CRV P                  /CR7       R# )rA   r   r   r   VIRTUAL_ENV)envN)r  r   r   minr   rQ   rr   r   )r   rz   r   s   && r   r   _UvBackend.install_requirements>  sx    ||U#>>Aac!T^^a%7889:;;C77i7,7=j

=jM[_[i[i=jkr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   E  s      c r   c                	    R # )zvenv+uvr   r   s   &r   rY   _UvBackend.display_nameD  s    r   )r   r  r   rv   N)	r!   r"   r#   r$   rZ   r   r&   rY   r)   r   r   r   rU   rU   (  s"    c*l  r   rU   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   J  s      d r   c                 r   \         P                  R8w  d   R# \        P                  ! RR7      ;_uu_ 4       p V  R2p \         P                  ! V P                  V4       \         P
                  ! V4        RRR4       R#   \        \        \        3 d     RRR4       R# i ; i  + '       g   i     R# ; i)z%Return True if symlinks are supportedntTzbuild-symlink-rL   z-bNF)	rQ   r+   rO   r   symlinkr   OSErrorNotImplementedErrorAttributeError)tmp_filedests     r   r   r   I  s     
ww$ 
	$	$,<	=	=2	JJx}}d+IIdO  
>	=
 ,n= 	 
>	=
	 
>	=	=s.   B%7B 5B% B"B%!B""B%%B6	c                    V ^8  d   QhRRRR/# )r   rR   r   r   ztuple[str, str, str]r   )r   s   "r   r   r   [  s     (: (:s (:/C (:r   c                t   \         P                  ! 4       P                  4       pWR&   \         P                  ! 4       pRV9   d   \         P                  ! RVR7      pMWRV9   d   \         P                  ! RVR7      pM7RV9   d   \         P                  ! RVR7      pM\         P                  ! VR7      p\
        P                  P                  VR,          \
        P                  R	8X  d   R
MR4      p\
        P                  P                  V4      '       g   RV R2p\        V4      hWCR,          VR,          3# )z
Detect the Python executable and script folder of a virtual environment.

:param path: The location of the virtual environment
:return: The Python executable, script folder, and purelib folder
baser   )schemevarsposix_localposix_prefixosx_framework_library)r  scriptsr  z
python.exepythonz0Virtual environment creation failed, executable z missingr   )	sysconfigget_config_varscopyget_scheme_names	get_pathsrQ   rR   ru   r+   re   r  )rR   config_varsscheme_namespathsr   r  s   &     r   r   r   [  s     ++-224K--/L ##6D	,	& ##>L	 L	0 ##>L##5eI.4U]^J77>>*%%@HU3Y'y)999r   )rA   rN   rG   )(
__future__r   r'   r   importlib.utilr3   rQ   r   rf   r   r]   r%  rO   typingr   collections.abcr   r   r   r   r   _exceptionsr   _utilr	   LiteralrC   get_args
INSTALLERSProtocolr   r=   r?   r   rW   rU   cacher   r   __all__r   r   r   <module>r9     s    " 
   	    
     /    + # NN;'	__Y'

Q&// 
QI(K= K=\	'&// 	'MP+ MP` B  "(:X r   