
    AHj4                        d dl mZ d dlZd dlmZmZ d dlmZ d dlm	Z	m
Z
  ej                  e      5  d dlmZ ddd       erd dlmZ d dlmZmZ dd	Zddd
d	 	 	 	 	 	 	 	 	 ddZy# 1 sw Y   0xY w)    )annotationsN)TYPE_CHECKINGAny)dataframe_to_pydf)wrap_dfwrap_s)PySeries)	DataFrame)SchemaDefinition
SchemaDictc                ,     t         fddD              S )z?Check if object looks like it supports the PyCapsule interface.c              3  J   K   | ]  }t        t        |d               y w)N)callablegetattr).0attrobjs     O/root/tools/cai/cai_env/lib/python3.12/site-packages/polars/_utils/pycapsule.py	<genexpr>zis_pycapsule.<locals>.<genexpr>   s'       	dD)*s    #)__arrow_c_stream____arrow_c_array__)any)r   s   `r   is_pycapsuler      s     ?      F)schemaschema_overridesrechunkc                  t        | d      rAd}t        t        j                  |             }|j	                  |      j                  |      }n^t        | d      rAd}t        t        j                  |             }|j	                  |      j                  |      }nd| d}t        |      |r|j                         }|s|rt        t        |||            }|S )z&Convert PyCapsule object to DataFrame.r    r   z3object does not support PyCapsule interface; found  )r   r   )hasattrr   r	   from_arrow_c_arrayto_frameunnestfrom_arrow_c_stream	TypeErrorr   r   r   )r   r   r   r   tmp_col_namesdfmsgs           r   pycapsule_to_framer+      s     s'( 8..s34ZZ%,,\:	*	+ 8//45ZZ%,,\:CC7!LnZZ\!bBRS
 Ir   )r   r   returnbool)
r   r   r   zSchemaDefinition | Noner   zSchemaDict | Noner   r-   r,   r
   )
__future__r   
contextlibtypingr   r   $polars._utils.construction.dataframer   polars._utils.wrapr   r   suppressImportErrorpolars._plrr	   polarsr
   polars._typingr   r   r   r+    r   r   <module>r9      s    "  % B .Z% %$%  ; '+*.	 $ (	
  !% %s   A))A2