a
    oÝEb1  ã                   @   sø   d Z ddlZddlZddlZddlmZ ddlmZmZm	Z	 ddl
mZmZmZmZ ejdkZejdkZe ¡ dkZejd	kZeeed
œdd„Zedœdd„Zedœdd„Zedœdd„Zedœdd„Zedœdd„Zedœdd„Zdd„ Zg d¢Z dS )zn
compat
======

Cross-compatible functions for different versions of Python.

Other items:
* platform checker
é    N)ÚF)Úis_numpy_devÚnp_version_under1p19Únp_version_under1p20)Úpa_version_under1p01Úpa_version_under2p0Úpa_version_under3p0Úpa_version_under4p0)é   é	   )r
   é
   ÚPyPyl        )ÚfÚnameÚreturnc                 C   s$   || _ |j › d|› �| _|j| _| S )z<
    Bind the name/qualname attributes of the function.
    Ú.)Ú__name__Ú__qualname__Ú
__module__)r   r   Úcls© r   úV/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/pandas/compat/__init__.pyÚset_function_name!   s    r   )r   c                   C   s
   t jdkS )z•
    Checking if the running platform is little endian.

    Returns
    -------
    bool
        True if the running platform is little endian.
    Úlittle)ÚsysÚ	byteorderr   r   r   r   Úis_platform_little_endian+   s    	r   c                   C   s
   t jdv S )z‰
    Checking if the running platform is windows.

    Returns
    -------
    bool
        True if the running platform is windows.
    )Úwin32Úcygwin©r   Úplatformr   r   r   r   Úis_platform_windows7   s    	r!   c                   C   s
   t jdkS )z…
    Checking if the running platform is linux.

    Returns
    -------
    bool
        True if the running platform is linux.
    Úlinuxr   r   r   r   r   Úis_platform_linuxC   s    	r#   c                   C   s
   t jdkS )z�
    Checking if the running platform is mac.

    Returns
    -------
    bool
        True if the running platform is mac.
    Údarwinr   r   r   r   r   Úis_platform_macO   s    	r%   c                   C   s   t  ¡ dv pt  ¡  d¡S )zž
    Checking if the running platform use ARM architecture.

    Returns
    -------
    bool
        True if the running platform uses ARM architecture.
    )Úarm64Úaarch64Zarmv)r    ÚmachineÚ
startswithr   r   r   r   Úis_platform_arm[   s    	ÿr*   c                   C   s   t j dd¡dkS )zà
    Checking if running in a continuous integration environment by checking
    the PANDAS_CI environment variable.

    Returns
    -------
    bool
        True if the running in a continuous integration environment.
    Z	PANDAS_CIÚ0Ú1)ÚosÚenvironÚgetr   r   r   r   Úis_ci_environmenti   s    
r0   c                  C   s.   zddl } W n ty&   tdƒ‚Y n0 | jS )a
  
    Importing the `LZMAFile` class from the `lzma` module.

    Returns
    -------
    class
        The `LZMAFile` class from the `lzma` module.

    Raises
    ------
    RuntimeError
        If the `lzma` module was not imported correctly, or didn't exist.
    r   Nzslzma module not available. A Python re-install with the proper dependencies, might be required to solve this issue.)ÚlzmaÚImportErrorÚRuntimeErrorÚLZMAFile)r1   r   r   r   Úget_lzma_filev   s    ÿ
r5   )r   r   r   r   r   r   r	   )!Ú__doc__r-   r    r   Zpandas._typingr   Zpandas.compat.numpyr   r   r   Zpandas.compat.pyarrowr   r   r   r	   Úversion_infoZPY39ZPY310Úpython_implementationZPYPYÚmaxsizeZIS64Ústrr   Úboolr   r!   r#   r%   r*   r0   r5   Ú__all__r   r   r   r   Ú<module>   s&   	



