U
    ½mœdM	  ã                   @   sT   d Z ddlZddlZddlmZ ddlmZ ddlmZ dd	„ Z	d
d„ Z
dd„ ZdS )z_
Utility methods to print system info for debugging

adapted from :func:`pandas.show_versions`
é    Né   )Úthreadpool_info)Ú__version__é   )Ú_openmp_parallelism_enabledc                  C   s2   t j dd¡} d| fdt jfdt ¡ fg}t|ƒS )zsSystem information

    Returns
    -------
    sys_info : dict
        system and Python version information

    Ú
ú ÚpythonÚ
executableÚmachine)ÚsysÚversionÚreplacer
   ÚplatformÚdict)r	   Zblob© r   úU/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/sklearn/utils/_show_versions.pyÚ_get_sys_info   s    	
ýr   c               	   C   sj   ddddddddd	g	} d
t i}ddlm}m} | D ]2}z||ƒ||< W q2 |k
rb   d||< Y q2X q2|S )a,  Overview of the installed version of main dependencies

    This function does not import the modules to collect the version numbers
    but instead relies on standard Python package metadata.

    Returns
    -------
    deps_info: dict
        version information on relevant Python libraries

    ÚpipÚ
setuptoolsÚnumpyZscipyÚCythonZpandasZ
matplotlibZjoblibZthreadpoolctlZsklearnr   )r   ÚPackageNotFoundErrorN)r   Úimportlib.metadatar   r   )ÚdepsÚ	deps_infor   r   Úmodnamer   r   r   Ú_get_deps_info%   s(    ÷ ÿr   c            	      C   sâ   t ƒ } tƒ }tdƒ |  ¡ D ]\}}tdj||d�ƒ qtdƒ | ¡ D ]\}}tdj||d�ƒ qHtdjdtƒ d�ƒ tƒ }|rÞtƒ  tdƒ t|ƒD ]D\}}| ¡ D ]\}}t|d	›d
|› �ƒ q¨|t|ƒd kr˜tƒ  q˜dS )zDPrint useful debugging information"

    .. versionadded:: 0.20
    z
System:z{k:>10}: {stat})ÚkÚstatz
Python dependencies:z{k:>13}: {stat}z
{k}: {stat}zBuilt with OpenMPzthreadpoolctl info:z>15z: r   N)	r   r   ÚprintÚitemsÚformatr   r   Ú	enumerateÚlen)	Zsys_infor   r   r   Zthreadpool_resultsÚiÚresultÚkeyÚvalr   r   r   Úshow_versionsK   s.     ÿÿr)   )Ú__doc__r   r   Zutils.fixesr   Ú r   Z_openmp_helpersr   r   r   r)   r   r   r   r   Ú<module>   s   &