
    5>qjD                       d dl mZ 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
 d dlmZ ddlmZ dd	lmZ dd
lmZ g dZ ej(                  e      Z ed       G d d             Z	 	 	 	 ddZ	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZy)    )annotationsN)	Generator)	dataclass)BarTypeget_install_progress_renderer)
indent_log   )parse_requirements)InstallRequirement)RequirementSet)r   r   r
   install_given_reqsT)frozenc                      e Zd ZU ded<   y)InstallationResultstrnameN)__name__
__module____qualname____annotations__     Y/opt/rentech/trading_bot/.venv/lib/python3.12/site-packages/pip/_internal/req/__init__.pyr   r      s    
Ir   r   c              #  f   K   | D ](  }|j                   s
J d|        |j                   |f * y w)Nz%invalid to-be-installed requirement: )r   )requirementsreqs     r   _validate_requirementsr      s>       xxF@FFxhhms   /1c	                   t        j                  t        |             }	|	r3t        j	                  ddj                  |	j                                      g }
t        j                  t        j                        xr t        |	      dkD  }t        |	j                               }|rt        |t        |	            } ||      }t               5  |D ]  }|j                  }|J |j                   r<t        j	                  d|       t               5  |j#                  d      }ddd       nd}	 |j%                  |||||||	       r|j&                  r|j)                          	 |
j/                  t1        |              	 ddd       |
S # 1 sw Y   hxY w# t*        $ r  r|j&                  s|j-                           w xY w# 1 sw Y   |
S xY w)
zu
    Install everything in the given list.

    (to be called after having downloaded and unpacked the packages)
    z!Installing collected packages: %sz, r	   )bar_typetotalNzAttempting uninstall: %sT)auto_confirm)roothomeprefixwarn_script_locationuse_user_site	pycompilescript_executable)collectionsOrderedDictr   loggerinfojoinkeysisEnabledForloggingINFOlenitervaluesr   r   r   should_reinstall	uninstallinstallinstall_succeededcommit	Exceptionrollbackappendr   )r   r"   r#   r$   r%   r&   r'   progress_barr(   
to_install	installedshow_progressitemsrendererrequirementreq_nameuninstalled_pathsets                    r   r   r   &   s     (()?)MNJ/IIjoo'(	

 I''5M#j/A:MM""$%E0!Z
 	 ;  	;K"''H'''++6A\ S*5*?*?T*?*R'S S '+#1##!)="/'&7 $  ';+H+H'..0/9:;	;;@ 5S S  &{/L/L'002	+;@ s=   AGF!G-F;GFG)G  GG)r   list[InstallRequirement]returnz5Generator[tuple[str, InstallRequirement], None, None])N)r   rF   r"   
str | Noner#   rH   r$   rH   r%   boolr&   rI   r'   rI   r=   r   r(   rH   rG   zlist[InstallationResult])
__future__r   r)   r0   collections.abcr   dataclassesr   pip._internal.cli.progress_barsr   r   pip._internal.utils.loggingr   req_filer
   req_installr   req_setr   __all__	getLoggerr   r+   r   r   r   r   r   r   <module>rT      s    "   % ! R 2 ( + # 
		8	$ $  *:" %)C*C
C C 	C
 C C C C "C Cr   