+
    :1j:2                        R t ^ RIHt ^ RIt^ RIt^ RIHtHt ^ RIH	t	 ^RI
Ht ]	'       d   ^ RIHtHtHt ^ RIHt ]P"                  ! ]4      tR R	 ltR
 tR tRR R lltRR R lltRR ltR R ltR# )zXCLI implementation for `conda list`.

Lists all packages installed into an environment.
)annotationsN)isdirisfile)TYPE_CHECKING)__version__)ArgumentParser	Namespace_SubParsersAction)Anyc                    V ^8  d   QhRRRR/# )   sub_parsersr	   returnr    )formats   "3lib/python3.14/site-packages/conda/cli/main_list.py__annotate__r      s     M M"3 M. M    c                (   ^RI Hp ^RIHp ^RIHpHpHpHp RpTp	V! R4      p
V P                  ! R9RVRV	RV
/VB pV! V4       V! V4       V! V4       VP                  R	VR
RRP                  \        V4      4       R2R7       VP                  RRRRR7       VP                  RRRRR7       VP                  RRRRR7       VP                  RRRR7       VP                  RRRR7       VP                  RRR R7       VP                  R!R"RR#R7       VP                  R$R%RR&R7       VP                  R'RR(R7       VP                  R)R*R+R,R-R.7       VP                  R/R*R+R0R1R.7       VP                  R2R3R4R5R67       VP                  R7R87       V# ):r   )dals)CONDA_LIST_FIELDS)add_parser_jsonadd_parser_prefixadd_parser_show_channel_urlscomma_separated_strippedz/List installed packages in a conda environment.a  
        Examples:

        List all packages in the current environment::

            conda list

        List all packages in reverse order::

            conda list --reverse

        List all packages installed into the environment 'myenv'::

            conda list -n myenv

        List all packages that begin with the letters "py", using regex::

            conda list ^py

        List name and version only::

            conda list --fields name,version

        Save packages for future use::

            conda list --export > package-list.txt

        Reinstall packages from an export file::

            conda create -n myenv --file package-list.txt

        helpdescriptionepilogz--fieldslist_fieldsz7Comma-separated list of fields to print. Valid values: ,.)typedestr   z	--reverse
store_trueFz)List installed packages in reverse order.)actiondefaultr   z-cz--canonicalz(Output canonical names of packages only.)r$   r   z-fz--full-namez]Only search for full names, i.e., ^<regex>$. --full-name NAME is identical to regex '^NAME$'.z
--explicitzbList explicitly all installed conda packages with URL (output may be used by conda create --file).z--md5z&Add MD5 hashsum when using --explicit.z--sha256z)Add SHA256 hashsum when using --explicit.z-ez--exportzOutput explicit, machine-readable requirement strings instead of human-readable lists of packages. This output may be used by conda create --file.z-rz--revisionszList the revision history.z--sizez#Show package and environment sizes.z--no-pipstore_falseTpipz+Do not include pip-only installed packages.)r$   r%   r"   r   z--authremove_authzfIn explicit mode, leave authentication details in package URLs. They are removed by default otherwise.regexstore?z4List only packages matching this regular expression.)r$   nargsr   zconda.cli.main_list.execute)func)list)
auxlib.ishr   base.constantsr   helpersr   r   r   r   
add_parseradd_argumentjoinsortedset_defaults)r   kwargsr   r   r   r   r   r   summaryr   r   ps   &,          r   configure_parserr:      sI   !2  @GK	!FF 	 		  	 		
 	A aA #NN%&):";<=Q@	   NN8	   NN7	   NN;	   NN7   NN5  
 NN8  
 NN	   NN)	   NN2  
 NN:   NN1   NNC	   NN5N6Hr   c                r    \        R 4       \        R4       \        RV  24       \        R\         24       R# )z7# This file may be used to create an environment using:z0# $ conda create --name <env> --file <this file>z# platform: z# created-by: conda N)printr   )subdirs   &r   print_export_headerr>      s3    	
CD	
<=	L
!"	 
./r   c              #     "   V'       d&   \         P                  ! V\         P                  4      MR p\        V R R7       F.  pV'       d    VP	                  VP
                  4      f   K*  Vx  K0  	  R # 5i)Nc                6    V P                   P                  4       # N)namelowerxs   &r   <lambda>get_packages.<locals>.<lambda>   s    affllnr   key)recompileIr5   searchrB   )	installedr)   pat
prefix_recs   &&  r   get_packagesrQ      sN     %*"**UBDD
!CY,DE
3::joo.6 Fs   A2A4c                   V ^8  d   QhRR/# )r   r   z,tuple[int, list[str] | list[dict[str, Any]]]r   )r   s   "r   r   r      s     } } 2}r   c	           	     ^
   ^RI Hp	Hp
Hp ^RIHp ^RIHp ^RIH	pH
p ^RIHp ^RIHp ^ pV! V RR7      pV'       d   VP                  4        V'       dP   V'       d!   VP!                  VR	4      pV'       d   V3MR%pMC\#        \%        VP'                  4       V4      R
 R7      pM\#        VP'                  4       R R7      pT;'       g    VP(                  p\+        T;'       g    VP,                  4      pV'       d   RV9  d   VP/                  R4       \1        V4      P3                  V	4      ;p'       d"   V! R\#        V4       R\+        V	4       R24      h. pV Uu. uF  pV	V,          NK  	  pp\5        VR,          4      V
8X  d-   . R&OVR,           Uu. uF  p\7        V4      NK  	  up,           pMV Uu. uF  p\7        V4      NK  	  ppV EF  pVR8X  d|   VP8                  '       dI   VP;                  4       pV'       d   VP=                  VP>                  4      VR&   VP/                  V4       MVP/                  VPA                  4       4       K  VR8X  d   VP/                  VPB                  4       K  . p\E        V4       EF$  w  ppVR8X  d.   \1        VP!                  R4      ;'       g    R%4      p V! V 4      p!MVR8X  d4   VP!                  R4      p"V'       g   Vf   V"V8w  d   \G        V"4      p!MRp!M}VR8X  d   VPA                  4       p!MeVR8X  d#   V! VP=                  VP>                  4      4      p!M<\G        VP!                  VR	4      ;'       g    R4      PI                  4       p!V!R8X  d   Rp!VP/                  V!4       \7        V!4      ;p#VV,          8  g   EK  V#VV&   EK'  	  VP/                  V4       EK  	  V'       d%   V'       g   V'       d	   V! W4      hV! RV R24      hV'       d   \K        V4      pVR8X  d   RPM                  V U$u. uF	  p$RV$ R2NK  	  up$4      p%R V  R!2.p&V'       d+   V! VPO                  4       4      p'V&P/                  R"V' 24       V&PQ                  R#R$V% 2\5        V4      ,          .4       V^ ;;,          ^,          uu&   RPM                  V U$u. uF	  p$RV$ R2NK  	  up$4      p%T&PQ                  V Uu. uF  pV%\5        V4      ,          NK  	  up4       VV&3# \+        V4      p&VV&3# u upi u upi u upi u up$i u up$i u upi )'r   )r   DEFAULT_CONDA_LIST_FIELDSDEFAULTS_CHANNEL_NAMEcontext
PrefixData)CondaValueErrorPackageNotInstalledError)human_bytes)disp_featuresT)interoperabilityNc                    V P                   # rA   rB   rD   s   &r   rF   list_packages.<locals>.<lambda>   s    affr   rH   c                    V P                   # rA   r`   rD   s   &r   rF   ra      s    !&&r   sizezInvalid fields passed: z. Valid options are r    :N   N:rd   NN	canonicalexportfeatureschannel_name dist_strNonezNo packages match 'z'.humanz  z%-sz# packages in environment at :z# environment size: #z# r   )      rq      ))r0   r   rT   rU   base.contextrW   core.prefix_datarY   
exceptionsrZ   r[   utilsr\   commonr]   loadgetr5   rQ   iter_recordsshow_channel_urlsr.   r   appendset
differencetuplelenjsondist_fields_dumppackage_sizeprefix_pathrj   spec	enumeratestrstripreversedr4   rc   extend)(prefixr)   r   reverser{   reload_recordsfieldsregex_is_full_name	show_sizer   rT   rU   rW   rY   rZ   r[   r\   r]   exitcodeprefix_datarecordprefix_recordsinvalid_fieldspackagesfieldtitlestitlewidthsprecpackagerowidxrg   valuerh   value_lengthwidthtemplate_lineresultenv_sizes(   &&&&&&&&&                               r   list_packagesr      s    
 '-F#%HVd;K __UD1F*0fYbN#[557?$N
   8 8 :@PQ)FFW-F-F&//G//0FV6)fV//0ABB~B%f^&<%= >!!%&7!8 9<
 	
 H4:;F5&&FF;VBZ55 F2J#GJ5CJJ#GG*01&#e*&1[ |||//1&*&7&78O8O&PGFO(0XOODII& #F+JC
"txx
399r:%h/.(#xx7%(0$(==-EE*$&#D$5$5k6M6M$NODHHUD177R8>>@F?EJJu #E
*fSk9*s1 ,4 	U X X*699 3E7"=>>H%		f"EfURwa=f"EF+F815
 ";#3#3#56HMM0
;<]O$uV}4	
 	q	Q			f"EfURwa=f"EFXNX'}uW~55XNO V hVY <#G1l #F #FNs$    TT;TT 7T%T*c                   V ^8  d   QhRR/# )r   r   intr   )r   s   "r   r   r   7  s     ( ( 	(r   c
                   ^RI Hp
 ^RIHp \	        V 4      '       g   ^RIHp V! V 4      hV'       g   VR8X  d   \        V
P                  4       \        V VVVVVVV	R7      w  rV
P                  '       d   V! V4       V# \        RP                  V Uu. uF  p\        V4      P                  4       NK  	  up4      4       V# u upi )r   rV   stdout_jsonEnvironmentLocationNotFoundrf   )r   r   r{   r   r   r   
)rs   rW   rw   r   r   ru   r   r>   r=   r   r   r<   r4   r   rstrip)r   r)   r   r   piplistr   r{   r   r   r   rW   r   r   r   outputlines   &&&&&&&&&&      r   print_packagesr   7  s     '#==<)&11X/$+-	H |||F
 O 	dii?T))+?@AO @s   "Cc                   ^RI HpHp ^RIHp ^RIHp ^RIHp V'       d   V'       d   \        R4      h\        V 4      '       g   ^RIHp	 V	! V 4      h\        VP                  4       \        V4       V! V 4      P!                  4        F  p
V
P#                  R4      pV'       d   VP%                  V4      '       d$   \        RP'                  V
R	,          4      4       KV  V'       d(   VP)                  VP+                  V4      ^ ,          4      pV'       g	   V'       d>   V'       d   R
MRpV
P#                  V4      p\        Y'       d   RV 2MR,           4       K  \        V4       K  	  R# )r   )EXPLICIT_MARKERUNKNOWN_CHANNELrV   )urlrX   z0Only one of add_md5 and add_sha256 can be chosenr   r   z# no URL for: {}fnmd5sha256ro   ri   N)r0   r   r   rs   rW   rw   r   rt   rY   
ValueErrorr   ru   r   r>   r=   r<   iter_records_sortedry   
startswithr   r(   split_anaconda_token)r   add_md5r(   
add_sha256r   r   rW   
common_urlrY   r   prefix_recordr   hash_key
hash_values   &&&&          r   print_explicitr   b  s    A&*-:KLL==<)&11'	/#F+??A&cnn_55$++M$,?@A(()H)H)Ma)PQCj 'uXH&**84J#Z1ZL)R@A#J Br   c               $    V ^8  d   QhRRRRRR/# )r   argsr   parserr   r   r   r   )r   s   "r   r   r     s!     8 8) 8^ 8 8r   c                   ^RI Hp ^RIHp ^RIHp ^RIHp VP                  4       pVP                  4        \        VP                  4      pV P                  '       d!   V P                  '       d   ^RIHp V! R4      hV P                   p	V P"                  '       dy   V! V4      p
\%        V
P&                  4      '       d>   VP(                  '       g   V
P+                  4        ^ # V! V
P-                  4       4        ^ # ^RIHp V! V
P&                  4      hV P0                  '       d.   \3        WpP                  V P4                  V P                  4       ^ # V P6                  '       d   RpMV P8                  '       d   R	pMR
pVP(                  '       d   Rp\;        VV	VV P<                  V P>                  VP(                  VP@                  V PB                  V PD                  R7	      # )r   rV   rX   )Historyr   )ArgumentErrorz@Only one of --md5 and --sha256 can be specified at the same time)PathNotFoundErrorre   rf   rl   )r   r   r   r{   r   r   )#rs   rW   rt   rY   historyr   rw   r   from_contextassert_environmentr   r   r   r   ru   r   r)   	revisionsr   pathr   	print_log
object_logr   explicitr   r(   re   rf   r   r   r'   r{   	full_namerc   )r   r   rW   rY   r   r   r   r   r   r)   hr   r   s   &&           r   executer     s_   &-!#))+K""$(()FxxxDKKK.N
 	
 JJE~~~FO!&&>><<<  ALLN+
  7#AFF++ }}}vxx)9)94;;G~~~	|||\\!33>>))
 
r   )Nrl   FNTNFF)	Nrl   FFFNNFF)FTF)__doc__
__future__r   loggingrJ   os.pathr   r   typingr   ri   r   argparser   r   r	   r
   	getLogger__name__logr:   r>   rQ   r   r   r   r   r   r   r   <module>r      sb   
 #  	 !   EE!M`0}@(V:8r   