o
    i4                     @  s   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e d dlmZ W d   n1 s6w   Y  erKd dlmZ d dlmZmZ dddZdddddddZdS )    )annotationsN)TYPE_CHECKINGAny)dataframe_to_pydf)wrap_dfwrap_s)PySeries)	DataFrame)SchemaDefinition
SchemaDictobjr   returnboolc                   s   t  fdddD S )z?Check if object looks like it supports the PyCapsule interface.c                 3  s     | ]}t t |d V  qd S )N)callablegetattr).0attrr    N/home/app/Keep/.python/lib/python3.10/site-packages/polars/_utils/pycapsule.py	<genexpr>   s
    
zis_pycapsule.<locals>.<genexpr>)__arrow_c_stream____arrow_c_array__)anyr   r   r   r   is_pycapsule   s   r   F)schemaschema_overridesrechunkr   SchemaDefinition | Noner   SchemaDict | Noner   r	   c                C  s   t | drd}tt| }|||}n!t | dr.d}tt| }|||}n
d| d}t||r>| }|sB|rKt	t
|||d}|S )z&Convert PyCapsule object to DataFrame.r    r   z3object does not support PyCapsule interface; found  )r   r   )hasattrr   r   Zfrom_arrow_c_arrayZto_frameZunnestZfrom_arrow_c_stream	TypeErrorr   r   r   )r   r   r   r   Ztmp_col_namesdfmsgr   r   r   pycapsule_to_frame   s"   

r'   )r   r   r   r   )
r   r   r   r   r   r   r   r   r   r	   )
__future__r   
contextlibtypingr   r   Z$polars._utils.construction.dataframer   Zpolars._utils.wrapr   r   suppressImportErrorZpolars._plrr   Zpolarsr	   Zpolars._typingr
   r   r   r'   r   r   r   r   <module>   s     
