a
    
d#                     @   sB  U d Z ddlZddlZddlmZmZ ddlZddlm	Z	m
Z
 ej d dZeed< ejeejdk r|ddlZnddlmZ 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 ]J\ZZdee< eD ]4Zzeeee< W  qW q e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d-d.Z&edd/d0Z'edd1d2Z(edd3d4Z)edd5d6Z*edd7d8Z+edd9d:Z,edd;d<Z-edd=d>Z.edd?d@Z/eddAdBZ0eddCdDZ1eddEdFZ2eddGdHZ3eddIdJZ4eddKdLZ5eddMdNZ6eddOdPZ7eddQdRZ8eddSdTZ9eddUdVZ:eddWdXZ;eddYdZZ<zd[ee= v Z>W n e?y
   d\Z>Y n0 edd]d^Z@edd_d`ZAeeef ddadbZBdS )cz0Check presence of installed packages at runtime.    N)AnyDict   )__version__	constants+_PY_VERSIONz3.8.0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    g/var/www/html/stable-diffusion-webui/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_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    r-   c                   C   s   t dS r,   r#   r    r    r    r!   get_fastai_versionj   s    r.   c                   C   s   t dS Nr   r)   r    r    r    r!   is_fastcore_availableo   s    r0   c                   C   s   t dS r/   r#   r    r    r    r!   get_fastcore_versions   s    r1   c                   C   s   t dS Nr   r)   r    r    r    r!   is_gradio_availablex   s    r3   c                   C   s   t dS r2   r#   r    r    r    r!   get_gradio_version|   s    r4   c                   C   s   t dS Nr   r)   r    r    r    r!   is_graphviz_available   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   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.
    ZZMQInteractiveShellTFN)get_ipython	__class____mro____name__	NameError)shell_classZparent_classr    r    r!   is_notebook   s    


rY   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yr   d|d< Y n0 t r~dnd|d	< t rdnd|d
< |  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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   Z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>G      z)dump_environment_info.<locals>.<listcomp>)-Zhuggingface_hubr\   r]   Zhuggingface_hub.utilsr^   	get_tokenr'   platformr&   rS   rT   rV   rW   rY   r[   Z
path_token	Exceptionjoinr.   rO   rR   r@   r7   rI   rC   r:   r4   rL   r=   rF   r+   r   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   printitems)r\   r]   r^   tokeninforX   r    r    r!   dump_environment_info   sj    
























 rz   )C__doc__rs   systypingr   r   Zpackaging.version	packaging r   r   versionsplitrstripr   str__annotations__VersionZimportlib_metadataimportlib.metadatametadatar   Z_CANDIDATESrw   Zcandidate_nameZpackage_namesr`   Z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   rS   rZ   rW   rY   r[   rz   r    r    r    r!   <module>   s   



