Ë
    A
f¢0  ã            	       óŠ  — d dl Z d dl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 d dlmZmZ d dl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'  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)ÚValues)ÚTYPE_CHECKINGÚ	GeneratorÚListÚOptionalÚSequenceÚTupleÚcast©Úcanonicalize_name)Ú
cmdoptions)ÚIndexGroupCommand)ÚSUCCESS)ÚCommandError)ÚLinkCollector)ÚPackageFinder)ÚBaseDistributionÚget_environment)ÚSelectionPreferences)Ú
PipSession)Ústdlib_pkgs)ÚtabulateÚwrite_output)ÚDistributionVersionc                   ó&   — 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© ó    úZC:\Users\user\Documents\project_loop\venv\Lib\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ede	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y)Ú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.   r/   z--prezYInclude pre-release and development versions. By default, pip only finds stable versions.z--formatÚstoreÚlist_formatÚcolumns)r4   ÚfreezeÚjsonz‚Select the output format among: columns (default), freeze, or json. The 'freeze' format cannot be used with the --outdated option.)r-   r1   r.   Úchoicesr/   z--not-requiredÚnot_requiredz>List packages that are not dependencies of installed packages.)r-   r1   r/   z--exclude-editableÚstore_falseÚinclude_editablez%Exclude editable package from output.z--include-editablez%Include editable package from output.T)r-   r1   r/   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ð	 	!ô 	
ð 	�‰× Ñ Ø ØØ#Ø8Øð 	!ô 	
ð 	�‰× Ñ ¤×!8Ñ!8Ó!:Ô;Ü×1Ñ1´*×2HÑ2HÈ$Ï+É+ÓVˆ
à�‰×'Ñ'¨¨:Ô6Ø�‰×'Ñ'¨¨4¯=©=Õ9r&   ÚoptionsÚsessionc                 óŒ   — t        j                  ||¬«      }t        d|j                  ¬«      }t	        j                  ||¬«      S )zK
        Create a package finder appropriate to this list command.
        )rF   F)Úallow_yankedÚallow_all_prereleases)Úlink_collectorÚselection_prefs)r   Úcreater   Úprer   )rC   rF   rG   rK   rL   s        r'   Ú_build_package_finderz!ListCommand._build_package_finderŠ   sG   € ô '×-Ñ-¨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.r5   z?List format 'freeze' cannot be used with the --outdated option.c              3   ó2   K  — | ]  }t        |«      –— Œ y ­w©Nr   )Ú.0Úns     r'   ú	<genexpr>z"ListCommand.run.<locals>.<genexpr>ª   s   è ø€ ÒG°Ô)¨!×,ÑGùs   ‚)Ú
local_onlyÚ	user_onlyÚeditables_onlyÚinclude_editablesÚskipr   )ÚoutdatedÚuptodater   r3   r   Úcheck_list_path_optionÚsetr   ÚexcludesÚupdater   ÚpathÚiter_installed_distributionsÚlocalr0   Úeditabler:   r
   r8   Úget_not_requiredÚget_outdatedÚget_uptodateÚoutput_package_listingr   )rC   rF   rP   r[   Ú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rk   Ú_ProcessedDistsc                 ó~   — | j                  ||«      D �cg c]  }|j                  |j                  kD  r|‘Œ c}S c c}w rS   ©Úiter_packages_latest_infosr   Úversion©rC   rk   rF   Údists       r'   rg   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 rS   ro   rr   s       r'   rh   zListCommand.get_uptodateÏ   sC   € ð
 ×7Ñ7¸À'ÓJö
àØ×"Ñ" d§l¡lÒ2ò ò
ð 	
ùò 
rt   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)rC   rk   rF   rs   ÚdepÚdep_keysÚpkgs          r'   rf   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)Nrs   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_candidatesrz   rN   rq   Úis_prereleaseÚmake_candidate_evaluatorÚsort_best_candidateÚlinkÚis_wheelr   r   )	rs   Úall_candidatesÚ	candidateÚ	evaluatorÚbest_candidateÚremote_versionÚtypÚfinderrF   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_sessionrO   r   Úmap)rC   rk   rF   rG   r�   rs   r�   s     `   @r'   rp   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 rS   )rz   )rs   s    r'   ú<lambda>z4ListCommand.output_package_listing.<locals>.<lambda>  s   € ˜T×0Ñ0€ r&   )Úkeyr4   r5   é   z%s==%s (%s)z%s==%sr6   )
Úsortedr3   Úformat_for_columnsÚoutput_package_listing_columnsÚverboser   Úraw_namerq   ÚlocationÚformat_for_json)rC   rk   rF   ÚdataÚheaderrs   s         r'   ri   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%   ©rT   Úxs     r'   rV   z=ListCommand.output_package_listing_columns.<locals>.<genexpr>,  s   è ø€ Ò*B°q¨3°­7Ñ*Bùs   ‚)ÚlenÚinsertr   Újoinr   )rC   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ÚusagerE   r   r   r   rO   r   r$   Úintrl   rg   rh   rf   r   rp   ri   rš   r%   r&   r'   r)   r)   '   s  „ ñð Ðð€EóV:ðp
Øð
Ø(2ð
à	ó
ð&'˜6ð '¨¨c©ð '°só 'ðR
Ø)ð
Ø4:ð
à	ó
ð
Ø)ð
Ø4:ð
à	ó
ðUØ)ðUØ4:ðUà	óUð$Ø)ð$Ø4:ð$à	Ð4Ñ	5ó$ðL=Ø)ð=Ø4:ð=à	ó=ð*Ø˜˜c™‘OðØ-1°#©Yðà	ôr&   r)   Úpkgsrm   rF   r*   c                 ó  — ddg}|j                   }|r|j                  ddg«       t        d„ | D «       «      }|r|j                  d«       |j                  dk\  r|j                  d«       |j                  dk\  r|j                  d	«       g }| D ]î  }|j
                  t        |j                  «      g}|r?|j                  t        |j                  «      «       |j                  |j                  «       |r|j                  |j                  xs d
«       |j                  dk\  r|j                  |j                  xs d
«       |j                  dk\  r|j                  |j                  «       |j                  |«       Œð ||fS )z_
    Convert the package data into something usable
    by output_package_listing_columns.
    ÚPackageÚVersionÚLatestÚTypec              3   ó4   K  — | ]  }|j                   –— Œ y ­wrS   )re   r¥   s     r'   rV   z%format_for_columns.<locals>.<genexpr>?  s   è ø€ Ò1 q˜Ÿ
�
Ñ1ùs   ‚zEditable project locationr—   ÚLocationÚ	InstallerÚ )r\   ÚextendÚanyÚappendr›   rœ   r$   rq   r   r   Úeditable_project_locationr�   Ú	installer)r°   rF   r    Úrunning_outdatedÚhas_editablesrŸ   ÚprojÚrows           r'   r™   r™   2  sF  € ð ˜Ð#€Fà×'Ñ'ÐÙØ�‰�x Ð(Ô)äÑ1¨DÔ1Ó1€MÙØ�‰Ð1Ô2à‡�˜!ÒØ�‰�jÔ!Ø‡�˜!ÒØ�‰�kÔ"à€DØò ˆð �}‰}œc $§,¡,Ó/Ð0ˆáØ�J‰J”s˜4×.Ñ.Ó/Ô0Ø�J‰J�t×+Ñ+Ô,áØ�J‰J�t×5Ñ5Ò;¸Ô<à�?‰?˜aÒØ�J‰J�t—}‘}Ò*¨Ô+Ø�?‰?˜aÒØ�J‰J�t—~‘~Ô&à�‰�CÕð#ð& �ˆ<Ðr&   rk   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)rx   rq   r—   r¹   r�   r¾   r   r   r½   )rœ   r$   rq   r›   r�   r¾   r\   r   r   r½   r¼   r6   Údumps)rk   rF   rŸ   rs   Úinfor½   s         r'   rž   rž   _  sÆ   € Ø€DØò ˆà—M‘MÜ˜4Ÿ<™<Ó(ñ
ˆð �?‰?˜aÒØ#Ÿ}™}Ò2°ˆD�ÑØ $§¡ˆD�ÑØ×ÒÜ%(¨×)<Ñ)<Ó%=ˆDÐ!Ñ"Ø&*×&:Ñ&:ˆDÐ"Ñ#Ø$(×$BÑ$BÐ!Ù$Ø0IˆDÐ,Ñ-Ø�‰�DÕðô �:‰:�dÓÐr&   )1r6   ÚloggingÚoptparser   Útypingr   r   r   r   r   r	   r
   Úpip._vendor.packaging.utilsr   Úpip._internal.clir   Úpip._internal.cli.req_commandr   Úpip._internal.cli.status_codesr   Úpip._internal.exceptionsr   Úpip._internal.index.collectorr   Ú"pip._internal.index.package_finderr   Úpip._internal.metadatar   r   Ú$pip._internal.models.selection_prefsr   Úpip._internal.network.sessionr   Úpip._internal.utils.compatr   Úpip._internal.utils.miscr   r   Úpip._internal.metadata.baser   r   rm   Ú	getLoggerr   Úloggerr)   r$   r™   rž   r%   r&   r'   ú<module>rØ      sÎ   ðÛ Û Ý ß R× RÑ Rå 9å (Ý ;Ý 2Ý 1Ý 7Ý <ß DÝ EÝ 4Ý 2ß ;áÝ?ôÐ.ô ð Ð2Ñ3€Oð 
ˆ×	Ñ	˜8Ó	$€ôHÐ#ô HðV*Ø
ð*Ø&,ð*à
ˆ4��S‘	‰?˜D ™IÐ%Ñ&ó*ðZÐ/ð ¸&ð ÀSô r&   