
    Nh                       S r SSKJr  SSKrSSKrSSKrSSKJr  SSKJ	r	J
r
JrJrJrJr  SSKrSSKJr  SSKJrJrJrJrJrJrJr  \(       a  SSKJr  SS	 jrSS
 jrSS jrSS jr SS jr!SS jr"SS jr#SS jr$SS jr%SS jr&/ SQr'g)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)Fc                `    Xl         UR                    SU 3U l        UR                  U l        U $ )z4
Bind the name/qualname attributes of the function.
.)__name____qualname__
__module__)fnameclss      H/var/www/html/env/lib/python3.13/site-packages/pandas/compat/__init__.pyset_function_namer   )   s/     J~Qtf-AN>>ALH    c                 (    [         R                  S:H  $ )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$   3   s     ==H$$r   c                 (    [         R                  S;   $ )zq
Checking if the running platform is windows.

Returns
-------
bool
    True if the running platform is windows.
)win32cygwinr!   platformr#   r   r   is_platform_windowsr*   ?   s     <<...r   c                 (    [         R                  S:H  $ )zm
Checking if the running platform is linux.

Returns
-------
bool
    True if the running platform is linux.
linuxr(   r#   r   r   is_platform_linuxr-   K   s     <<7""r   c                 (    [         R                  S:H  $ )zi
Checking if the running platform is mac.

Returns
-------
bool
    True if the running platform is mac.
darwinr(   r#   r   r   is_platform_macr0   W   s     <<8##r   c                     [         R                  " 5       S;   =(       d$    [         R                  " 5       R                  S5      $ )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   is_platform_armr7   c   s9     !55 9I9I9K9V9V: r   c                 2    [         R                  " 5       S;   $ )z
Checking if the running platform use Power architecture.

Returns
-------
bool
    True if the running platform uses ARM architecture.
)ppc64ppc64le)r)   r5   r#   r   r   is_platform_powerr;   q   s     !555r   c                 H    [         R                  R                  SS5      S:H  $ )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_environmentrC   }   s     ::>>+s+s22r   c                     [         R                  R                  R                  (       d  [	        S5      e[         R                  R                  R
                  $ )z
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_filerK      sA     ==$$--5
 	

 ==$$---r   c                     [         R                  R                  R                  (       d  [	        S5      e[         R                  R                  R
                  $ )z
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.)rE   rF   rG   has_bz2rI   BZ2Filer#   r   r   get_bz2_filerO      sA     ==$$,,5
 	

 ==$$,,,r   )r   r   r   r   r   r   r   r   r   r   r   r   r	   r
   )r   r   r   strr   typereturnr   )rR   bool)rR   z(type[pandas.compat.compressors.LZMAFile])rR   z'type[pandas.compat.compressors.BZ2File])(__doc__
__future__r   r@   r)   r!   typingr   pandas.compat._constantsr   r   r   r   r	   r
   pandas.compat.compressorsrE   pandas.compat.numpyr   pandas.compat.pyarrowr   r   r   r   r   r   r   pandas._typingr   r   r$   r*   r-   r0   r7   r;   rC   rK   rO   __all__r#   r   r   <module>r]      s}    # 	  
    ! ,    	%	/	#	$	6
3..-.r   