o
    Df                     @   sH   d Z ddlZddlZddlZdd Zdd Zdd Zd	d
 Zdd Z	dS )z
Utility methods to print system info for debugging

adapted from :func:`sklearn.utils._show_versions`
which was adapted from :func:`pandas.show_versions`
    Nc                  C   s.   dt jddfdt jfdt fg} t| S )zoSystem information
    Return
    ------
    sys_info : dict
        system and Python version information
    python
 
executablemachine)sysversionreplacer   platformdict)blob r   N/home/ubuntu/webapp/venv/lib/python3.10/site-packages/pyproj/_show_versions.py_get_sys_info   s
   
r   c                  C   s   ddl } ddlm} ddlm} z| j }W n |y"   d}Y nw d| jfd| jfd|fd| j	 fd	|d
fd|d d|d fd|d d|d dfd|d d|d dfd|d d|d dfg	}t
|S )zlInformation on system PROJ

    Returns
    -------
    proj_info: dict
        system PROJ information
    r   N)get_database_metadata)DataDirErrorpyprojPROJzdata diruser_data_dirzPROJ DATA (recommended version)zPROJ_DATA.VERSIONzPROJ DatabasezDATABASE.LAYOUT.VERSION.MAJOR.zDATABASE.LAYOUT.VERSION.MINORzEPSG DatabasezEPSG.VERSIONz [z	EPSG.DATE]zESRI DatabasezESRI.VERSIONz	ESRI.DATEzIGNF DatabasezIGNF.VERSIONz	IGNF.DATE)r   pyproj.databaser   pyproj.exceptionsr   datadirget_data_dir__version____proj_version__get_user_data_dirr   )r   r   r   data_dirr   r   r   r   _get_proj_info   sF   	




r   c                     s"   g d} dd   fdd| D S )zOverview of the installed version of main dependencies
    Returns
    -------
    deps_info: dict
        version information on relevant Python libraries
    )certifiCython
setuptoolspipc                 S   s(   zt j| W S  t jjy   Y d S w )N)	importlibmetadatar   PackageNotFoundError)moduler   r   r   get_versionV   s
   z#_get_deps_info.<locals>.get_versionc                    s   i | ]}| |qS r   r   ).0depr(   r   r   
<dictcomp>\   s    z"_get_deps_info.<locals>.<dictcomp>r   )depsr   r+   r   _get_deps_infoM   s   r.   c                 C   s*   |   D ]\}}t|dd|  qdS )z Print the information dictionaryz>10z: N)itemsprint)	info_dictkeystatr   r   r   _print_info_dict_   s   r4   c                   C   s:   t d tt  t d tt  t d tt  dS )z
    .. versionadded:: 2.2.1

    Print useful debugging information

    Example
    -------
    > python -c "import pyproj; pyproj.show_versions()"

    zpyproj info:z
System:z
Python deps:N)r0   r4   r   r   r.   r   r   r   r   show_versionse   s   

r5   )
__doc__importlib.metadatar$   r
   r   r   r   r.   r4   r5   r   r   r   r   <module>   s    1