
    bi                         d Z ddlZddlZddlZddlZ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mZmZmZ 	 ddeedz   ej        d	
          f         ddfdZddZdedefdZdS )zContains commands to print information about the environment and version.

Usage:
    transformers env
    transformers version
    N)	Annotated   )__version__)is_deepspeed_available)is_accelerate_availableis_torch_availableis_torch_hpu_availableis_torch_npu_availableis_torch_xpu_availableaccelerate_config_filezQThe accelerate config file to use for the default values in the launching script.)helpreturnc                 T   ddl }|j        }d}dx}}t                      rddl}ddlm}m} |j        }| t          j        	                    |          r ||           
                                }t          |t                    r1d                    d |                                D                       nd| }d}	d	}
d	}t                      raddl}|j        }	|j                                        }
t'                      }t)                      }t+                      }|
rd
}n|rd}n	|rd}n|rd}d}t-                      rHt/          j        t3          j                              5  ddl}ddd           n# 1 swxY w Y   |j        }t          t9          j                    t9          j                    t<          j        | | | | |	 d| ddd
}t                      r|
r"d|d<   |j                                        |d<   nz|r"d|d<   |j                                         |d<   nV|r"d|d<   |j!                                        |d<   n2|r0d|d<   |j"                                        |d<   |j#        j$        |d<   tK          d           tK          tM          |                     |S )z(Print information about the environment.r   Nznot installedz	not found)default_config_fileload_config_from_file
c                 $    g | ]\  }}d | d| S )z	- :  .0propvals      R/root/projects/butler/venv/lib/python3.11/site-packages/transformers/cli/system.py
<listcomp>zenv.<locals>.<listcomp>A   s-    WWW	c+d++c++WWW    	NACUDAXPUNPUHPUz ()z	<fill in>)
z`transformers` versionPlatformzPython versionzHuggingface_hub versionzSafetensors versionzAccelerate versionzAccelerate configzDeepSpeed versionzPyTorch version (accelerator?)z/Using distributed or parallel set-up in script?zUsing GPU in script?zGPU typezUsing XPU in script?zXPU typezUsing HPU in script?zHPU typezUsing NPU in script?zNPU typezCANN versionzV
Copy-and-paste the text below in your GitHub issue and FILL OUT the two last points.
)'safetensorsr   r   
accelerateaccelerate.commands.configr   r   ospathisfileto_dict
isinstancedictjoinitemsr   torchcudais_availabler   r
   r	   r   
contextlibredirect_stdoutioStringIO	deepspeedplatformpython_versionhuggingface_hubget_device_namexpuhpunpuversioncannprint_format_dict)r   r%   safetensors_versionaccelerate_versionaccelerate_configaccelerate_config_strr&   r   r   
pt_versionpt_cuda_availablept_acceleratorr0   pt_xpu_availablept_npu_availablept_hpu_availabledeepspeed_versionr7   infos                      r   envrO   )   s    %1(0;;-   
YYYYYYYY'3!-@S1T1T- 5 56L M M U U W W +T22*DIIWW=N=T=T=V=VWWWXXX)')) 	 !JN #&
!J3355133133133 	##NN 	#"NN 	#"NN 	#"N' 2'66 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	%1 #.%''"133#2#>"57!35 57 13-7*L*L>*L*L*L;F D  6 	6+6D'($z99;;D 		6+6D'($y88::D 	6+6D'($y88::D 	6+6D'($y88::D#(=#5D 	
deee	,t

Ks   &E77E;>E;c                  .    t          t                     dS )zPrint CLI version.N)rA   r   r   r   r   r?   r?      s    	+r   dc                 j    d                     d |                                 D                       dz   S )Nr   c                 $    g | ]\  }}d | d| S )z- r   r   r   s      r   r   z _format_dict.<locals>.<listcomp>   s-    DDDYT3(4((3((DDDr   )r.   r/   )rQ   s    r   rB   rB      s0    99DD!''))DDDEELLr   )N)r   N)__doc__r3   r5   r(   r8   typingr   r:   typer r   integrations.deepspeedr   utilsr   r   r	   r
   r   strArgumentrO   r?   r-   rB   r   r   r   <module>r\      sn        				 				                   ; ; ; ; ; ;              		W W%d
oppp	rW
 
W W W Wt   
MD MS M M M M M Mr   