
    hT                        S SK Jr  S SKJr  S SKJr  S SKJr  S SKJr	  S SK
Jr  S SKJr  S SKJr  S S	KJr  S S
KJr  \(       a   S SKJr  S SKrS SKrS SKJr  S SKJr  S SKJr  \" SS9SS j5       r " S S5      rg)    )annotations)	lru_cache)TYPE_CHECKING)AnyNget_ibis)Implementation)Version)import_dtypes_module)validate_backend_version)
ModuleType)SelfIbisInterchangeSeries)DType   )maxsizec                f   [        U5      nU R                  5       (       a  UR                  5       $ U R                  5       (       a  UR	                  5       $ U R                  5       (       a  UR                  5       $ U R                  5       (       a  UR                  5       $ U R                  5       (       a  UR                  5       $ U R                  5       (       a  UR                  5       $ U R                  5       (       a  UR                  5       $ U R                  5       (       a  UR!                  5       $ U R#                  5       (       a  UR%                  5       $ U R'                  5       (       a  UR)                  5       $ U R+                  5       (       a  UR-                  5       $ U R/                  5       (       a  UR1                  5       $ U R3                  5       (       a  UR5                  5       $ U R7                  5       (       a  UR9                  5       $ U R;                  5       (       a%  UR=                  [?        U R@                  U5      5      $ U RC                  5       (       aM  URE                  U RG                  5        VVs/ s H   u  p4URI                  U[?        XA5      5      PM"     snn5      $ U RK                  5       (       a  URM                  5       $ U RO                  5       (       a  URQ                  5       $ U RS                  5       (       a  URU                  5       $ URW                  5       $ s  snnf N),r   is_int64Int64is_int32Int32is_int16Int16is_int8Int8	is_uint64UInt64	is_uint32UInt32	is_uint16UInt16is_uint8UInt8
is_booleanBoolean
is_float64Float64
is_float32Float32	is_stringStringis_dateDateis_timestampDatetimeis_arrayListnative_to_narwhals_dtype
value_type	is_structStructitemsField
is_decimalDecimalis_timeTime	is_binaryBinaryUnknown)
ibis_dtypeversiondtypesibis_dtype_nameibis_dtype_fields        J/var/www/html/env/lib/python3.13/site-packages/narwhals/_ibis/dataframe.pyr4   r4      s   !'*F||~||~||~{{}}}}}}}||~~~~~~~}}{{}    {{3J4I4I7STT}} :D9I9I9K
 :L5O	 #,-=G :L
 	
 ~~{{}}}>>s   ?'L-
c                      \ rS rSr\R
                  r        SS jrSS jrSS jr	SS jr
SS jrSS jrSS jrSS	 jrSS
 jr    SS jrSS jrSS jrSS jrSS jrSrg)IbisLazyFrameO   c               h    Xl         X0l        X l        [        U R                  U R                  5        g r   )_native_frame_version_backend_versionr   _implementation)selfdfbackend_versionrB   s       rF   __init__IbisLazyFrame.__init__R   s+       / !5!5t7L7LM    c                Z    U R                   [        R                  La  Sn[        U5      eU $ )Nz;__narwhals_dataframe__ is not implemented for IbisLazyFrame)rL   r
   V1AttributeError)rO   msgs     rF   __narwhals_dataframe__$IbisLazyFrame.__narwhals_dataframe__Z   s'    ==

*OC %%rT   c                    U $ r    rO   s    rF   __narwhals_lazyframe__$IbisLazyFrame.__narwhals_lazyframe__a   s    rT   c                    [        5       $ r   r   r]   s    rF   __native_namespace__"IbisLazyFrame.__native_namespace__d   s
    zrT   c                J    SSK Jn  U" U R                  U   U R                  S9$ )Nr   r   )rB   )narwhals._ibis.seriesr   rK   rL   )rO   namer   s      rF   
get_columnIbisLazyFrame.get_columng   s!    ?$T%7%7%=t}}UUrT   c                6    U R                   R                  5       $ r   )rK   	to_pandasr]   s    rF   ri   IbisLazyFrame.to_pandasl   s    !!++--rT   c                6    U R                   R                  5       $ r   )rK   
to_pyarrowr]   s    rF   to_arrowIbisLazyFrame.to_arrowo   s    !!,,..rT   c                x    U R                  U R                  R                  [        R                  " U6 5      5      $ r   )_with_nativerK   selectscols)rO   column_namess     rF   simple_selectIbisLazyFrame.simple_selectr   s-      !3!3!:!:166<;P!QRRrT   c                    [         er   NotImplementedError)rO   exprss     rF   	aggregateIbisLazyFrame.aggregateu   s    !!rT   c                    Sn[        U5      e)Nz`select`-ing not by name is not supported for Ibis backend.

If you would like to see this kind of object better supported in Narwhals, please open a feature request at https://github.com/narwhals-dev/narwhals/issues.rx   )rO   rz   rX   s      rF   rq   IbisLazyFrame.selectx   s    
B 	 "#&&rT   c           	     (   US:X  aQ  U R                   R                  5       R                  5        VVs0 s H  u  p#U[        X0R                  5      _M     snn$ US:X  a  [        U R                   R                  5      $ SU S3n[        U5      es  snnf )Nschemacolumnsz
Attribute z is not supported for metadata-only dataframes.

If you would like to see this kind of object better supported in Narwhals, please open a feature request at https://github.com/narwhals-dev/narwhals/issues.)rK   r   r8   r4   rL   listr   ry   )rO   attrcolumn_namerA   rX   s        rF   __getattr__IbisLazyFrame.__getattr__   s    8 04/A/A/H/H/J/P/P/R/R+K 5j--PP/R  Y**2233 B B 	 "#&&s   "Bc                J    U R                  U R                  XR                  S9$ N)rB   rQ   )	__class__rK   rM   )rO   rB   s     rF   _with_versionIbisLazyFrame._with_version   s)    ~~AVAV  
 	
rT   c                J    U R                  XR                  U R                  S9$ r   )r   rL   rM   )rO   rP   s     rF   rp   IbisLazyFrame._with_native   s'    ~~t7L7L  
 	
rT   c           	         U R                   R                  5       R                  5        VVs0 s H  u  pU[        X R                  5      _M     snn$ s  snnf r   )rK   r   r8   r4   rL   )rO   r   rA   s      rF   collect_schemaIbisLazyFrame.collect_schema   sS     ,0+=+=+D+D+F+L+L+N
+N' 1*mmLL+N
 	
 
s   "A)rM   rK   rL   N)rP   r   rQ   ztuple[int, ...]rB   r
   returnNone)r   r   )r   r   )re   strr   r   )r   zpd.DataFrame)r   zpa.Table)rt   r   r   r   )rz   r   r   r   )r   r   r   r   )rB   r
   r   r   )rP   r   r   r   )r   zdict[str, DType])__name__
__module____qualname____firstlineno__r	   IBISrN   rR   rY   r^   ra   rf   ri   rm   ru   r{   rq   r   r   rp   r   __static_attributes__r\   rT   rF   rH   rH   O   s    $))ONN+:NELN	NV
./S"
'
' 

'' 




rT   rH   )rA   r   rB   r
   r   r   )
__future__r   	functoolsr   typingr   r   ibis.selectors	selectorsrr   narwhals.dependenciesr   narwhals.utilsr	   r
   r   r   typesr   pandaspdpyarrowpatyping_extensionsr   rd   r   narwhals.dtypesr   r4   rH   r\   rT   rF   <module>r      s^    "      * ) " / 3 &;% 21 1hS
 S
rT   