U
    9%e"                     @   s  U d 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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k
r   Y qX 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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Z9zdZee: kZ;W n e<k
r   d[Z;Y nX edd\d]Z=edd^d_Z>eeef dd`daZ?dS )bz0Check presence of installed packages at runtime.    N)AnyDict   )__version__	constants+_PY_VERSIONaiohttpfastaifastcoregradiographvizhf_transferJinja2numpyPillowpydanticpydotZ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   jinjar   pillowr   r   tensorboardr   r   N/A)package_namereturnc                 C   s   t | dS Nr   )_package_versionsgetr    r    ]/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/huggingface_hub/utils/_runtime.py_get_versionC   s    r"   c                 C   s   t | dkS r   r"   r   r    r    r!   _is_availableG   s    r$   )r   c                   C   s   t S N)r   r    r    r    r!   get_python_versionL   s    r&   c                   C   s   t S r%   )r   r    r    r    r!   get_hf_hub_versionQ   s    r'   c                   C   s   t dS Nr	   r$   r    r    r    r!   is_aiohttp_availableV   s    r*   c                   C   s   t dS r(   r#   r    r    r    r!   get_aiohttp_versionZ   s    r+   c                   C   s   t dS Nr
   r)   r    r    r    r!   is_fastai_available_   s    r-   c                   C   s   t dS r,   r#   r    r    r    r!   get_fastai_versionc   s    r.   c                   C   s   t dS Nr   r)   r    r    r    r!   is_fastcore_availableh   s    r0   c                   C   s   t dS r/   r#   r    r    r    r!   get_fastcore_versionl   s    r1   c                   C   s   t dS Nr   r)   r    r    r    r!   is_gradio_availableq   s    r3   c                   C   s   t dS r2   r#   r    r    r    r!   get_gradio_versionu   s    r4   c                   C   s   t dS Nr   r)   r    r    r    r!   is_graphviz_availablez   s    r6   c                   C   s   t dS r5   r#   r    r    r    r!   get_graphviz_version~   s    r7   c                   C   s   t dS Nr   r)   r    r    r    r!   is_hf_transfer_available   s    r9   c                   C   s   t dS r8   r#   r    r    r    r!   get_hf_transfer_version   s    r:   c                   C   s   t dS Nr   r)   r    r    r    r!   is_numpy_available   s    r<   c                   C   s   t dS r;   r#   r    r    r    r!   get_numpy_version   s    r=   c                   C   s   t dS Nr   r)   r    r    r    r!   is_jinja_available   s    r?   c                   C   s   t dS r>   r#   r    r    r    r!   get_jinja_version   s    r@   c                   C   s   t dS Nr   r)   r    r    r    r!   is_pillow_available   s    rB   c                   C   s   t dS rA   r#   r    r    r    r!   get_pillow_version   s    rC   c                   C   s   t dS Nr   r)   r    r    r    r!   is_pydantic_available   s    rE   c                   C   s   t dS rD   r#   r    r    r    r!   get_pydantic_version   s    rF   c                   C   s   t dS Nr   r)   r    r    r    r!   is_pydot_available   s    rH   c                   C   s   t dS rG   r#   r    r    r    r!   get_pydot_version   s    rI   c                   C   s   t dS Nr   r)   r    r    r    r!   is_tensorboard_available   s    rK   c                   C   s   t dS rJ   r#   r    r    r    r!   get_tensorboard_version   s    rL   c                   C   s   t dS Nr   r)   r    r    r    r!   is_tf_available   s    rN   c                   C   s   t dS rM   r#   r    r    r    r!   get_tf_version   s    rO   c                   C   s   t dS Nr   r)   r    r    r    r!   is_torch_available   s    rQ   c                   C   s   t dS rP   r#   r    r    r    r!   get_torch_version   s    rR   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 )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    


rZ   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    r\   c                  C   s*  ddl m} m} ddlm} |   }t t t d}zt	 j
}d|d< |j|d< W n tk
rt   d|d< Y nX t rdnd|d	< t rdnd|d
< |  j|d< |dk	|d< |dk	rz| 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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+d* t+d+d,d- |, D d+  |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   )HfFolder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Token path ?NzHas saved token ?namez
Who am I ?z, z!Configured git credential helpersZFastAIZ
TensorflowZTorchr   GraphvizZPydotr   r   r   r   r   r   r	   ENDPOINTHUGGINGFACE_HUB_CACHEHUGGINGFACE_ASSETS_CACHEHF_TOKEN_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_TOKENHF_HUB_ENABLE_HF_TRANSFERz5
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>)-Zhuggingface_hubr]   r^   Zhuggingface_hub.utilsr_   	get_tokenr'   platformr&   rT   rU   rW   rX   rZ   r\   Z
path_token	Exceptionjoinr.   rO   rR   r@   r7   rI   rC   r:   r4   rL   r=   rF   r+   r   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   printitems)r]   r^   r_   tokeninforY   r    r    r!   dump_environment_info   sj    
























 r{   )@__doc__importlib.metadata	importlibrt   systypingr   r    r   r   versionsplitrstripr   str__annotations__r   Z_CANDIDATESrx   Zcandidate_nameZpackage_namesra   metadataZPackageNotFoundErrorr"   boolr$   r&   r'   r*   r+   r-   r.   r0   r1   r3   r4   r6   r7   r9   r:   r<   r=   r?   r@   rB   rC   rE   rF   rH   rI   rK   rL   rN   rO   rQ   rR   rT   r[   rX   rZ   r\   r{   r    r    r    r!   <module>   s   


