
    g1              	          S SK r S SKrS SKJr  S SKJrJrJrJrJ	r	J
r
Jr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S S	KJr  S S
KJrJr  S SKJr  S SKJr  S SKJ r J!r!  \(       a  S SK"J#r#  S SK$J%r%   " S S\5      r&\	\&   r'\RP                  " \)5      r* " S S\5      r+SSS\S\
\\\,      \\,   4   4S jr-SSS\S\,4S jr.g)    N)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                   .    \ rS rSr% Sr\\S'   \\S'   Srg)_DistWithLatestInfo   zGive 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_filetype N)	__name__
__module____qualname____firstlineno____doc__r   __annotations__str__static_attributes__r        c/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/pip/_internal/commands/list.pyr   r      s    	  r)   r   c                     ^  \ rS rSrSrSrSrSS jrS\SS4U 4S	 jjr	S\S
SSS4S jr
S\S\\   S\4S jrSSS\SS4S jrSSS\SS4S jrSSS\SS4S jrSSS\S\S   4S jrSSS\SS4S jrS\\\      S\\   SS4S jrSrU =r$ )ListCommand&   zh
List installed packages, including editables.

Packages are listed in a case-insensitive sorted order.
Tz
      %prog [options]returnNc           	         U R                   R                  SSSSSS9  U R                   R                  SSSSS	S9  U R                   R                  S
SSSSS9  U R                   R                  SSSSSS9  U R                   R                  SSSSSS9  U R                   R                  [        R                  " 5       5        U R                   R                  SSSSS9  U R                   R                  SSSSSSS9  U R                   R                  SSSSS 9  U R                   R                  S!S"S#S$S 9  U R                   R                  S%SS#S&S'S(9  U R                   R                  [        R                  " 5       5        [        R
                  " [        R                  U R                  5      nU R                  R                  S)U5        U R                  R                  S)U R                   5        g )*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.)destr1   r2   r3   z--prezYInclude pre-release and development versions. By default, pip only finds stable versions.z--formatstorelist_formatcolumns)r8   freezejsonzSelect the output format among: columns (default), freeze, or json. The 'freeze' format cannot be used with the --outdated option.)r1   r5   r2   choicesr3   z--not-requirednot_requiredz>List packages that are not dependencies of installed packages.)r1   r5   r3   z--exclude-editablestore_falseinclude_editablez%Exclude editable package from output.z--include-editablez%Include editable package from output.T)r1   r5   r3   r2   r   )	cmd_opts
add_optionr   	list_pathlist_excludemake_option_groupindex_groupparserinsert_option_group)self
index_optss     r*   add_optionsListCommand.add_options1   s     ) 	! 	
 	  ) 	! 	
 	  * 	! 	
 	  / 	! 		
 	  ? 	! 	
 	  !5!5!78  2 	! 	
 	  1Q 	! 
	
 	  Q	 	! 	
 	    #8	 	! 	
 	   #8 	! 	
 	  !8!8!:;11*2H2H$++V
'':6''4==9r)   optionsc                 j   > UR                   (       d  UR                  (       a  [        TU ]  U5        g g N)outdateduptodatesuperhandle_pip_version_check)rG   rK   	__class__s     r*   rQ   $ListCommand.handle_pip_version_check   s&    w//G,W5  0r)   sessionr   r   c                     SSK Jn  SSKJn  UR	                  X!S9n[        SUR                  S9nUR                  " UUS9$ )z;
Create a package finder appropriate to this list command.
r   )LinkCollectorr   )rK   F)allow_yankedallow_all_prereleases)link_collectorselection_prefs)pip._internal.index.collectorrV   "pip._internal.index.package_finderr   creater   pre)rG   rK   rT   rV   r   rY   rZ   s          r*   _build_package_finder!ListCommand._build_package_finder   sO     	@D&--g-G /")++

 ##)+
 	
r)   argsc                 :   UR                   (       a  UR                  (       a  [        S5      eUR                   (       a  UR                  S:X  a  [        S5      e[        R
                  " U5        [        [        5      nUR                  (       a"  UR                  S UR                   5       5        [        UR                  5      R                  UR                  UR                  UR                  UR                   US9 Vs/ s H  n[#        SU5      PM     nnUR$                  (       a  U R'                  XQ5      nUR                   (       a  U R)                  XQ5      nO"UR                  (       a  U R+                  XQ5      nU R-                  XQ5        [.        $ s  snf )Nz5Options --outdated and --uptodate cannot be combined.r9   z?List format 'freeze' cannot be used with the --outdated option.c              3   8   #    U  H  n[        U5      v   M     g 7frM   r   ).0ns     r*   	<genexpr>"ListCommand.run.<locals>.<genexpr>   s     G6F)!,,6F   )
local_only	user_onlyeditables_onlyinclude_editablesskipr   )rN   rO   r   r7   r   check_list_path_optionsetr   excludesupdater   pathiter_installed_distributionslocalr4   editabler>   r
   r<   get_not_requiredget_outdatedget_uptodateoutput_package_listingr   )rG   rK   ra   rm   dpackagess         r*   runListCommand.run   sP    0 0VWW 3 3x ?Q  	))'2;KKGg6F6FGG %W\\2OO"==!,,&//")":": P 	%
 &* 	 	%
 ,,X?H((;H((;H##H61	%
s   Fr{   _ProcessedDistsc                     U R                  X5       Vs/ s H!  nUR                  UR                  :  d  M  UPM#     sn$ s  snf rM   iter_packages_latest_infosr   versionrG   r{   rK   dists       r*   rw   ListCommand.get_outdated   sF    
 77J
J""T\\1 J
 	
 
   ??c                     U R                  X5       Vs/ s H!  nUR                  UR                  :X  d  M  UPM#     sn$ s  snf rM   r   r   s       r*   rx   ListCommand.get_uptodate   sF    
 77J
J""dll2 J
 	
 
r   c                    U VVs1 s H9  nUR                  5       =(       d    S  H  n[        UR                  5      iM     M;     nnn[        U Vs1 s H  ofR                  U;  d  M  UiM     sn5      $ s  snnf s  snf )Nr    )iter_dependenciesr   namelistcanonical_name)rG   r{   rK   r   depdep_keyspkgs          r*   rv   ListCommand.get_not_required   s}    
 !
 ..06B6 chh'6 (  	 
 HSHS0B0B(0RSHSTT
 Ts   A A6A<)A<)r   NNc              #      ^^#    U R                  T5       nU R                  TU5      mSSS[        S   4UU4S jjn[        XA5       H  nUc  M  Uv   M     S S S 5        g ! , (       d  f       g = f7f)Nr   r   r.   c                   > TR                  U R                  5      nTR                  (       d/  U Vs/ s H"  nUR                  R                  (       a  M   UPM$     nnTR                  U R                  S9nUR                  U5      nUc  g UR                  nUR                  R                  (       a  SnOSnXPl	        X`l
        U $ s  snf )N)project_namewheelsdist)find_all_candidatesr   r^   r   is_prereleasemake_candidate_evaluatorsort_best_candidatelinkis_wheelr   r   )	r   all_candidates	candidate	evaluatorbest_candidateremote_versiontypfinderrK   s	          r*   latest_info;ListCommand.iter_packages_latest_infos.<locals>.latest_info   s     "(!;!;D<O<O!P{{ *8&)7I(00>> ")7 # & #;;!%!4!4 < 	 "+!>!>~!N!)!/!7!7!&&//!C!C&4#'*$)&s   CC)_build_sessionr_   r   map)rG   r{   rK   rT   r   r   r   s     `   @r*   r   &ListCommand.iter_packages_latest_infos   sq        )W//AF+/0 8 K2#J 3? *))s"   A26A!A!	A2!
A/+A2c                    [        US S9nUR                  S:X  a&  U(       a  [        X5      u  p4U R                  X45        g UR                  S:X  ai  U Hb  nUR                  S:  a.  [        SUR                  UR                  UR                  5        MA  [        SUR                  UR                  5        Md     g UR                  S:X  a  [        [        X5      5        g g )	Nc                     U R                   $ rM   )r   )r   s    r*   <lambda>4ListCommand.output_package_listing.<locals>.<lambda>  s
    T00r)   )keyr8   r9      z%s==%s (%s)z%s==%sr:   )
sortedr7   format_for_columnsoutput_package_listing_columnsverboser   raw_namer   locationformat_for_json)rG   r{   rK   dataheaderr   s         r*   ry   "ListCommand.output_package_listing  s     0
 )+-h@LD//=  H, ??a' %t}}dllDMM !4==$,,G !   F*;< +r)   r   r   c                     [        U5      S:  a  UR                  SU5        [        U5      u  p4[        U5      S:  a(  UR                  SSR                  S U 5       5      5        U H  n[	        U5        M     g )Nr   r    c              3   ,   #    U  H
  nS U-  v   M     g7f)-Nr    rd   xs     r*   rf   =ListCommand.output_package_listing_columns.<locals>.<genexpr>3  s     *BEq37Es   )leninsertr   joinr   )rG   r   r   pkg_stringssizesvals         r*   r   *ListCommand.output_package_listing_columns(  sg     t9q=KK6"%d^ t9q=q#((*BE*B"BCC r)   r    )r.   N)r!   r"   r#   r$   r%   ignore_require_venvusagerI   r   rQ   r_   r   r'   intr|   rw   rx   rv   r   r   ry   r   r(   __classcell__)rR   s   @r*   r,   r,   &   s7    EV:p6 64 6

(4
	
.'6 'c 's 'R
)
4:
	

)
4:
	
U)U4:U	U$)$4:$	4	5$L=)=4:=	=*cO-1#Y	 r)   r,   pkgsr~   rK   r.   c                 <   SS/nUR                   nU(       a  UR                  SS/5        [        S U  5       5      nU(       a  UR                  S5        UR                  S:  a  UR                  S5        UR                  S:  a  UR                  S	5        / nU  H  nUR
                  UR                  /nU(       a?  UR                  [        UR                  5      5        UR                  UR                  5        U(       a$  UR                  UR                  =(       d    S
5        UR                  S:  a$  UR                  UR                  =(       d    S
5        UR                  S:  a  UR                  UR                  5        UR                  U5        M     XR4$ )zS
Convert the package data into something usable
by output_package_listing_columns.
Packager   LatestTypec              3   8   #    U  H  oR                   v   M     g 7frM   )ru   r   s     r*   rf   %format_for_columns.<locals>.<genexpr>F  s     1Dq

Drh   zEditable project locationr   Location	Installer )rN   extendanyappendr   r   raw_versionr'   r   r   editable_project_locationr   	installer)r   rK   r   running_outdatedhas_editablesr   projrows           r*   r   r   9  s<    #F''x()1D11M12!j!!k"D }}d../JJs4../0JJt++,JJt55;<??aJJt}}*+??aJJt~~&C# & <r)   r{   c                    / nU  H  nUR                   [        UR                  5      S.nUR                  S:  a'  UR                  =(       d    SUS'   UR
                  US'   UR                  (       a'  [        UR                  5      US'   UR                  US'   UR                  nU(       a  XTS'   UR                  U5        M     [        R                  " U5      $ )	N)r   r   r   r   r   r   r   r   r   )r   r'   r   r   r   r   rN   r   r   r   r   r:   dumps)r{   rK   r   r   infor   s         r*   r   r   f  s    DMM4<<(
 ??a#}}2D $D%()<)<%=D!"&*&:&:D"#$($B$B!$0I,-D  ::dr)   )/r:   logging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   r\   r   pip._internal.network.sessionr   r   r~   	getLoggerr!   loggerr,   r'   r   r   r    r)   r*   <module>r      s       R R R 9 1 ( = 2 1 D E 2 ;@8.  23O 
		8	$P# Pf*
*&,*
4S	?DI%&*Z/ & S r)   