o
    tBhY                     @   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	   blob r   s/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/sklearn/utils/_show_versions.py_get_sys_info   s   	
r   c               	   C   s   g d} dt i}tjdk rGz&ddlm}m} | D ]}z	||j||< W q |y0   d||< Y qw W |S  tyF   | D ]}d||< q<Y |S w ddlm}m	} | D ]}z||||< W qQ |yh   d||< Y qQw |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numpyscipyCythonpandas
matplotlibjoblibthreadpoolctlsklearn)      r   )get_distributionDistributionNotFoundN)r   PackageNotFoundError)
r   r   version_infopkg_resourcesr!   r"   r   ImportErrorimportlib.metadatar#   )deps	deps_infor!   r"   modnamer   r#   r   r   r   _get_deps_info%   s8   

r+   c            	      C   s   t  } t }td |  D ]\}}tdj||d qtd | D ]\}}tdj||d q$tdjdt d t }|rot  td t|D ]$\}}| D ]\}}t|d	d
|  qT|t|d krnt  qLdS 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)	sys_infor)   r,   r-   threadpool_resultsiresultkeyvalr   r   r   show_versions`   s2   r9   )__doc__r   r   utils.fixesr    r   _openmp_helpersr   r   r+   r9   r   r   r   r   <module>   s    ;