a
    oÝEb%  ã                    @  s¼   d dl mZ d dlZd dlZd dlZd dlZd dlmZ dddddd	d
dddddddddddddddddddddddd d!œZd"d#d$d%d&d'd(d)d*œZ	d+d,d-œd.d/„Z
d6d,d,d,d2d3œd4d5„ZdS )7é    )ÚannotationsN)ÚVersionz4.8.2z1.20.1z1.3.1z0.4.0z0.7.4z1.1z0.6.0z2.11z4.5.0z3.3.2z0.50.1z2.7.1z1.4.1z3.0.3z0.14.0z2.8.4z0.10.1z1.0.1z1.1.0z6.0z1.0.6z1.4.0z3.6.1z0.8.7z0.15.1z2.0.1z1.3.0z1.2.2z0.15.2)Úbs4ZbloscÚ
bottleneckZfastparquetZfsspecÚhtml5libZgcsfsÚjinja2ú
lxml.etreeZ
matplotlibZnumbaZnumexprÚodfpyZopenpyxlÚ
pandas_gbqÚpsycopg2ZpymysqlZpyarrowZ
pyreadstatZpytestZpyxlsbZs3fsZscipyÚ
sqlalchemyÚtablesÚtabulateZxarrayZxlrdZxlwtZ
xlsxwriterZ	zstandardZbeautifulsoup4Z
BottleneckÚlxmlr	   z
pandas-gbqZpytablesZ
SQLAlchemyZJinja2)r   r   r   Zodfr
   r   r   r   ztypes.ModuleTypeÚstr)ÚmoduleÚreturnc                 C  sR   t | dd ƒ}|d u r t | dd ƒ}|d u r8td| j› �ƒ‚| jdkrN| ¡ d }|S )NÚ__version__Z__VERSION__zCan't determine version for r   r   )ÚgetattrÚImportErrorÚ__name__Úsplit)r   Úversion© r   úW/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/pandas/compat/_optional.pyÚget_version=   s    
r   Ú Úraisez
str | None)ÚnameÚextraÚerrorsÚmin_versionc                 C  s   |dv sJ ‚t  | ¡}|dur"|n| }d|› d|› d|› d�}zt | ¡}W n* tyv   |dkrlt|ƒ‚nY dS Y n0 |  d¡d }|| krž|}tj| }	n|}	|dur®|nt |¡}
|
�rt	|	ƒ}t
|ƒt
|
ƒk �rd	|
› d
|› d|› d�}|dk�r
t |t¡ dS |dk�rt|ƒ‚|S )a9  
    Import an optional dependency.

    By default, if a dependency is missing an ImportError with a nice
    message will be raised. If a dependency is present, but too old,
    we raise.

    Parameters
    ----------
    name : str
        The module name.
    extra : str
        Additional text to include in the ImportError message.
    errors : str {'raise', 'warn', 'ignore'}
        What to do when a dependency is not found or its version is too old.

        * raise : Raise an ImportError
        * warn : Only applicable when a module's version is to old.
          Warns that the version is too old and returns None
        * ignore: If the module is not installed, return None, otherwise,
          return the module, even if the version is too old.
          It's expected that users validate the version locally when
          using ``errors="ignore"`` (see. ``io/html.py``)
    min_version : str, default None
        Specify a minimum version that is different from the global pandas
        minimum version required.
    Returns
    -------
    maybe_module : Optional[ModuleType]
        The imported module, when found and the version is correct.
        None is returned when the package is not found and `errors`
        is False, or when the package's version is too old and `errors`
        is ``'warn'``.
    >   r   ÚwarnÚignoreNzMissing optional dependency 'z'. z Use pip or conda to install Ú.r   r   zPandas requires version 'z' or newer of 'z' (version 'z' currently installed).r"   )ÚINSTALL_MAPPINGÚgetÚ	importlibÚimport_moduler   r   ÚsysÚmodulesÚVERSIONSr   r   Úwarningsr"   ÚUserWarning)r   r   r    r!   Úpackage_nameZinstall_nameÚmsgr   ÚparentZmodule_to_getÚminimum_versionr   r   r   r   Úimport_optional_dependencyK   s@    )
ÿÿ
ÿÿ

r2   )r   r   N)Ú
__future__r   r'   r)   Útypesr,   Zpandas.util.versionr   r+   r%   r   r2   r   r   r   r   Ú<module>   sf   á&ø   ü