a
    hr-                     @   s  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m	Z	 ddl
mZmZ ej d dZeed< i Zdhd	hd
hdhdhdhdhdhdhdhdhdhdhdhdhdhddhdZe D ]N\ZZdee< eD ]8Zzejeee< W  qW q ejjy   Y q0 qqeedddZeeddd Zed!d"d#Zed!d$d%Zed!d&d'Z ed!d(d)Z!ed!d*d+Z"ed!d,d-Z#ed!d.d/Z$ed!d0d1Z%ed!d2d3Z&ed!d4d5Z'ed!d6d7Z(ed!d8d9Z)ed!d:d;Z*ed!d<d=Z+ed!d>d?Z,ed!d@dAZ-ed!dBdCZ.ed!dDdEZ/ed!dFdGZ0ed!dHdIZ1ed!dJdKZ2ed!dLdMZ3ed!dNdOZ4ed!dPdQZ5ed!dRdSZ6ed!dTdUZ7ed!dVdWZ8ed!dXdYZ9ed!dZd[Z:ed!d\d]Z;ed!d^d_Z<ed!d`daZ=ed!dbdcZ>ed!dddeZ?ed!dfdgZ@ed!dhdiZAed!djdkZBzdleeC v ZDW n eEyb   dmZDY n0 ed!dndoZFed!dpdqZGed!drdsZHe	eef d!dtduZIdS )vz0Check presence of installed packages at runtime.    N)AnyDict   )__version__	constants+_PY_VERSIONaiohttpfastaifastapifastcoregradiographvizhf_transferhf_xetJinja2kerasnumpyPillowpydanticpydotsafetensorsZtensorboardX)

tensorflowztensorflow-cpuztensorflow-gpuz
tf-nightlyztf-nightly-cpuztf-nightly-gpuzintel-tensorflowzintel-tensorflow-avx512ztensorflow-rocmztensorflow-macostorch)r	   r
   r   r   r   r   r   r   jinjar   r   pillowr   r   r   tensorboardr   r   N/A)package_namereturnc                 C   s   t | dS Nr   )_package_versionsgetr    r$   Z/var/www/html/assistant/venv/lib/python3.9/site-packages/huggingface_hub/utils/_runtime.py_get_versionJ   s    r&   c                 C   s   t | dkS r    r&   r#   r$   r$   r%   is_package_availableN   s    r(   )r   c                   C   s   t S N)r   r$   r$   r$   r%   get_python_versionS   s    r*   c                   C   s   t S r)   )r   r$   r$   r$   r%   get_hf_hub_versionX   s    r+   c                   C   s   t dS Nr	   r(   r$   r$   r$   r%   is_aiohttp_available]   s    r.   c                   C   s   t dS r,   r'   r$   r$   r$   r%   get_aiohttp_versiona   s    r/   c                   C   s   t dS Nr
   r-   r$   r$   r$   r%   is_fastai_availablef   s    r1   c                   C   s   t dS r0   r'   r$   r$   r$   r%   get_fastai_versionj   s    r2   c                   C   s   t dS Nr   r-   r$   r$   r$   r%   is_fastapi_availableo   s    r4   c                   C   s   t dS r3   r'   r$   r$   r$   r%   get_fastapi_versions   s    r5   c                   C   s   t dS Nr   r-   r$   r$   r$   r%   is_fastcore_availablex   s    r7   c                   C   s   t dS r6   r'   r$   r$   r$   r%   get_fastcore_version|   s    r8   c                   C   s   t dS Nr   r-   r$   r$   r$   r%   is_gradio_available   s    r:   c                   C   s   t dS r9   r'   r$   r$   r$   r%   get_gradio_version   s    r;   c                   C   s   t dS Nr   r-   r$   r$   r$   r%   is_graphviz_available   s    r=   c                   C   s   t dS r<   r'   r$   r$   r$   r%   get_graphviz_version   s    r>   c                   C   s   t dS Nr   r-   r$   r$   r$   r%   is_hf_transfer_available   s    r@   c                   C   s   t dS r?   r'   r$   r$   r$   r%   get_hf_transfer_version   s    rA   c                   C   s   t jr
dS tdS )NFr   )r   HF_HUB_DISABLE_XETr(   r$   r$   r$   r%   is_xet_available   s    rC   c                   C   s   t dS )Nr   r'   r$   r$   r$   r%   get_xet_version   s    rD   c                   C   s   t dS Nr   r-   r$   r$   r$   r%   is_keras_available   s    rF   c                   C   s   t dS rE   r'   r$   r$   r$   r%   get_keras_version   s    rG   c                   C   s   t dS Nr   r-   r$   r$   r$   r%   is_numpy_available   s    rI   c                   C   s   t dS rH   r'   r$   r$   r$   r%   get_numpy_version   s    rJ   c                   C   s   t dS Nr   r-   r$   r$   r$   r%   is_jinja_available   s    rL   c                   C   s   t dS rK   r'   r$   r$   r$   r%   get_jinja_version   s    rM   c                   C   s   t dS Nr   r-   r$   r$   r$   r%   is_pillow_available   s    rO   c                   C   s   t dS rN   r'   r$   r$   r$   r%   get_pillow_version   s    rP   c                  C   s@   t dsdS zddlm}  W n ty:   td Y dS 0 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   rR   ImportErrorwarningswarnrQ   r$   r$   r%   is_pydantic_available   s    
rV   c                   C   s   t dS )Nr   r'   r$   r$   r$   r%   get_pydantic_version   s    rW   c                   C   s   t dS Nr   r-   r$   r$   r$   r%   is_pydot_available   s    rY   c                   C   s   t dS rX   r'   r$   r$   r$   r%   get_pydot_version   s    rZ   c                   C   s   t dS Nr   r-   r$   r$   r$   r%   is_tensorboard_available   s    r\   c                   C   s   t dS r[   r'   r$   r$   r$   r%   get_tensorboard_version   s    r]   c                   C   s   t dS Nr   r-   r$   r$   r$   r%   is_tf_available   s    r_   c                   C   s   t dS r^   r'   r$   r$   r$   r%   get_tf_version   s    r`   c                   C   s   t dS Nr   r-   r$   r$   r$   r%   is_torch_available  s    rb   c                   C   s   t dS ra   r'   r$   r$   r$   r%   get_torch_version	  s    rc   c                   C   s   t dS )Nr   r-   r$   r$   r$   r%   is_safetensors_available  s    rd   zgoogle.colabFc                  C   sF   z,t  j} | jD ]}|jdkr W dS qW dS  ty@   Y dS 0 dS )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.
    ZMQInteractiveShellTFN)get_ipython	__class____mro____name__	NameError)shell_classZparent_classr$   r$   r%   is_notebook  s    


rl   c                   C   s   t S )zoReturn `True` if code is executed in a Google colab.

    Taken from https://stackoverflow.com/a/63519730.
    )_is_google_colabr$   r$   r$   r%   is_google_colab.  s    rn   c                   C   s   t jddkS )zKReturn `True` if code is executed in a Google Colab Enterprise environment.ZVERTEX_PRODUCTZCOLAB_ENTERPRISE)osenvironr"   r$   r$   r$   r%   is_colab_enterprise6  s    rq   c                  C   sl  ddl m} m} ddlm} |  }t t t d}zt j	}d|d< |j
|d< W n tyn   d|d< Y n0 t rzdnd|d	< t rdnd|d
< t rdnd|d< tj|d< |du|d< |durz| d |d< W n ty   Y n0 zd| |d< W n ty   Y n0 t |d< t |d< t |d< t |d< t |d< t |d< t |d< t |d< t |d< t |d< 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/|d0< t0d1 t0d2d3d4 |1 D d2  |S )5a  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 versionZYeszRunning in iPython ?ziPython shellZ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FastAIZ
TensorflowZTorchr   Graphvizr   ZPydotr   r   r   r   r   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_ENABLE_HF_TRANSFERHF_HUB_ETAG_TIMEOUTHF_HUB_DOWNLOAD_TIMEOUTz5
Copy-and-paste the text below in your GitHub issue.

c                 S   s    g | ]\}}d | d| qS )z- z: r$   ).0propvalr$   r$   r%   
<listcomp>      z)dump_environment_info.<locals>.<listcomp>)2Zhuggingface_hubrr   rs   Zhuggingface_hub.utilsrt   r+   platformr*   rf   rg   ri   rj   rl   rn   rq   r   r{   	Exceptionjoinr2   r`   rc   rM   r>   rG   rZ   rP   rA   r;   r]   rJ   rW   r/   rD   rx   ry   rz   r|   r}   r~   r   r   r   r   rB   r   r   r   printitems)rr   rs   rt   tokeninfork   r$   r$   r%   dump_environment_info;  sx    






























 r   )J__doc__importlib.metadata	importlibro   r   sysrT   typingr   r    r   r   versionsplitrstripr   str__annotations__r!   Z_CANDIDATESr   Zcandidate_nameZpackage_namesrv   metadataPackageNotFoundErrorr&   boolr(   r*   r+   r.   r/   r1   r2   r4   r5   r7   r8   r:   r;   r=   r>   r@   rA   rC   rD   rF   rG   rI   rJ   rL   rM   rO   rP   rV   rW   rY   rZ   r\   r]   r_   r`   rb   rc   rd   rf   rm   rj   rl   rn   rq   r   r$   r$   r$   r%   <module>   s   !


