Ë
    ��hÚ3  ã            	       óŠ  — d dl Z d dlZd dlmZ d dlmZ d dlmZmZm	Z	m
Z
mZmZmZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZmZ d dlmZ d dlm Z  d dl!m"Z"m#Z# erd dl$m%Z% d dl&m'Z'  G d„ de«      Z(ee(   Z) ejT                  e+«      Z, G d„ de«      Z-dddedee	e	e.      e	e.   f   fd„Z/dddede.fd„Z0y)é    N)ÚParser)ÚValues)ÚTYPE_CHECKINGÚ	GeneratorÚListÚOptionalÚSequenceÚTupleÚcast©Úcanonicalize_name)ÚVersion)Ú
cmdoptions)ÚIndexGroupCommand)ÚSUCCESS)ÚCommandError)ÚBaseDistributionÚget_environment)ÚSelectionPreferences)Ústdlib_pkgs)ÚtabulateÚwrite_output©ÚPackageFinder)Ú
PipSessionc                   ó&   — e Zd ZU dZeed<   eed<   y)Ú_DistWithLatestInfoz¾Give the distribution object a couple of extra fields.

        These will be populated during ``get_outdated()``. This is dirty but
        makes the rest of the code much cleaner.
        Úlatest_versionÚlatest_filetypeN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__Ústr© ó    úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pip/_internal/commands/list.pyr   r      s   … ñ	ð  ÓØÔr'   r   c                   óú   ‡ — e Zd ZdZdZdZdd„Zdeddfˆ fd„Zded	d
ddfd„Z	dede
e   defd„Zdddeddfd„Zdddeddfd„Zdddeddfd„Zdddeded   fd„Zdddeddfd„Zde
e
e      de
e   ddfd„Zˆ xZS )ÚListCommandzt
    List installed packages, including editables.

    Packages are listed in a case-insensitive sorted order.
    Tz
      %prog [options]ÚreturnNc                 ó  — | j                   j                  ddddd¬«       | j                   j                  ddddd	¬«       | j                   j                  d
dddd¬«       | j                   j                  ddddd¬«       | j                   j                  ddddd¬«       | j                   j                  t        j                  «       «       | j                   j                  dddd¬«       | j                   j                  dddddd¬«       | j                   j                  dddd¬ «       | j                   j                  d!d"d#d$¬ «       | j                   j                  d%dd#d&d'¬(«       | j                   j                  t        j                  «       «       t        j
                  t        j                  | j                  «      }| j                  j                  d)|«       | j                  j                  d)| j                   «       y )*Nz-oz
--outdatedÚ
store_trueFzList outdated packages)ÚactionÚdefaultÚhelpz-uz
--uptodatezList uptodate packagesz-ez
--editablezList editable projects.z-lz--localzSIf in a virtualenv that has global access, do not list globally-installed packages.z--userÚuserz,Only output packages installed in user-site.)Údestr.   r/   r0   z--prezYInclude pre-release and development versions. By default, pip only finds stable versions.z--formatÚstoreÚlist_formatÚcolumns)r5   ÚfreezeÚjsonz‚Select the output format among: columns (default), freeze, or json. The 'freeze' format cannot be used with the --outdated option.)r.   r2   r/   Úchoicesr0   z--not-requiredÚnot_requiredz>List packages that are not dependencies of installed packages.)r.   r2   r0   z--exclude-editableÚstore_falseÚinclude_editablez%Exclude editable package from output.z--include-editablez#Include editable package in output.T)r.   r2   r0   r/   r   )	Úcmd_optsÚ
add_optionr   Ú	list_pathÚlist_excludeÚmake_option_groupÚindex_groupÚparserÚinsert_option_group)ÚselfÚ
index_optss     r(   Úadd_optionszListCommand.add_options2   s  € Ø�‰× Ñ ØØØØØ)ð 	!ô 	
ð 	�‰× Ñ ØØØØØ)ð 	!ô 	
ð 	�‰× Ñ ØØØØØ*ð 	!ô 	
ð 	�‰× Ñ ØØØØð/ð 	!ô 		
ð 	�‰× Ñ ØØØØØ?ð 	!ô 	
ð 	�‰× Ñ ¤×!5Ñ!5Ó!7Ô8Ø�‰× Ñ ØØØð2ð 	!ô 	
ð 	�‰× Ñ ØØØØØ1ðQð 	!ô 
	
ð 	�‰× Ñ ØØØØQð	 	!ô 	
ð 	�‰× Ñ Ø Ø Ø#Ø8ð	 	!ô 	
ð 	�‰× Ñ Ø ØØ#Ø6Øð 	!ô 	
ð 	�‰× Ñ ¤×!8Ñ!8Ó!:Ô;Ü×1Ñ1´*×2HÑ2HÈ$Ï+É+ÓVˆ
à�‰×'Ñ'¨¨:Ô6Ø�‰×'Ñ'¨¨4¯=©=Õ9r'   Úoptionsc                 óV   •— |j                   s|j                  rt        ‰| �  |«       y y ©N)ÚoutdatedÚuptodateÚsuperÚhandle_pip_version_check)rD   rG   Ú	__class__s     €r(   rM   z$ListCommand.handle_pip_version_checkŠ   s&   ø€ Ø×Ò˜w×/Ò/Ü‰GÑ,¨WÕ5ð  0r'   Úsessionr   r   c                 ó–   — ddl m} ddlm} |j	                  ||¬«      }t        d|j                  ¬«      } |j                  ||¬«      S )zK
        Create a package finder appropriate to this list command.
        r   )ÚLinkCollectorr   )rG   F)Úallow_yankedÚallow_all_prereleases)Úlink_collectorÚselection_prefs)Úpip._internal.index.collectorrQ   Ú"pip._internal.index.package_finderr   Úcreater   Úpre)rD   rG   rO   rQ   r   rT   rU   s          r(   Ú_build_package_finderz!ListCommand._build_package_finderŽ   sS   € õ 	@ÝDà&×-Ñ-¨g¸wÐ-ÓGˆô /ØØ")§+¡+ô
ˆð
 $ˆ}×#Ñ#Ø)Ø+ô
ð 	
r'   Úargsc                 óø  — |j                   r|j                  rt        d«      ‚|j                   r|j                  dk(  rt        d«      ‚t	        j
                  |«       t        t        «      }|j                  r"|j                  d„ |j                  D «       «       t        |j                  «      j                  |j                  |j                  |j                  |j                   |¬«      D �cg c]  }t#        d|«      ‘Œ }}|j$                  r| j'                  ||«      }|j                   r| j)                  ||«      }n|j                  r| j+                  ||«      }| j-                  ||«       t.        S c c}w )Nz5Options --outdated and --uptodate cannot be combined.r6   z?List format 'freeze' cannot be used with the --outdated option.c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrI   r   )Ú.0Úns     r(   ú	<genexpr>z"ListCommand.run.<locals>.<genexpr>²   s   è ø€ ÒG°Ô)¨!×,ÑGùs   ‚)Ú
local_onlyÚ	user_onlyÚeditables_onlyÚinclude_editablesÚskipr   )rJ   rK   r   r4   r   Úcheck_list_path_optionÚsetr   ÚexcludesÚupdater   ÚpathÚiter_installed_distributionsÚlocalr1   Úeditabler;   r   r9   Úget_not_requiredÚget_outdatedÚget_uptodateÚoutput_package_listingr   )rD   rG   r[   re   ÚdÚpackagess         r(   ÚrunzListCommand.run¥   sQ  € Ø×Ò × 0Ò 0ÜÐVÓWÐWà×Ò × 3Ñ 3°xÒ ?ÜØQóð ô 	×)Ñ)¨'Ô2ä”;ÓˆØ×ÒØ�K‰KÑG°g×6FÑ6FÔGÔGô % W§\¡\Ó2×OÑOØ"Ÿ=™=Ø!Ÿ,™,Ø&×/Ñ/Ø")×":Ñ":Øð Pó ö	%
àô Ð&¨Õ*ð	%
ˆð 	%
ð ×ÒØ×,Ñ,¨X°wÓ?ˆHà×ÒØ×(Ñ(¨°7Ó;‰HØ×ÒØ×(Ñ(¨°7Ó;ˆHà×#Ñ# H¨gÔ6Üˆùò1	%
s   Ã/E7rs   Ú_ProcessedDistsc                 ó~   — | j                  ||«      D �cg c]  }|j                  |j                  kD  r|‘Œ c}S c c}w rI   ©Úiter_packages_latest_infosr   Úversion©rD   rs   rG   Údists       r(   ro   zListCommand.get_outdatedÎ   sC   € ð
 ×7Ñ7¸À'ÓJö
àØ×"Ñ" T§\¡\Ò1ò ò
ð 	
ùò 
ó   •":c                 ó~   — | j                  ||«      D �cg c]  }|j                  |j                  k(  r|‘Œ c}S c c}w rI   rw   rz   s       r(   rp   zListCommand.get_uptodate×   sC   € ð
 ×7Ñ7¸À'ÓJö
àØ×"Ñ" d§l¡lÒ2ò ò
ð 	
ùò 
r|   c                 óâ   — |D ��ch c]0  }|j                  «       xs dD ]  }t        |j                  «      ’Œ Œ2 }}}t        |D �ch c]  }|j                  |vsŒ|’Œ c}«      S c c}}w c c}w )Nr&   )Úiter_dependenciesr   ÚnameÚlistÚcanonical_name)rD   rs   rG   r{   ÚdepÚdep_keysÚpkgs          r(   rn   zListCommand.get_not_requiredà   s}   € ð
 !÷
àØ×.Ñ.Ó0Ò6°Bò
ð ô ˜cŸh™hÕ'ð
Ø'ð
ˆñ 
ô  HÖS˜S°×0BÑ0BÈ(Ò0R’SÒSÓTÐTùó
ùò Ts   †5A&ÁA,ÁA,)r   NNc              #   óÖ   ‡‡K  — | j                  ‰«      5 }| j                  ‰|«      Šdddt        d   fˆˆfd„}t        ||«      D ]	  }|€Œ|–— Œ 	 d d d «       y # 1 sw Y   y xY w­w)Nr{   r   r+   c                 ót  •— ‰j                  | j                  «      }‰j                  s%|D �cg c]  }|j                  j                  s|‘Œ }}‰j                  | j                  ¬«      }|j                  |«      }|€y |j                  }|j                  j                  rd}nd}|| _	        || _
        | S c c}w )N)Úproject_nameÚwheelÚsdist)Úfind_all_candidatesr‚   rY   ry   Úis_prereleaseÚmake_candidate_evaluatorÚsort_best_candidateÚlinkÚis_wheelr   r   )	r{   Úall_candidatesÚ	candidateÚ	evaluatorÚbest_candidateÚremote_versionÚtypÚfinderrG   s	          €€r(   Úlatest_infoz;ListCommand.iter_packages_latest_infos.<locals>.latest_infoô   sÉ   ø€ ð "(×!;Ñ!;¸D×<OÑ<OÓ!P�Ø—{’{ð *8ö&à%Ø(×0Ñ0×>Ò>ò "ð&�Nð &ð #×;Ñ;Ø!%×!4Ñ!4ð <ó �	ð "+×!>Ñ!>¸~Ó!N�Ø!Ð)Øà!/×!7Ñ!7�Ø!×&Ñ&×/Ò/Ø!‘Cà!�CØ&4�Ô#Ø'*�Ô$Ø�ùò)&s   ­B5)Ú_build_sessionrZ   r   Úmap)rD   rs   rG   rO   r˜   r{   r—   s     `   @r(   rx   z&ListCommand.iter_packages_latest_infosî   s}   ùè ø€ ð × Ñ  Ó)ð !	¨WØ×/Ñ/°¸ÓAˆFðØ+ðäÐ/Ñ0öô8 ˜K¨Ó2ò �ØÑ#Ø“Jñ÷?!	÷ !	ñ !	üs"   „A)–6AÁAÁ	A)ÁA&Á"A)c                 ó¸  — t        |d„ ¬«      }|j                  dk(  r$|r"t        ||«      \  }}| j                  ||«       y |j                  dk(  re|D ]_  }|j                  dk\  r-t        d|j                  |j                  |j                  «       Œ?t        d|j                  |j                  «       Œa y |j                  dk(  rt        t        ||«      «       y y )	Nc                 ó   — | j                   S rI   )r‚   )r{   s    r(   ú<lambda>z4ListCommand.output_package_listing.<locals>.<lambda>  s   € ˜T×0Ñ0€ r'   )Úkeyr5   r6   é   z%s==%s (%s)z%s==%sr7   )
Úsortedr4   Úformat_for_columnsÚoutput_package_listing_columnsÚverboser   Úraw_namery   ÚlocationÚformat_for_json)rD   rs   rG   ÚdataÚheaderr{   s         r(   rq   z"ListCommand.output_package_listing  sÈ   € ô ØÙ0ô
ˆð ×Ñ )Ò+±Ü-¨h¸Ó@‰LˆD�&Ø×/Ñ/°°fÕ=Ø× Ñ  HÒ,Ø ò H�Ø—?‘? aÒ'Ü Ø% t§}¡}°d·l±lÀDÇMÁMõô ! ¨4¯=©=¸$¿,¹,ÕGñHð × Ñ  FÒ*Üœ¨°7Ó;Õ<ð +r'   r§   r¨   c                 óð   — t        |«      dkD  r|j                  d|«       t        |«      \  }}t        |«      dkD  r(|j                  ddj                  d„ |D «       «      «       |D ]  }t	        |«       Œ y )Nr   rŸ   ú c              3   ó&   K  — | ]	  }d |z  –— Œ y­w)ú-Nr&   ©r^   Úxs     r(   r`   z=ListCommand.output_package_listing_columns.<locals>.<genexpr>4  s   è ø€ Ò*B°q¨3°­7Ñ*Bùs   ‚)ÚlenÚinsertr   Újoinr   )rD   r§   r¨   Úpkg_stringsÚsizesÚvals         r(   r¢   z*ListCommand.output_package_listing_columns)  sn   € ô ˆt‹9�qŠ=Ø�K‰K˜˜6Ô"ä% d›^Ñˆ�Uô ˆt‹9�qŠ=Ø×Ñ˜q #§(¡(Ñ*B¸EÔ*BÓ"BÔCàò 	ˆCÜ˜Õñ	r'   )r+   N)r    r!   r"   r#   Úignore_require_venvÚusagerF   r   rM   rZ   r   r%   Úintrt   ro   rp   rn   r   rx   rq   r¢   Ú__classcell__)rN   s   @r(   r*   r*   '   s2  ø„ ñð Ðð€EóV:ðp6°ð 6¸4õ 6ð
Øð
Ø(4ð
à	ó
ð.'˜6ð '¨¨c©ð '°só 'ðR
Ø)ð
Ø4:ð
à	ó
ð
Ø)ð
Ø4:ð
à	ó
ðUØ)ðUØ4:ðUà	óUð$Ø)ð$Ø4:ð$à	Ð4Ñ	5ó$ðL=Ø)ð=Ø4:ð=à	ó=ð*Ø˜˜c™‘OðØ-1°#©Yðà	÷r'   r*   Úpkgsru   rG   r+   c                 óä  — ddg}|j                   }|r|j                  ddg«       dt        dt        t           fd„}| D �cg c]
  } ||«      ‘Œ }}t        |«      }|r|j                  d«       |j                  d	k\  r|j                  d
«       |j                  d	k\  r|j                  d«       t        d„ | D «       «      }|r|j                  d«       g }	t        | «      D �]  \  }
}|j                  |j                  g}|r?|j                  t	        |j                  «      «       |j                  |j                  «       |r|j                  ||
   xs d«       |r|j                  |j                  xs d«       |j                  d	k\  r|j                  |j                  xs d«       |j                  d	k\  r|j                  |j                  «       |	j                  |«       �Œ |	|fS c c}w )z_
    Convert the package data into something usable
    by output_package_listing_columns.
    ÚPackager   ÚLatestÚTyper{   r+   c                 ó”   — 	 | j                  d«      }t        «       j                  |«      j	                  d«      S # t        $ r Y y w xY w)NÚWHEELÚBuild)Ú	read_textÚFileNotFoundErrorr   ÚparsestrÚget)r{   Ú
wheel_files     r(   Úwheel_build_tagz+format_for_columns.<locals>.wheel_build_tagG  sI   € ð	ØŸ™¨Ó0ˆJô ‹x× Ñ  Ó,×0Ñ0°Ó9Ð9øô !ò 	Ùð	ús   ‚; »	AÁArÀ   rŸ   ÚLocationÚ	Installerc              3   ó4   K  — | ]  }|j                   –— Œ y ­wrI   )rm   r­   s     r(   r`   z%format_for_columns.<locals>.<genexpr>X  s   è ø€ Ò1 q˜Ÿ
�
Ñ1ùs   ‚zEditable project locationÚ )rJ   Úextendr   r   r%   ÚanyÚappendr£   Ú	enumerater¤   Úraw_versionr   r   Úeditable_project_locationr¥   Ú	installer)r¹   rG   r¨   Úrunning_outdatedrÆ   ÚpÚ
build_tagsÚhas_build_tagsÚhas_editablesr§   ÚiÚprojÚrows                r(   r¡   r¡   :  s³  € ð ˜Ð#€Fà×'Ñ'ÐÙØ�‰�x Ð(Ô)ð:Ô.ð :´8¼C±=ó :ð /3Ö3¨‘/ !Õ$Ð3€JÐ3Ü˜“_€NÙØ�‰�gÔà‡�˜!ÒØ�‰�jÔ!Ø‡�˜!ÒØ�‰�kÔ"äÑ1¨DÔ1Ó1€MÙØ�‰Ð1Ô2à€DÜ˜T“?ó ‰ˆˆ4ð �}‰}˜d×.Ñ.Ð/ˆáØ�J‰J”s˜4×.Ñ.Ó/Ô0Ø�J‰J�t×+Ñ+Ô,áØ�J‰J�z !‘}Ò*¨Ô+áØ�J‰J�t×5Ñ5Ò;¸Ô<à�?‰?˜aÒØ�J‰J�t—}‘}Ò*¨Ô+Ø�?‰?˜aÒØ�J‰J�t—~‘~Ô&à�‰�CÖð)ð, �ˆ<ÐùòK 4s   ÁG-rs   c                 ó’  — g }| D ]¬  }|j                   t        |j                  «      dœ}|j                  dk\  r"|j                  xs d|d<   |j
                  |d<   |j                  r't        |j                  «      |d<   |j                  |d<   |j                  }|r||d<   |j                  |«       Œ® t        j                  |«      S )	N)r€   ry   rŸ   rÊ   r¥   rÑ   r   r   rÐ   )r¤   r%   ry   r£   r¥   rÑ   rJ   r   r   rÐ   rÍ   r7   Údumps)rs   rG   r§   r{   ÚinforÐ   s         r(   r¦   r¦   v  sÆ   € Ø€DØò ˆà—M‘MÜ˜4Ÿ<™<Ó(ñ
ˆð �?‰?˜aÒØ#Ÿ}™}Ò2°ˆD�ÑØ $§¡ˆD�ÑØ×ÒÜ%(¨×)<Ñ)<Ó%=ˆDÐ!Ñ"Ø&*×&:Ñ&:ˆDÐ"Ñ#Ø$(×$BÑ$BÐ!Ù$Ø0IˆDÐ,Ñ-Ø�‰�DÕðô �:‰:�dÓÐr'   )1r7   ÚloggingÚemail.parserr   Úoptparser   Útypingr   r   r   r   r	   r
   r   Úpip._vendor.packaging.utilsr   Úpip._vendor.packaging.versionr   Úpip._internal.clir   Úpip._internal.cli.index_commandr   Úpip._internal.cli.status_codesr   Úpip._internal.exceptionsr   Úpip._internal.metadatar   r   Ú$pip._internal.models.selection_prefsr   Úpip._internal.utils.compatr   Úpip._internal.utils.miscr   r   rW   r   Úpip._internal.network.sessionr   r   ru   Ú	getLoggerr    Úloggerr*   r%   r¡   r¦   r&   r'   r(   ú<module>rî      sÎ   ðÛ Û Ý Ý ß R× RÑ Rå 9Ý 1å (Ý =Ý 2Ý 1ß DÝ EÝ 2ß ;áÝ@Ý8ôÐ.ô ð Ð2Ñ3€Oð 
ˆ×	Ñ	˜8Ó	$€ôPÐ#ô Pðf9Ø
ð9Ø&,ð9à
ˆ4��S‘	‰?˜D ™IÐ%Ñ&ó9ðxÐ/ð ¸&ð ÀSô r'   