a
    1$e                     @   s<   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S )
    Nc                  C   s2   t jdd} d| fdt jfdt fg}t|S )zrSystem information

    Returns
    -------
    sys_info : dict
        system and Python version information
    
 python
executablemachine)sysversionreplacer   platformdict)r   blob r   Z/var/www/html/django/DPS/env/lib/python3.9/site-packages/geopandas/tools/_show_versions.py_get_sys_info   s    
r   c                  C   s  zddl } | j}W n ty(   d}Y n0 zddl } | j }W n tyV   d}Y n0 z"ddl}dj|jj }|jj	}W nF ty   zddl
m} |}d}W n ty   d}d}Y n0 Y n0 zddl}|j }W n ty   d}Y n0 zddl}|j  }	W n ty"   d}	Y n0 |du rzddl}
|
j}d}	W n tyX   Y n0 zddlm} | }	W n ty   Y n0 d|fd|fd|fd	|	fd
|fd|fg}t|S )ztInformation on system PROJ, GDAL, GEOS
    Returns
    -------
    c_info: dict
        system PROJ information
    r   Nz{}.{}.{})geos_version_string)get_gdal_data_pathZGEOSzGEOS libZGDALzGDAL data dirZPROJzPROJ data dir)pyprojZproj_version_str	ExceptionZdatadirZget_data_dirZshapely._buildcfgformatZ	_buildcfggeos_versionZgeos_library_pathshapelyr   fionaenvZget_gdal_release_nameZGDALDataFindersearchpyogrioZ__gdal_version_string__r   r   )r   Zproj_versionZproj_dirr   r   Zgeos_dirr   r   Zgdal_versionZgdal_dirr   r   r   r   r   r   _get_C_info   sh    






	r   c               	   C   sr   g d} dd }i }| D ]T}z4|t jv r4t j| }n
t|}||}|||< W q tyj   d||< Y q0 q|S )zOverview of the installed version of main dependencies

    Returns
    -------
    deps_info: dict
        version information on relevant Python libraries
    )Z	geopandasnumpyZpandasr   r   r   Zgeoalchemy2ZgeopyZ
matplotlibZmapclassifyZpygeosr   Zpsycopg2ZpyarrowZrtreec                 S   s   | j S N)__version__)moduler   r   r   get_version   s    z#_get_deps_info.<locals>.get_versionN)r   modules	importlibimport_moduler   )depsr    	deps_infomodnamemodverr   r   r   _get_deps_infoe   s    

r)   c                  C   s   t  } t }t }tdd |D }dj|d}td td |  D ]\}}t|j||d qHtd td	 | D ]\}}t|j||d q|td
 td | D ]\}}t|j||d qdS )z
    Print system information and installed module versions.

    Examples
    --------

    ::

        $ python -c "import geopandas; geopandas.show_versions()"
    c                 s   s   | ]}t |V  qd S r   )len).0xr   r   r   	<genexpr>       z show_versions.<locals>.<genexpr>z{{k:<{maxlen}}}: {{stat}})maxlenz
SYSTEM INFOz-----------)kstatz
GEOS, GDAL, PROJ INFOz---------------------z
PYTHON DEPENDENCIESz-------------------N)r   r)   r   maxr   printitems)Zsys_infor%   Z	proj_infor/   Ztplr0   r1   r   r   r   show_versions   s"    r5   )r"   r
   r   r   r   r)   r5   r   r   r   r   <module>   s   L/