Ë
    KêjT6  ã                  óz  — d dl mZ d dlZd dlZd dlZd dlmZmZ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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jZ                  e.«      Z/ G d„ de«      Z0	 	 	 	 	 	 dd„Z1dd„Z2y)é    )ÚannotationsN)Ú	GeneratorÚIteratorÚSequence)ÚParser)ÚValues)ÚTYPE_CHECKINGÚcast)Úcanonicalize_name)ÚInvalidVersionÚVersion)Ú
cmdoptions)ÚIndexGroupCommand)ÚSUCCESS)ÚCommandError)ÚBaseDistributionÚget_environment)Ústdlib_pkgs)ÚSelectionPreferences)ÚtabulateÚwrite_output©ÚPackageFinder)Ú
PipSessionc                  ó&   — e Zd ZU dZded<   d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.
        r   Úlatest_versionÚstrÚlatest_filetypeN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__© ó    ú`/home/oem/CyberBrain26-unified/.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ej                  dˆ fd„«       Z		 	 	 	 	 	 dd„Z
dd„Z	 	 	 	 	 	 dd„Z	 	 	 	 	 	 dd	„Z	 	 	 	 	 	 dd
„Z	 	 	 	 	 	 dd„Z	 	 	 	 	 	 dd„Z	 	 	 	 	 	 dd„Zˆ xZS )ÚListCommandzt
    List installed packages, including editables.

    Packages are listed in a case-insensitive sorted order.
    Tz
      %prog [options]c                ój  — | 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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                  «      }t        j
                  t        j                  | j                  «      }| j                  j                  d'|«       | 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--formatÚstoreÚlist_formatÚcolumns)r3   ÚfreezeÚjsonz‚Select the output format among: columns (default), freeze, or json. The 'freeze' format cannot be used with the --outdated option.)r,   r0   r-   Úchoicesr.   z--not-requiredÚnot_requiredz>List packages that are not dependencies of installed packages.)r,   r0   r.   z--exclude-editableÚstore_falseÚinclude_editablez%Exclude editable package from output.z--include-editablez#Include editable package in output.T)r,   r0   r.   r-   r   )
Úcmd_optsÚ
add_optionr   Ú	list_pathÚlist_excludeÚmake_option_groupÚindex_groupÚparserÚpackage_selection_groupÚinsert_option_group)ÚselfÚ
index_optsÚselection_optss      r'   Úadd_optionszListCommand.add_options6   s   € Ø�‰× Ñ ØØØØØ)ð 	!ô 	
ð 	�‰× Ñ ØØØØØ)ð 	!ô 	
ð 	�‰× Ñ ØØØØØ*ð 	!ô 	
ð 	�‰× Ñ ØØØØð/ð 	!ô 		
ð 	�‰× Ñ ØØØØØ?ð 	!ô 	
ð 	�‰× Ñ ¤×!5Ñ!5Ó!7Ô8à�‰× Ñ ØØØØØ1ðQð 	!ô 
	
ð 	�‰× Ñ ØØØØQð	 	!ô 	
ð 	�‰× Ñ Ø Ø Ø#Ø8ð	 	!ô 	
ð 	�‰× Ñ Ø ØØ#Ø6Øð 	!ô 	
ð 	�‰× Ñ ¤×!8Ñ!8Ó!:Ô;Ü×1Ñ1´*×2HÑ2HÈ$Ï+É+ÓVˆ
ä#×5Ñ5Ü×.Ñ.Ø�K‰Kó
ˆð
 	�‰×'Ñ'¨¨:Ô6Ø�‰×'Ñ'¨¨>Ô:Ø�‰×'Ñ'¨¨4¯=©=Õ9r&   c              #  óš   •K  — |j                   s|j                  sd –— y t        ‰| �  ||«      5  d –— d d d «       y # 1 sw Y   y xY w­w©N)ÚoutdatedÚuptodateÚsuperÚpip_version_check)rC   ÚoptionsÚargsÚ	__class__s      €r'   rL   zListCommand.pip_version_check‹   sD   øè ø€ à× Ò  G×$4Ò$4ÛØÜ‰WÑ& w°Ó5ñ 	Û÷	÷ 	ñ 	üs   ƒ.A±?¶	A¿AÁAc                óØ   — ddl m} ddlm} |j	                  ||¬«      }t        d|j                  |j                  |j                  ¬«      } |j                  |||j                  ¬«      S )zK
        Create a package finder appropriate to this list command.
        r   )ÚLinkCollectorr   )rM   F)Úallow_yankedÚrelease_controlÚformat_controlÚprefer_binary)Úlink_collectorÚselection_prefsÚuploaded_prior_to)
Úpip._internal.index.collectorrQ   Ú"pip._internal.index.package_finderr   Úcreater   rS   rT   rU   rX   )rC   rM   ÚsessionrQ   r   rV   rW   s          r'   Ú_build_package_finderz!ListCommand._build_package_finder“   sp   € õ 	@ÝDà&×-Ñ-¨g¸wÐ-ÓGˆô /ØØ#×3Ñ3Ø"×1Ñ1Ø!×/Ñ/ô	
ˆð $ˆ}×#Ñ#Ø)Ø+Ø%×7Ñ7ô
ð 	
r&   c           	     ón  — t        j                  |«       |j                  r|j                  rt	        d«      ‚|j                  r|j
                  dk(  rt	        d«      ‚t        j                  |«       t        |j                  «      j                  |j                  |j                  |j                  |j                  t        t        «      ¬«      D �cg c]  }t!        d|«      ‘Œ }}|j"                  r| j%                  ||«      }|j&                  r@|j&                  D �ch c]  }t)        |«      ’Œ }}|D �cg c]  }|j*                  |vsŒ|‘Œ }}|j                  r| j-                  ||«      }n|j                  r| j/                  ||«      }| j1                  ||«       t2        S c c}w c c}w c c}w )Nz5Options --outdated and --uptodate cannot be combined.r4   z?List format 'freeze' cannot be used with the --outdated option.)Ú
local_onlyÚ	user_onlyÚeditables_onlyÚinclude_editablesÚskipr   )r   Úcheck_release_control_exclusiverI   rJ   r   r2   Úcheck_list_path_optionr   ÚpathÚiter_installed_distributionsÚlocalr/   Úeditabler9   Úsetr   r
   r7   Úget_not_requiredÚexcludesr   Úcanonical_nameÚget_outdatedÚget_uptodateÚoutput_package_listingr   )rC   rM   rN   ÚdÚpackagesÚnÚexcluded_namesÚdists           r'   ÚrunzListCommand.run­   s•  € Ü×2Ñ2°7Ô;à×Ò × 0Ò 0ÜÐVÓWÐWà×Ò × 3Ñ 3°xÒ ?ÜØQóð ô 	×)Ñ)¨'Ô2ô % W§\¡\Ó2×OÑOØ"Ÿ=™=Ø!Ÿ,™,Ø&×/Ñ/Ø")×":Ñ":ÜœÓ%ð Pó ö	%
àô Ð&¨Õ*ð	%
ˆð 	%
ð ×ÒØ×,Ñ,¨X°wÓ?ˆHà×ÒØ<C×<LÑ<LÖM°qÔ/°Õ2ÐMˆNÐMà!)öØ¨T×-@Ñ-@ÈÒ-V’ðˆHð ð ×ÒØ×(Ñ(¨°7Ó;‰HØ×ÒØ×(Ñ(¨°7Ó;ˆHà×#Ñ# H¨gÔ6Üˆùò=	%
ùò& Nùòs   ÃF(Ä!F-Ä9F2ÅF2c                ó~   — | j                  ||«      D �cg c]  }|j                  |j                  kD  r|‘Œ c}S c c}w rH   ©Úiter_packages_latest_infosr   Úversion©rC   rr   rM   ru   s       r'   rn   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 rH   rx   r{   s       r'   ro   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Úlistrm   )rC   rr   rM   ru   ÚdepÚdep_keysÚpkgs          r'   rk   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,c              #  óÌ   ‡ ‡‡K  — ‰ j                  ‰«      5 }‰ j                  ‰|«      Š	 	 	 	 dˆˆˆ fd„}t        ||«      D ]	  }|€Œ|–— Œ 	 d d d «       y # 1 sw Y   y xY w­w)Nc                ó”  •— ‰j                  | j                  «      }‰	j                  ‰| j                  «      r%|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_candidatesrm   Úshould_exclude_prereleaserz   Úis_prereleaseÚmake_candidate_evaluatorÚsort_best_candidateÚlinkÚis_wheelr   r   )
ru   Úall_candidatesÚ	candidateÚ	evaluatorÚbest_candidateÚremote_versionÚtypÚfinderrM   rC   s
          €€€r'   Úlatest_infoz;ListCommand.iter_packages_latest_infos.<locals>.latest_info   sØ   ø€ ð "(×!;Ñ!;¸D×<OÑ<OÓ!P�Ø×1Ñ1°'¸4×;NÑ;NÔOð *8ö&à%Ø(×0Ñ0×>Ò>ò "ð&�Nð &ð #×;Ñ;Ø!%×!4Ñ!4ð <ó �	ð "+×!>Ñ!>¸~Ó!N�Ø!Ð)Øà!/×!7Ñ!7�Ø!×&Ñ&×/Ò/Ø!‘Cà!�CØ&4�Ô#Ø'*�Ô$Ø�ùò)&s   ½C)ru   r   Úreturnz_DistWithLatestInfo | None)Ú_build_sessionr]   Úmap)rC   rr   rM   r\   r˜   ru   r—   s   ` `   @r'   ry   z&ListCommand.iter_packages_latest_infosú   sw   úè ø€ ð × Ñ  Ó)ð  	¨WØ×/Ñ/°¸ÓAˆFðØ)ðà+÷ô6 ˜K¨Ó2ò �ØÑ#Ø“Jñ÷= 	÷  	ñ  	üs"   …A$—0AÁAÁ	A$ÁA!ÁA$c                óî  — t        |d„ ¬«      }|j                  dk(  r$|r"t        ||«      \  }}| j                  ||«       y |j                  dk(  rV|D ]P  }	 |j                  › d|j
                  › �}|j                  dk\  rt        d||j                  «       ŒFt        |«       ŒR y |j                  d	k(  rt        t        ||«      «       y y # t        $ r |j                  › d|j                  › �}Y Œ�w xY w)
Nc                ó   — | j                   S rH   )rm   )ru   s    r'   ú<lambda>z4ListCommand.output_package_listing.<locals>.<lambda>$  s   € ˜T×0Ñ0€ r&   )Úkeyr3   r4   z==z===é   z%s (%s)r5   )Úsortedr2   Úformat_for_columnsÚoutput_package_listing_columnsÚraw_namerz   r   Úraw_versionÚverboser   ÚlocationÚformat_for_json)rC   rr   rM   ÚdataÚheaderru   Ú
req_strings          r'   rp   z"ListCommand.output_package_listing  sù   € ô ØÙ0ô
ˆð ×Ñ )Ò+±Ü-¨h¸Ó@‰LˆD�&Ø×/Ñ/°°fÕ=Ø× Ñ  HÒ,Ø ò -�ðIØ$(§M¡M ?°"°T·\±\°NÐ!C�Jð —?‘? aÒ'Ü  ¨J¸¿¹ÕFä  Õ,ñ-ð × Ñ  FÒ*Üœ¨°7Ó;Õ<ð +øô &ò IØ$(§M¡M ?°#°d×6FÑ6FÐ5GÐ!H’JðIús   ÁCÃ$C4Ã3C4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%   ©Ú.0Úxs     r'   ú	<genexpr>z=ListCommand.output_package_listing_columns.<locals>.<genexpr>A  s   è ø€ Ò*B°q¨3°­7Ñ*Bùs   ‚)ÚlenÚinsertr   Újoinr   )rC   r©   rª   Úpkg_stringsÚsizesÚvals         r'   r£   z*ListCommand.output_package_listing_columns6  sn   € ô ˆt‹9�qŠ=Ø�K‰K˜˜6Ô"ä% d›^Ñˆ�Uô ˆt‹9�qŠ=Ø×Ñ˜q #§(¡(Ñ*B¸EÔ*BÓ"BÔCàò 	ˆCÜ˜Õñ	r&   )r™   ÚNone)rM   r   rN   ú	list[str]r™   zIterator[None])rM   r   r\   r   r™   r   )rM   r   rN   r»   r™   Úint)rr   Ú_ProcessedDistsrM   r   r™   r½   )rr   r½   rM   r   r™   z*Generator[_DistWithLatestInfo, None, None])rr   r½   rM   r   r™   rº   )r©   zlist[list[str]]rª   r»   r™   rº   )r    r!   r"   r#   Úignore_require_venvÚusagerF   Ú
contextlibÚcontextmanagerrL   r]   rv   rn   ro   rk   ry   rp   r£   Ú__classcell__)rO   s   @r'   r)   r)   +   s  ø„ ñð Ðð€EóS:ðj ×Ñôó ðð
Øð
Ø(2ð
à	ó
ó4+ðZ
Ø'ð
Ø28ð
à	ó
ð
Ø'ð
Ø28ð
à	ó
ðUØ'ðUØ28ðUà	óUð#Ø'ð#Ø28ð#à	3ó#ðJ=Ø'ð=Ø28ð=à	ó=ð.Ø#ðØ-6ðà	÷r&   r)   c                ó¾  — ddg}|j                   }|r|j                  ddg«       dd„}| D �cg c]
  } ||«      ‘Œ }}t        |«      }|r|j                  d«       t        d„ | D «       «      }|r|j                  d«       |j                  d	k\  r|j                  d
«       |j                  d	k\  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ÚTypec                ó”   — 	 | j                  d«      }t        «       j                  |«      j	                  d«      S # t        $ r Y y w xY w)NÚWHEELÚBuild)Ú	read_textÚFileNotFoundErrorr   ÚparsestrÚget)ru   Ú
wheel_files     r'   Úwheel_build_tagz+format_for_columns.<locals>.wheel_build_tagT  sI   € ð	ØŸ™¨Ó0ˆJô ‹x× Ñ  Ó,×0Ñ0°Ó9Ð9øô !ò 	Ùð	ús   ‚; »	AÁArÉ   c              3  ó4   K  — | ]  }|j                   –— Œ y ­wrH   )ri   r°   s     r'   r³   z%format_for_columns.<locals>.<genexpr>`  s   è ø€ Ò1 q˜Ÿ
�
Ñ1ùs   ‚zEditable project locationr    ÚLocationÚ	InstallerÚ )ru   r   r™   z
str | None)rI   ÚextendÚanyÚappendr¦   Ú	enumerater¤   r¥   r   r   r   Úeditable_project_locationr§   Ú	installer)ÚpkgsrM   rª   Úrunning_outdatedrÏ   ÚpÚ
build_tagsÚhas_build_tagsÚhas_editablesr©   ÚiÚprojÚrows                r'   r¢   r¢   G  s   € ð ˜Ð#€Fà×'Ñ'ÐÙØ�‰�x Ð(Ô)ó:ð /3Ö3¨‘/ !Õ$Ð3€JÐ3Ü˜“_€NÙØ�‰�gÔäÑ1¨DÔ1Ó1€MÙØ�‰Ð1Ô2à‡�˜!ÒØ�‰�jÔ!Ø‡�˜!ÒØ�‰�kÔ"à€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c                óÎ  — g }| D ]¯  }	 t        |j                  «      }|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 # t        $ r |j                  }Y ŒÅw xY w)	N)r€   rz   r    rÓ   r§   rÙ   r   r   rØ   )r   rz   r   r¥   r¤   r¦   r§   rÙ   rI   r   r   rØ   rÖ   r5   Údumps)rr   rM   r©   ru   rz   ÚinforØ   s          r'   r¨   r¨   ƒ  sî   € Ø€DØò ˆð	'Ü˜$Ÿ,™,Ó'ˆGð —M‘MØñ
ˆð �?‰?˜aÒØ#Ÿ}™}Ò2°ˆD�ÑØ $§¡ˆD�ÑØ×ÒÜ%(¨×)<Ñ)<Ó%=ˆDÐ!Ñ"Ø&*×&:Ñ&:ˆDÐ"Ñ#Ø$(×$BÑ$BÐ!Ù$Ø0IˆDÐ,Ñ-Ø�‰�DÕð%ô& �:‰:�dÓÐøô! ò 	'Ø×&Ñ&ŠGð	'ús   ‰CÃC$Ã#C$)rÚ   r½   rM   r   r™   z!tuple[list[list[str]], list[str]])rr   r½   rM   r   r™   r   )3Ú
__future__r   rÀ   r5   ÚloggingÚcollections.abcr   r   r   Úemail.parserr   Úoptparser   Útypingr	   r
   Úpip._vendor.packaging.utilsr   Úpip._vendor.packaging.versionr   r   Úpip._internal.clir   Úpip._internal.cli.index_commandr   Úpip._internal.cli.status_codesr   Úpip._internal.exceptionsr   Úpip._internal.metadatar   r   Úpip._internal.metadata.baser   Ú$pip._internal.models.selection_prefsr   Úpip._internal.utils.miscr   r   rZ   r   Úpip._internal.network.sessionr   r   r½   Ú	getLoggerr    Úloggerr)   r¢   r¨   r%   r&   r'   ú<module>rù      s¨   ðÝ "ã Û Û ß 9Ñ 9Ý Ý ß &å 9ß Aå (Ý =Ý 2Ý 1ß DÝ 3Ý Eß ;áÝ@Ý8ôÐ.ô ð Ð2Ñ3€Oð 
ˆ×	Ñ	˜8Ó	$€ôYÐ#ô Yðx9Ø
ð9Ø$*ð9à&ó9ôxr&   