a
    <b%                      @  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   g/Users/vegardjervell/Documents/master/model/venv/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'``.
    >   ignorewarnr   Nz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   &   