ó
    Ñ]jŽ  ã                   óœ   • S r SSKrSSKrSSKrSSKrSSKrSSKJr  SSKJ	r	J
r
Jr  S rS r1 Skr1 Skr1 S	krS
S1r\
 " S S\	5      5       rg)z5Implementation of packaging-related magic functions.
é    N)ÚPath)ÚMagicsÚmagics_classÚ
line_magicc                 óF   ^ • [         R                  " T 5      U 4S j5       nU$ )Nc                  ó†   >• [        [        R                  SS5      R                  5       (       d  [	        S5      eT" U 0 UD6$ )z>Return True if the current Python executable is in a conda envú
conda-metaÚhistoryzbThe python kernel does not appear to be a conda environment.  Please use ``%pip install`` instead.)r   ÚsysÚprefixÚexistsÚ
ValueError)ÚargsÚkwargsÚfuncs     €ÚZ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/IPython/core/magics/packaging.pyÚwrapperÚ%is_conda_environment.<locals>.wrapper   sE   ø€ ô ”C—J‘J ¨iÓ8×?Ñ?×AÑAÜð7óð ñ �TÐ$˜VÑ$Ð$ó    )Ú	functoolsÚwraps)r   r   s   ` r   Úis_conda_environmentr      s%   ø€ Ü‡_‚_�TÓô%ó ð%ð €Nr   c                 óR  • SnSU R                  5       ;   a  SnU[        R                  ;   aJ  [        [        R                  U   5      nUR	                  5       (       a  [        UR                  5       5      $ [        [        R                  5      R                  U -  nUR	                  5       (       a  [        U5      $ [        [        R                  SS5      R                  SS9n[        R                  " SU  S	3U[        R                  S
9nU(       a  UR                  5       S   $ U $ )z�Find the path to the given executable

Parameters
----------

executable: string
    Value should be: conda, mamba or micromamba
Ú	CONDA_EXEÚmambaÚ	MAMBA_EXEr	   r
   zutf-8)Úencodingz^#\s*cmd:\s*(?P<command>.*z)\s[create|install])ÚflagsÚcommand)ÚlowerÚosÚenvironr   Úis_fileÚstrÚresolver   Ú
executableÚparentr   Ú	read_textÚreÚsearchÚ	MULTILINEÚ	groupdict)r   Úbase_executabler&   r
   Úmatchs        r   Ú_get_conda_like_executabler/   $   s÷   € ð "€OØ�'—-‘-“/Ó!Ø%ˆØœ"Ÿ*™*Ó$Üœ"Ÿ*™* _Ñ5Ó6ˆ
Ø×Ñ×ÑÜ�z×)Ñ)Ó+Ó,Ð,ô ”c—n‘nÓ%×,Ñ,¨wÑ6€JØ×Ñ×ÑÜ�:‹Ðô ”3—:‘:˜|¨YÓ7×AÑAÈ7ÐAÐS€GÜ�IŠIØ% g YÐ.AÐBØÜ�l‰lñ€Eö
 Ø�‰Ó  Ñ+Ð+ð €Nr   >   ÚlistÚremoveÚupdateÚinstallÚupgradeÚ	uninstall>   r1   r2   r3   r4   r5   >   ú-nú-pú--nameú--prefixz-yz--yc                   óŒ   • \ rS rSrSr\S 5       rS r\\S 5       5       r	\\S 5       5       r
\\S 5       5       r\S 5       rS	rg
)ÚPackagingMagicséX   z*Magics related to packaging & installationc                 óü   • [         R                  n[         R                  S:X  a	  SU-   S-   nO[        R                  " U5      nU R
                  R                  SR                  USSU/5      5        [        S5        g)zURun the pip package manager within the current kernel.

Usage:
  %pip install [pkgs]
Úwin32Ú"Ú ú-mÚpipúANote: you may need to restart the kernel to use updated packages.N©	r   r&   ÚplatformÚshlexÚquoteÚshellÚsystemÚjoinÚprint©ÚselfÚlineÚpythons      r   rB   ÚPackagingMagics.pip\   sb   € ô —‘ˆÜ�<‰<˜7Ó"Ø˜6‘\ CÑ'‰Fä—[’[ Ó(ˆFà�
‰
×Ñ˜#Ÿ(™( F¨D°%¸Ð#>Ó?Ô@äÐQÕRr   c                 ó~  • [         R                  " U5      n[        U5      S:”  a  US   OSn[        U5      S:”  a  USS  OS/n/ n[        U R                  SS 5      S LnU[
        ;   n[        U5      R                  [        5      nU(       a  U(       a  U(       d  UR                  S5        U[        ;   n	[        U5      R                  [        5      n
U	(       a(  U
(       d!  UR                  S[        R                  /5        U R                  R                  SR!                  X/U-   U-   5      5        [#        S5        g )	Nr   Ú é   Úkernelz--yesr9   r@   zB
Note: you may need to restart the kernel to use updated packages.)rF   ÚsplitÚlenÚgetattrrH   ÚCONDA_COMMANDS_REQUIRING_YESÚsetÚintersectionÚCONDA_YES_FLAGSÚappendÚCONDA_COMMANDS_REQUIRING_PREFIXÚCONDA_ENV_FLAGSÚextendr   r   rI   rJ   rK   )rM   ÚcmdrN   r   r   Ú
extra_argsÚstdin_disabledÚ	needs_yesÚhas_yesÚneeds_prefixÚ
has_prefixs              r   Ú_run_commandÚPackagingMagics._run_commandm   sý   € Ü�{Š{˜4Ó ˆÜ  ›Y¨›]�$�q’'°ˆÜ˜t›9 q›=ˆt�A�B‰x¨r¨dˆàˆ
ô ! §¡¨X°tÓ<ÀDÐHˆØÔ;Ñ;ˆ	Ü�d“)×(Ñ(¬Ó9ˆÞži¶Ø×Ñ˜gÔ&ð Ô"AÑAˆÜ˜“Y×+Ñ+¬OÓ<ˆ
Þ¦
Ø×Ñ˜z¬3¯:©:Ð6Ô7à�
‰
×Ñ˜#Ÿ(™( C >°JÑ#>ÀÑ#EÓFÔGÜÐSÕTr   c                 ó<   • [        S5      nU R                  X!5        g)zYRun the conda package manager within the current kernel.

Usage:
  %conda install [pkgs]
ÚcondaN©r/   rg   )rM   rN   rj   s      r   rj   ÚPackagingMagics.conda…   ó   € ô +¨7Ó3ˆØ×Ñ˜%Õ&r   c                 ó<   • [        S5      nU R                  X!5        g)zYRun the mamba package manager within the current kernel.

Usage:
  %mamba install [pkgs]
r   Nrk   )rM   rN   r   s      r   r   ÚPackagingMagics.mamba�   rm   r   c                 ó<   • [        S5      nU R                  X!5        g)z^Run the conda package manager within the current kernel.

Usage:
  %micromamba install [pkgs]
Ú
micromambaNrk   )rM   rN   rq   s      r   rq   ÚPackagingMagics.micromamba›   s   € ô 0°Ó=ˆ
Ø×Ñ˜*Õ+r   c                 óü   • [         R                  n[         R                  S:X  a	  SU-   S-   nO[        R                  " U5      nU R
                  R                  SR                  USSU/5      5        [        S5        g)zWRun the uv package manager within the current kernel.

Usage:
  %uv pip install [pkgs]
r>   r?   r@   rA   ÚuvrC   NrD   rL   s      r   rt   ÚPackagingMagics.uv¦   sb   € ô —‘ˆÜ�<‰<˜7Ó"Ø˜6‘\ CÑ'‰Fä—[’[ Ó(ˆFà�
‰
×Ñ˜#Ÿ(™( F¨D°$¸Ð#=Ó>Ô?äÐQÕRr   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   rB   rg   r   rj   r   rq   rt   Ú__static_attributes__rv   r   r   r;   r;   X   s‰   † á4àñSó ðSò Uð0 Øñ'ó ó ð'ð Øñ'ó ó ð'ð Øñ,ó ó ð,ð ñSó óSr   r;   )r{   r   r!   r)   rF   r   Úpathlibr   ÚIPython.core.magicr   r   r   r   r/   r]   rX   r^   r[   r;   rv   r   r   Ú<module>r      sp   ðñó Û 	Û 	Û Û 
Ý ç ?Ñ ?òò'òT#Ð ò Ð ò 5€Ø˜�-€ð ô\S�fó \Só ñ\Sr   