�
���hY\ � � � d Z ddlmZ ddlZddlZddlZddlmZmZm Z ddl
Z
ddl
mZmZ ddl
mZ ddlmZ ddlmZ dd lmZ dd
lmZ ddlmZ ddlmZ dd
lmZmZ ddlmZ ddl m!Z! ddl"m#Z#m$Z$m%Z%m&Z&m'Z' erddl(m)Z)m*Z*m+Z+m,Z,m-Z- dAd�Z. dBdCd#�Z/ G d$� d� � Z0 G d%� d&e0� � Z1 G d'� d(e0� � Z2 eed �)� � dDdEd7�� � Z3 eed �)� � d*ddej4 ej4 ddfdFd@�� � Z5dS )Gz parquet compat � )�annotationsN)�
TYPE_CHECKING�Any�Literal)�catch_warnings�filterwarnings)�_get_option)�lib)�import_optional_dependency��AbstractMethodError)�doc)�find_stack_level)�check_dtype_backend)� DataFrame�
get_option)�_shared_docs)�arrow_table_to_pandas)� IOHandles�
get_handle�
is_fsspec_url�is_url�stringify_path)�DtypeBackend�FilePath�
ReadBuffer�StorageOptions�WriteBuffer�engine�str�return�BaseImplc �d � | dk rt d� � } | dk r_t t g}d}|D ]:} |� � c S # t $ r}|dt |� � z z
}Y d}~�3d}~ww xY wt d|� �� � �| dk rt � � S | dk rt � � S t d � � �)
zreturn our implementation�autozio.parquet.engine� z
- Nz�Unable to find a usable engine; tried using: 'pyarrow', 'fastparquet'.
A suitable version of pyarrow or fastparquet is required for parquet support.
Trying to import the above resulted in these errors:�pyarrow�fastparquetz.engine must be one of 'pyarrow', 'fastparquet')r �PyArrowImpl�FastParquetImpl�ImportErrorr �
ValueError)r �engine_classes�
error_msgs�engine_class�errs �H/opt/cloudlinux/venv/lib64/python3.11/site-packages/pandas/io/parquet.py�
get_enginer1 4 s� � �
�����/�0�0��
����%��7���
�*� 1� 1�L�
1�#�|�~�~�%�%�%���
1�
1�
1��g��C���0�0�
�
�
�
�
�
�����
1���� �
� �
�
�
�
�
� �����}�}�� �=� � �� � � �
�E�
F�
F�Fs � =�
A&�A!�!A&�rbF�path�1FilePath | ReadBuffer[bytes] | WriteBuffer[bytes]�fsr �storage_options�StorageOptions | None�mode�is_dir�bool�Vtuple[FilePath | ReadBuffer[bytes] | WriteBuffer[bytes], IOHandles[bytes] | None, Any]c �` � t | � � }|��t dd�� � }t dd�� � }|�'t ||j � � r|rt d� � �nA|�t ||j j � � rn$t dt |� � j � �� � �t |� � r�|��|�Tt d� � }t d� � } |j � | � � \ }}n# t |j
f$ r Y nw xY w|�'t d� � } |j j |fi |pi ��\ }}n&|r$t! |� � r|d k rt d
� � �d} |sR|sPt |t" |