o
    <»Bi¸  ã                   @  s  d Z ddlm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mZmZmZ ddlZddlmZ ddlmZmZmZmZmZmZmZ erNddlmZ d(dd„Zd)dd„Zd)dd„Zd)dd„Z d)dd„Z!d)dd„Z"d)dd„Z#d)dd „Z$d*d"d#„Z%d+d%d&„Z&g d'¢Z'dS ),zn
compat
======

Cross-compatible functions for different versions of Python.

Other items:
* platform checker
é    )ÚannotationsN)ÚTYPE_CHECKING)ÚIS64ÚISMUSLÚPY310ÚPY311ÚPY312ÚPYPY)Úis_numpy_dev)Úpa_version_under10p1Úpa_version_under11p0Úpa_version_under13p0Úpa_version_under14p0Úpa_version_under14p1Úpa_version_under16p0Úpa_version_under17p0)ÚFÚfr   ÚnameÚstrÚclsÚtypeÚreturnc                 C  s$   || _ |j › d|› | _|j| _| S )z<
    Bind the name/qualname attributes of the function.
    Ú.)Ú__name__Ú__qualname__Ú
__module__)r   r   r   © r   úV/var/www/html/Trade-python/venv/lib/python3.10/site-packages/pandas/compat/__init__.pyÚset_function_name)   s   r   Úboolc                   C  ó
   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_endian3   ó   
	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_windows?   r&   r+   c                   C  r!   )z…
    Checking if the running platform is linux.

    Returns
    -------
    bool
        True if the running platform is linux.
    Úlinuxr)   r   r   r   r   Úis_platform_linuxK   r&   r-   c                   C  r!   )z
    Checking if the running platform is mac.

    Returns
    -------
    bool
        True if the running platform is mac.
    Údarwinr)   r   r   r   r   Úis_platform_macW   r&   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Úaarch64Úarmv)r*   ÚmachineÚ
startswithr   r   r   r   Úis_platform_armc   s   	ÿr5   c                   C  s   t  ¡ dv S )z 
    Checking if the running platform use Power architecture.

    Returns
    -------
    bool
        True if the running platform uses ARM architecture.
    )Úppc64Úppc64le)r*   r3   r   r   r   r   Úis_platform_powerq   s   	r8   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.
    Ú	PANDAS_CIÚ0Ú1)ÚosÚenvironÚgetr   r   r   r   Úis_ci_environment}   s   
r?   ú(type[pandas.compat.compressors.LZMAFile]c                   C  ó   t jjjs	tdƒ‚t jj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.
    zslzma module not available. A Python re-install with the proper dependencies, might be required to solve this issue.)ÚpandasÚcompatÚcompressorsÚhas_lzmaÚRuntimeErrorÚLZMAFiler   r   r   r   Úget_lzma_fileŠ   ó
   
ÿ
rH   ú'type[pandas.compat.compressors.BZ2File]c                   C  rA   )a  
    Importing the `BZ2File` class from the `bz2` module.

    Returns
    -------
    class
        The `BZ2File` class from the `bz2` module.

    Raises
    ------
    RuntimeError
        If the `bz2` module was not imported correctly, or didn't exist.
    zrbz2 module not available. A Python re-install with the proper dependencies, might be required to solve this issue.)rB   rC   rD   Úhas_bz2rF   ÚBZ2Filer   r   r   r   Úget_bz2_file¡   rI   rM   )r
   r   r   r   r   r   r   r   r   r   r   r   r   r	   )r   r   r   r   r   r   r   r   )r   r    )r   r@   )r   rJ   )(Ú__doc__Ú
__future__r   r<   r*   r#   Útypingr   Úpandas.compat._constantsr   r   r   r   r   r	   Úpandas.compat.compressorsrB   Úpandas.compat.numpyr
   Úpandas.compat.pyarrowr   r   r   r   r   r   r   Úpandas._typingr   r   r%   r+   r-   r/   r5   r8   r?   rH   rM   Ú__all__r   r   r   r   Ú<module>   s.    	 $











