o
    EÜht
  ć                   @  s°   d dl mZ d dlmZmZ d dlZd dlmZ d dl	m
Z
 d dlmZmZ d dlmZ d dlZerBd dlmZ d dlZd d	lmZ dddZdddZe
jddfdddZdS ) é    )Śannotations)ŚTYPE_CHECKINGŚLiteralN)Śusing_string_dtype)Ślib)Śpa_version_under18p0Śpa_version_under19p0)Śimport_optional_dependency)ŚCallable)ŚDtypeBackendŚreturnŚdictc                  C  s“   t d} |  ” t ” |  ” t ” |  ” t ” |  ” t 	” |  
” t ” |  ” t ” |  ” t ” |  ” t ” |  ” t ” |  ” t ” |  ” t ” |  ” t ” |  ” t ” |  ” t ” iS )NŚpyarrow)r	   Zint8ŚpdZ	Int8DtypeZint16Z
Int16DtypeZint32Z
Int32DtypeZint64Ś
Int64DtypeZuint8Z
UInt8DtypeZuint16ZUInt16DtypeZuint32ZUInt32DtypeZuint64ZUInt64DtypeZbool_ZBooleanDtypeŚstringŚStringDtypeZfloat32ZFloat32DtypeZfloat64ZFloat64DtypeŚlarge_string)Śpa© r   ś/lib/python3.10/site-packages/pandas/io/_util.pyŚ_arrow_dtype_mapping   s    ņr   r
   c                  C  sP   t d} |  ” tjtjd|  ” tjtjdi}ts%tjtjd||  ” < |j	S )Nr   )Zna_value)
r	   r   r   r   ŚnpŚnanr   r   Zstring_viewŚget)r   Śmappingr   r   r   Ś_arrow_string_types_mapper1   s   žr   FŚtableśpyarrow.TableŚdtype_backendś/DtypeBackend | Literal['numpy'] | lib.NoDefaultŚnull_to_int64ŚboolŚto_pandas_kwargsśdict | Noneśpd.DataFramec                 C  s   |d u ri }t d}|dkrt }|rt ” || ” < |j}n"|dkr'tj}nt r3tr0t	 }nd }n|t
ju s<|dkr?d }nt| jdd|i|¤}|S )Nr   Znumpy_nullableŚnumpyŚtypes_mapperr   )r	   r   r   r   Znullr   Z
ArrowDtyper   r   r   r   Ś
no_defaultŚNotImplementedErrorZ	to_pandas)r   r   r!   r#   r   r   r'   Zdfr   r   r   Śarrow_table_to_pandas>   s&   r*   )r   r   )r   r
   )
r   r   r   r    r!   r"   r#   r$   r   r%   )Z
__future__r   Śtypingr   r   r&   r   Zpandas._configr   Zpandas._libsr   Zpandas.compatr   r   Zpandas.compat._optionalr	   Zpandasr   Zcollections.abcr
   r   Zpandas._typingr   r   r   r(   r*   r   r   r   r   Ś<module>   s$    

ü