
    :i                       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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mZmZmZm Z m!Z! erddl"m#Z# dd	Z$dd
Z%ddZ&ddZ'ddZ(ddZ)ddZ*ddZ+ddZ,ddZ-g dZ.y)zn
compat
======

Cross-compatible functions for different versions of Python.

Other items:
* platform checker
    )annotationsN)TYPE_CHECKING)IS64ISMUSLPY310PY311PY312PY314PYPYWARNING_CHECK_DISABLED)is_numpy_dev)HAS_PYARROWpa_version_under10p1pa_version_under11p0pa_version_under13p0pa_version_under14p0pa_version_under14p1pa_version_under16p0pa_version_under17p0pa_version_under18p0pa_version_under19p0pa_version_under20p0pa_version_under21p0)Fc                b    || _         |j                    d| | _        |j                  | _        | S )z<
    Bind the name/qualname attributes of the function.
    .)__name____qualname__
__module__)fnameclss      \/var/www/html/talentspherev1.5.2/venv/lib/python3.12/site-packages/pandas/compat/__init__.pyset_function_namer$   0   s1     AJ~Qtf-AN>>ALH    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	byteorder r%   r#   is_platform_little_endianr+   :   s     ==H$$r%   c                 &    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#   is_platform_windowsr1   F   s     <<...r%   c                 (    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#   is_platform_linuxr4   R   s     <<7""r%   c                 (    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#   is_platform_macr7   ^   s     <<8##r%   c                 x    t        j                         dv xs# t        j                         j                  d      S )z
    Checking if the running platform use ARM architecture.

    Returns
    -------
    bool
        True if the running platform uses ARM architecture.
    )arm64aarch64armv)r0   machine
startswithr*   r%   r#   is_platform_armr>   j   s9     !55 9I9I9K9V9V: r%   c                 .    t        j                         dv S )z
    Checking if the running platform use Power architecture.

    Returns
    -------
    bool
        True if the running platform uses ARM architecture.
    )ppc64ppc64le)r0   r<   r*   r%   r#   is_platform_powerrB   x   s     !555r%   c                 H    t         j                  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#   is_ci_environmentrJ      s     ::>>+s+s22r%   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#   get_lzma_filerR      sA     ==$$--5
 	

 ==$$---r%   c                     t         j                  j                  j                  st	        d      t         j                  j                  j
                  S )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.)rL   rM   rN   has_bz2rP   BZ2Filer*   r%   r#   get_bz2_filerV      sA     ==$$,,5
 	

 ==$$,,,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!   strr"   typereturnr   )rY   bool)rY   z(type[pandas.compat.compressors.LZMAFile])rY   z'type[pandas.compat.compressors.BZ2File])/__doc__
__future__r   rG   r0   r(   typingr   pandas.compat._constantsr   r   r   r   r	   r
   r   r   pandas.compat.compressorsrL   pandas.compat.numpyr   pandas.compat.pyarrowr   r   r   r   r   r   r   r   r   r   r   r   pandas._typingr   r$   r+   r1   r4   r7   r>   rB   rJ   rR   rV   __all__r*   r%   r#   <module>rd      s    # 	  
  	 	 	 ! ,     	%	/	#	$	6
3..-.r%   