U
    ”Ê¹jr-  ã                   @   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 ]P\ZZdee< eD ]:Zzej e¡ee< W  qÂW qÖ ejjk
�r   Y qÖX qÖqÂe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ƒ ƒkZDW n eEk
�rf   dmZDY nX 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$   ú]/var/www/html/bwave/python/venv/lib/python3.8/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   sB   t dƒsdS zddlm}  W n  tk
r<   t d¡ Y dS X dS )Nr   Fr   ©Ú	validatorz˜Pydantic 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   sH   z,t ƒ j} | jD ]}|jdkr W dS qW dS  tk
rB   Y dS X dS )z¾Return `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   sr  ddl m} m} ddlm} | ƒ }tƒ t ¡ tƒ dœ}ztƒ j	}d|d< |j
|d< W n tk
rp   d|d< Y nX tƒ r|dnd|d	< tƒ rŽdnd|d
< tƒ r dnd|d< tj|d< |dk	|d< |dk	rîz|ƒ d |d< W n tk
rì   Y nX zd |ƒ ¡|d< W n tk
�r   Y nX 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>Š  s     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¦   ã!


