3
���hd* � @ s� d Z ddlmZmZmZmZmZ ddlmZ ddl m
Z
ddlmZ ddl
mZ ddlmZmZ ddlmZmZmZ ed d
�dd�ZG d
d � d �ZG dd� de�ZG dd� de�Zdee
e eee ee eee d�dd�Zded�dd�ZdS )z parquet compat � )�Any�AnyStr�Dict�List�Optional)�catch_warnings)�FilePathOrBuffer)�import_optional_dependency)�AbstractMethodError)� DataFrame�
get_option)�_expand_user�get_filepath_or_buffer�
is_fsspec_url�BaseImpl)�engine�returnc C s� | dkrt d�} | dkrzttg}d}xF|D ]>}y|� S tk
rf } z|dt|� 7 }W Y dd}~X q*X q*W td|� ���| dkr�t� S | dkr�t� S td ��dS )
z return 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�ImportError�str�
ValueError)r Zengine_classesZ
error_msgsZengine_class�err� r �3/tmp/pip-build-5_djhm0z/pandas/pandas/io/parquet.py�
get_engine s" |