
    Zi31                        U d Z ddl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	m
Z
mZ ddlmZmZ ej                                        d                             d          Zeed<   i Zi d	d	hd
d
hddhddhddhddhddhddhddhddhddhddhddhddhddhddhddddhiZe                                D ]C\  ZZdee<   eD ]6Z	 ej                            e          ee<    n# ej        j        $ r Y 3w xY wDd ed!efd"Zd ed!efd#Zd!efd$Z d!efd%Z!d!efd&Z"d!efd'Z#d!efd(Z$d!efd)Z%d!efd*Z&d!efd+Z'd!efd,Z(d!efd-Z)d!efd.Z*d!efd/Z+d!efd0Z,d!efd1Z-d!efd2Z.d!efd3Z/d!efd4Z0d!efd5Z1d!efd6Z2d!efd7Z3d!efd8Z4d!efd9Z5d!efd:Z6d!efd;Z7d!efd<Z8d!efd=Z9d!efd>Z:d!efd?Z;d!efd@Z<d!efdAZ=d!efdBZ>d!efdCZ?d!efdDZ@d!efdEZAd!efdFZBd!efdGZCd!efdHZD	 dI e eE                      v ZFn# eG$ r dJZFY nw xY wd!efdKZHd!efdLZId!efdMZJd!edN         fdOZKd!efdPZLd!efdQZMd!eNee
f         fdRZOdS )Sz0Check presence of installed packages at runtime.    N)Path)AnyLiteral   )__version__	constants+_PY_VERSIONaiohttpfastaifastapifastcoregradiographvizhf_xetjinjaJinja2httpxkerasnumpypillowPillowpydanticpydotsafetensorstensorboardtensorboardX
tensorflow)
r   ztensorflow-cpuztensorflow-gpuz
tf-nightlyztf-nightly-cpuztf-nightly-gpuzintel-tensorflowzintel-tensorflow-avx512ztensorflow-rocmztensorflow-macostorchN/Apackage_namereturnc                 8    t                               | d          S Nr    )_package_versionsgetr!   s    Y/root/projects/butler/venv/lib/python3.11/site-packages/huggingface_hub/utils/_runtime.py_get_versionr)   K   s      u555    c                 (    t          |           dk    S r$   r)   r'   s    r(   is_package_availabler-   O   s    %%..r*   c                      t           S N)r
    r*   r(   get_python_versionr1   T       r*   c                      t           S r/   )r   r0   r*   r(   get_hf_hub_versionr4   Y   r2   r*   c                       t          d          S Nr   r-   r0   r*   r(   is_aiohttp_availabler8   ^       	***r*   c                       t          d          S r6   r,   r0   r*   r(   get_aiohttp_versionr;   b       	"""r*   c                       t          d          S Nr   r7   r0   r*   r(   is_fastai_availabler?   g       )))r*   c                       t          d          S r>   r,   r0   r*   r(   get_fastai_versionrB   k       !!!r*   c                       t          d          S Nr   r7   r0   r*   r(   is_fastapi_availablerF   p   r9   r*   c                       t          d          S rE   r,   r0   r*   r(   get_fastapi_versionrH   t   r<   r*   c                       t          d          S Nr   r7   r0   r*   r(   is_fastcore_availablerK   y       
+++r*   c                       t          d          S rJ   r,   r0   r*   r(   get_fastcore_versionrN   }       
###r*   c                       t          d          S Nr   r7   r0   r*   r(   is_gradio_availablerR      r@   r*   c                       t          d          S rQ   r,   r0   r*   r(   get_gradio_versionrT      rC   r*   c                       t          d          S Nr   r7   r0   r*   r(   is_graphviz_availablerW      rL   r*   c                       t          d          S rV   r,   r0   r*   r(   get_graphviz_versionrY      rO   r*   c                       t          d          S Nr   r7   r0   r*   r(   is_httpx_availabler\          (((r*   c                       t          d          S r[   r,   r0   r*   r(   get_httpx_versionr_             r*   c                  <    t           j        rdS t          d          S )NFr   )r   HF_HUB_DISABLE_XETr-   r0   r*   r(   is_xet_availablerc      s     # u)))r*   c                       t          d          S )Nr   r,   r0   r*   r(   get_xet_versionre      rC   r*   c                       t          d          S Nr   r7   r0   r*   r(   is_keras_availablerh      r]   r*   c                       t          d          S rg   r,   r0   r*   r(   get_keras_versionrj      r`   r*   c                       t          d          S Nr   r7   r0   r*   r(   is_numpy_availablerm      r]   r*   c                       t          d          S rl   r,   r0   r*   r(   get_numpy_versionro      r`   r*   c                       t          d          S Nr   r7   r0   r*   r(   is_jinja_availablerr      r]   r*   c                       t          d          S rq   r,   r0   r*   r(   get_jinja_versionrt      r`   r*   c                       t          d          S Nr   r7   r0   r*   r(   is_pillow_availablerw      r@   r*   c                       t          d          S rv   r,   r0   r*   r(   get_pillow_versionry      rC   r*   c                      t          d          sdS 	 ddlm}  n%# t          $ r t	          j        d           Y dS w xY wdS )Nr   Fr   	validatorzPydantic is installed but cannot be imported. Please check your installation. `huggingface_hub` will default to not using Pydantic. Error message: '{e}'T)r-   r   r|   ImportErrorwarningswarnr{   s    r(   is_pydantic_availabler      sv    
++ u&&&&&&&   B	
 	
 	
 uu 4s    <<c                       t          d          S )Nr   r,   r0   r*   r(   get_pydantic_versionr      rO   r*   c                       t          d          S Nr   r7   r0   r*   r(   is_pydot_availabler      r]   r*   c                       t          d          S r   r,   r0   r*   r(   get_pydot_versionr      r`   r*   c                       t          d          S Nr   r7   r0   r*   r(   is_tensorboard_availabler          ...r*   c                       t          d          S r   r,   r0   r*   r(   get_tensorboard_versionr      s    &&&r*   c                       t          d          S Nr   r7   r0   r*   r(   is_tf_availabler      s    ---r*   c                       t          d          S r   r,   r0   r*   r(   get_tf_versionr     s    %%%r*   c                       t          d          S Nr   r7   r0   r*   r(   is_torch_availabler     r]   r*   c                       t          d          S r   r,   r0   r*   r(   get_torch_versionr   
  r`   r*   c                       t          d          S )Nr   r7   r0   r*   r(   is_safetensors_availabler     r   r*   zgoogle.colabFc                      	 t                      j        } | j        D ]}|j        dk    r dS dS # t          $ r Y dS w xY w)zReturn `True` if code is executed in a notebook (Jupyter, Colab, QTconsole).

    Taken from https://stackoverflow.com/a/39662359.
    Adapted to make it work with Google colab as well.
    ZMQInteractiveShellTF)get_ipython	__class____mro____name__	NameError)shell_classparent_classs     r(   is_notebookr     sg    !mm-'/ 	 	L$(===tt >u   uus   (/ / 
==c                      t           S )zoReturn `True` if code is executed in a Google colab.

    Taken from https://stackoverflow.com/a/63519730.
    )_is_google_colabr0   r*   r(   is_google_colabr   /  s
    
 r*   c                  H    t           j                            d          dk    S )zKReturn `True` if code is executed in a Google Colab Enterprise environment.VERTEX_PRODUCTCOLAB_ENTERPRISE)osenvironr&   r0   r*   r(   is_colab_enterpriser   7  s    :>>*++/AAAr*   )brewhf_installerunknownc                  F    t                      rdS t                      rdS dS )zReturn the installation method of the current environment.

    - "hf_installer" if installed via the official installer script
    - "brew" if installed via Homebrew
    - "unknown" otherwise
    r   r   r   )_is_brew_installation_is_hf_installer_installationr0   r*   r(   installation_methodr   ?  s/      v	&	(	( ~yr*   c                      t          t          j                                                  } t	          |           }d|v pd|v p|                    d          S )zVCheck if running from a Homebrew installation.

    Note: AI-generated by Claude.
    z/Cellar/z/opt/homebrew/z/usr/local/Cellar/)r   sys
executableresolvestr
startswith)exe_pathexe_strs     r(   r   r   N  sV    
 CN##++--H(mmG  k$4$?k7CUCUVjCkCkkr*   c                  f    t           j        } t          |           dz  }|                                S )a  Return `True` if the current environment was set up via the official hf installer script.

    i.e. using one of
        curl -LsSf https://hf.co/cli/install.sh | bash
        powershell -ExecutionPolicy ByPass -c "irm https://hf.co/cli/install.ps1 | iex"
    z.hf_installer_marker)r   prefixr   exists)venvmarkers     r(   r   r   [  s*     :D$ZZ00F==??r*   c                  n   ddl m} m} ddlm}  |             }t                      t          j                    t                      d}	 t                      j	        }d|d<   |j
        |d<   n# t          $ r d|d<   Y nw xY wt                      rdnd|d	<   t                      rdnd|d
<   t                      rdnd|d<   t          j        |d<   |du|d<   |%	  |            d         |d<   n# t"          $ r Y nw xY w	 d                     |                      |d<   n# t"          $ r Y nw xY wt'                      |d<   t)                      |d<   t+                      |d<   t-                      |d<   t/                      |d<   t          j        |d<   t          j        |d<   t          j        |d<   t          j        |d<   t          j        |d<   t          j        |d<   t          j        |d<   t          j        |d<   t          j        |d <   t          j         |d!<   t          j!        |d"<   t          j"        |d#<   t          j#        |d$<   t          j$        |d%<   t          j%        |d&<   tM          d'           tM          d(                    d) |'                                D                       d(z              |S )*a  Dump information about the machine to help debugging issues.

    Similar helper exist in:
    - `datasets` (https://github.com/huggingface/datasets/blob/main/src/datasets/commands/env.py)
    - `diffusers` (https://github.com/huggingface/diffusers/blob/main/src/diffusers/commands/env.py)
    - `transformers` (https://github.com/huggingface/transformers/blob/main/src/transformers/commands/env.py)
    r   )	get_tokenwhoami)list_credential_helpers)zhuggingface_hub versionPlatformzPython versionYeszRunning in iPython ?ziPython shellNozRunning in notebook ?zRunning in Google Colab ?z$Running in Google Colab Enterprise ?zToken path ?NzHas saved token ?namez
Who am I ?z, z!Configured git credential helperszInstallation methodr   r   r   r   ENDPOINTHF_HUB_CACHEHF_ASSETS_CACHEHF_TOKEN_PATHHF_STORED_TOKENS_PATHHF_HUB_OFFLINEHF_HUB_DISABLE_TELEMETRYHF_HUB_DISABLE_PROGRESS_BARSHF_HUB_DISABLE_SYMLINKS_WARNING#HF_HUB_DISABLE_EXPERIMENTAL_WARNINGHF_HUB_DISABLE_IMPLICIT_TOKENrb   HF_HUB_ETAG_TIMEOUTHF_HUB_DOWNLOAD_TIMEOUTHF_XET_HIGH_PERFORMANCEz5
Copy-and-paste the text below in your GitHub issue.

c                 $    g | ]\  }}d | d| S )z- z: r0   ).0propvals      r(   
<listcomp>z)dump_environment_info.<locals>.<listcomp>  s-    FFFID#'$''#''FFFr*   )(huggingface_hubr   r   huggingface_hub.utilsr   r4   platformr1   r   r   r   r   r   r   r   r   r   	Exceptionjoinr   r_   re   rT   r   r   r   r   r   r   r   r   r   r   r   rb   r   r   r   printitems)r   r   r   tokeninfor   s         r(   dump_environment_infor   g  s     21111111======IKKE $6#7#7%'',.. D,!mm-',#$ + 4_ , , ,'+#$$$,-8]]$DEED	 !1@1B1B(LD	$%<O<Q<Q3[55W[D	/0$2D %T 1D		!'&!1D 	 	 	D	48II>U>U>W>W4X4X011    #6"7"7D	 &''DM$&&DN'))DN133D !)D$1D'7D	%3D$-$CD	 !&5D	'0'ID	#$+4+QD	'(.7.WD	*+2;2_D	./,5,SD	()!*!=D	"+"?D	&/&GD	"#&/&GD	"#	
CDDD	$))FFFFF
G
G$
NOOOKs6   	"A, ,A>=A>C- -
C:9C:> D 
D,+D,)P__doc__importlib.metadata	importlibr   r   r   r~   pathlibr   typingr   r    r   r   versionsplitrstripr
   r   __annotations__r%   _CANDIDATESr   candidate_namepackage_namesr   metadataPackageNotFoundErrorr)   boolr-   r1   r4   r8   r;   r?   rB   rF   rH   rK   rN   rR   rT   rW   rY   r\   r_   rc   re   rh   rj   rm   ro   rr   rt   rw   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   dictr   r0   r*   r(   <module>r      s   7 6 6     				  



                % % % % % % % % ;$$&&q)0055S 5 5 5 	{xj 	{ 	
 xj  xj hZ gY gY gY xj  gY M?  N#!"  #: gY; B &1%6%6%8%8  !NM(-n%  	090B0J0J40P0Pn-E!6 	 	 	D	6s 6s 6 6 6 6/s /t / / / /
C    
C    
+d + + + +#S # # # #
*T * * * *"C " " " "
+d + + + +#S # # # #
,t , , , ,$c $ $ $ $
*T * * * *"C " " " "
,t , , , ,$c $ $ $ $
)D ) ) ) )!3 ! ! ! !
*$ * * * *" " " " "
)D ) ) ) )!3 ! ! ! !
)D ) ) ) )!3 ! ! ! !
)D ) ) ) )!3 ! ! ! !
*T * * * *"C " " " "
t    0$c $ $ $ $
)D ) ) ) )!3 ! ! ! !
/$ / / / /' ' ' ' '
. . . . .& & & & &
)D ) ) ) )!3 ! ! ! !
/$ / / / /
 &[[]]););;   T         BT B B B BW%FG    
lt 
l 
l 
l 
l	t 	 	 	 	HtCH~ H H H H H Hs$   C33DD8H HH