
    Wh                        U d dl mZ d dlmZ d dlmZmZmZmZ d dl	m
Z
mZmZmZmZmZmZmZmZmZmZ d dlmZmZ d dlmZmZmZ d dlmZmZ erKd dlm Z m!Z!m"Z" d d	l#m$Z$ d d
l%m&Z& d dl'm(Z(m)Z) d dlm*Z*m+Z+ d dl,m-Z- d dl.m/Z/ d dl0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 eZ8de9d<   g dZ: G d deee
f         Z; G d de;eef   eeef         Z< G d de;eef   eeeef         Z= G d de<eef   eeeeeef         Z>y)    )annotations)partial)TYPE_CHECKINGAnyProtocoloverload)CompliantExprTCompliantFrameTCompliantLazyFrameTDepthTrackingExprTEagerDataFrameT
EagerExprTEagerSeriesT	LazyExprTNativeFrameTNativeFrameT_coNativeSeriesT)is_expr	is_series)exclude_column_namesget_column_namespassthrough_column_names)is_numpy_arrayis_numpy_array_2d)	ContainerIterableSequence)	TypeAlias)CompliantSelectorNamespace)CompliantWhen	EagerWhen)ImplementationVersion)Expr)Series)ConcatMethodInto1DArray	IntoDType
IntoSchemaNonNestedLiteral_1DArray_2DArrayr   
Incomplete)CompliantNamespaceDepthTrackingNamespaceEagerNamespaceLazyNamespacec                     e Zd ZU ded<   ded<   edd       Z	 	 	 	 	 	 ddZddZddZdd	Z	dd
Z
ddZd dZ	 	 	 	 	 	 d!dZ	 	 	 	 	 	 d!dZd"dZd"dZd"dZd"dZ	 	 	 	 	 	 d#dZ	 	 	 	 d$dZ	 	 	 	 	 	 	 	 d%dZed&d       Zd"dZd'dZy)(r.   r"   _implementationr#   _versionc                     y N selfs    W/var/www/html/jupyter_env/lib/python3.12/site-packages/narwhals/_compliant/namespace.py_exprzCompliantNamespace._expr>       -0    c                  t        |      r+|j                  |       }t        || j                        sJ |S t        |t              r|s| j                  |      S |S r6   )r   _to_compliant_expr
isinstancer;   strcol)r9   data
str_as_litexprs       r:   parse_into_exprz"CompliantNamespace.parse_into_expr@   sS     4=**40DdDJJ///KdC 88D>!r=   c                D    | j                   j                  t        |       S Ncontextr;   from_column_namesr   r8   s    r:   allzCompliantNamespace.allL   s    zz++,<d+KKr=   c                N    | j                   j                  t        |      |       S rH   r;   rL   r   r9   column_namess     r:   rB   zCompliantNamespace.colO   s(    zz++$\2D , 
 	
r=   c                Z    | j                   j                  t        t        |      |       S )NnamesrI   r;   rL   r   r   r9   excluded_namess     r:   excludezCompliantNamespace.excludeT   s+    zz++(? , 
 	
r=   c                :     | j                   j                  |d| iS )NrJ   )r;   from_column_indices)r9   column_indicess     r:   nthzCompliantNamespace.nthY   s    -tzz--~LtLLr=   c                     y r6   r7   r8   s    r:   lenzCompliantNamespace.len\       r=   c                     y r6   r7   )r9   valuedtypes      r:   litzCompliantNamespace.lit]   r_   r=   c                    y r6   r7   r9   ignore_nullsexprss      r:   all_horizontalz!CompliantNamespace.all_horizontal^       r=   c                    y r6   r7   re   s      r:   any_horizontalz!CompliantNamespace.any_horizontala   ri   r=   c                     y r6   r7   r9   rg   s     r:   sum_horizontalz!CompliantNamespace.sum_horizontald   r_   r=   c                     y r6   r7   rm   s     r:   mean_horizontalz"CompliantNamespace.mean_horizontale   r_   r=   c                     y r6   r7   rm   s     r:   min_horizontalz!CompliantNamespace.min_horizontalf   r_   r=   c                     y r6   r7   rm   s     r:   max_horizontalz!CompliantNamespace.max_horizontalg   r_   r=   c                    y r6   r7   )r9   itemshows      r:   concatzCompliantNamespace.concath   s    r=   c                     y r6   r7   r9   	predicates     r:   whenzCompliantNamespace.whenk   s    EHr=   c                    y r6   r7   )r9   	separatorrf   rg   s       r:   
concat_strzCompliantNamespace.concat_strn   ri   r=   c                     y r6   r7   r8   s    r:   	selectorszCompliantNamespace.selectorsq   s    ADr=   c                     y r6   r7   rm   s     r:   coalescezCompliantNamespace.coalesces   r_   r=   c                    y r6   r7   r9   rC   s     r:   from_nativezCompliantNamespace.from_nativeu   r_   r=   N)returnztype[CompliantExprT])rC   zExpr | NonNestedLiteral | AnyrD   boolr   z!CompliantExprT | NonNestedLiteral)r   r	   )rQ   rA   r   r	   )rW   Container[str]r   r	   )r[   intr   r	   )ra   r*   rb   zIntoDType | Noner   r	   )rg   r	   rf   r   r   r	   )rg   r	   r   r	   )rv   zIterable[CompliantFrameT]rw   r&   r   r
   )r{   r	   r   z:CompliantWhen[CompliantFrameT, Incomplete, CompliantExprT])rg   r	   r~   rA   rf   r   r   r	   )r   z$CompliantSelectorNamespace[Any, Any])rC   r   r   r   )__name__
__module____qualname____annotations__propertyr;   rF   rM   rB   rX   r\   r^   rc   rh   rk   rn   rp   rr   rt   rx   r|   r   r   r   r   r7   r=   r:   r.   r.   9   s   ##0 0	1	EI		*	L



M )Z$48	$48	 LLKK.8D	I'I	CI$14DH	 D DE3r=   r.   c                  $    e Zd ZddZddZddZy)r/   c                F    | j                   j                  t        d|       S )NrM   function_namerJ   rK   r8   s    r:   rM   zDepthTrackingNamespace.all|   s%    zz++E4 , 
 	
r=   c                P    | j                   j                  t        |      d|       S )NrB   r   rO   rP   s     r:   rB   zDepthTrackingNamespace.col   s+    zz++$\2%QU , 
 	
r=   c                \    | j                   j                  t        t        |      d|       S )NrS   rX   r   rU   rV   s     r:   rX   zDepthTrackingNamespace.exclude   s/    zz++(?# , 
 	
r=   N)r   r   )rQ   rA   r   r   )rW   r   r   r   )r   r   r   rM   rB   rX   r7   r=   r:   r/   r/   x   s    




r=   r/   c                  8    e Zd Zedd       Zedd       ZddZy)r1   c                6    | j                   j                         S r6   r3   _backend_versionr8   s    r:   r   zLazyNamespace._backend_version       ##4466r=   c                     y r6   r7   r8   s    r:   
_lazyframezLazyNamespace._lazyframe   s    7:r=   c                   | j                   j                  |      r| j                   j                  ||       S dt        |      j                  }t        |      NrI   zUnsupported type: )r   
_is_nativer   typer   	TypeErrorr9   rC   msgs      r:   r   zLazyNamespace.from_native   sO    ??%%d+??..tT.BB"4:#6#6"9:nr=   Nr   ztuple[int, ...])r   ztype[CompliantLazyFrameT])rC   zNativeFrameT_co | Anyr   r   )r   r   r   r   r   r   r   r7   r=   r:   r1   r1      s+     7 7 : :r=   r1   c                  "    e Zd Zedd       Zedd       Zedd       Z	 	 	 	 ddZedd       Z	edd       Z		 	 	 	 ddZ		 	 	 	 	 	 d fdZ
eddd	       Ze	 	 	 	 	 	 dd
       Z	 d	 	 	 	 	 ddZddZ	 	 	 	 ddZddZ	 	 	 	 	 	 ddZ xZS ) r0   c                6    | j                   j                         S r6   r   r8   s    r:   r   zEagerNamespace._backend_version   r   r=   c                     y r6   r7   r8   s    r:   
_dataframezEagerNamespace._dataframe   s    36r=   c                     y r6   r7   r8   s    r:   _serieszEagerNamespace._series   r<   r=   c                     y r6   r7   rz   s     r:   r|   zEagerNamespace.when   s    NQr=   c                    y r6   r7   r   s     r:   r   zEagerNamespace.from_native   s    EHr=   c                    y r6   r7   r   s     r:   r   zEagerNamespace.from_native   s    CFr=   c               (   | j                   j                  |      r| j                   j                  ||       S | j                  j                  |      r| j                  j                  ||       S dt	        |      j
                  }t        |      r   )r   r   r   r   r   r   r   r   s      r:   r   zEagerNamespace.from_native   s}     ??%%d+??..tT.BB<<""4(<<++D$+??"4:#6#6"9:nr=   c                  t        |      st        |      st        |   ||      S | j                  j                  t        |      r|j                        S | j                  j                  ||             S )N)rD   rI   )	r   r   superrF   r;   _from_series_compliant_seriesr   
from_numpy)r9   rC   rD   	__class__s      r:   rF   zEagerNamespace.parse_into_expr   st     $>$#77*4J*GGzz&& ""
 	
 ((t(<
 	
r=   c                    y r6   r7   r9   rC   schemas      r:   r   zEagerNamespace.from_numpy   s    TWr=   c                    y r6   r7   r   s      r:   r   zEagerNamespace.from_numpy   s     r=   c                   t        |      r| j                  j                  |||       S | j                  j                  ||       S )N)r   rJ   rI   )r   r   r   r   r   s      r:   r   zEagerNamespace.from_numpy   sB     T"??--d64-PP||&&tT&::r=   c                    y r6   r7   r9   dfss     r:   _concat_diagonalzEagerNamespace._concat_diagonal   r_   r=   c                    y r6   r7   r   s     r:   _concat_horizontalz!EagerNamespace._concat_horizontal   s    r=   c                    y r6   r7   r   s     r:   _concat_verticalzEagerNamespace._concat_vertical   r_   r=   c                  |D cg c]  }|j                    }}|dk(  r| j                  |      }n4|dk(  r| j                  |      }n|dk(  r| j                  |      }nt        | j
                  j                  ||       S c c}w )N
horizontalverticaldiagonalrI   )nativer   r   r   NotImplementedErrorr   r   )r9   rv   rw   itemr   r   s         r:   rx   zEagerNamespace.concat   s     (--tt{{--,,,S1FJ**3/FJ**3/F%%**64*@@ .s   Br   )r   ztype[EagerDataFrameT])r   ztype[EagerSeriesT])r{   r   r   zCEagerWhen[EagerDataFrameT, EagerSeriesT, EagerExprT, NativeSeriesT])rC   r   r   r   )rC   r   r   r   )rC   z"NativeFrameT | NativeSeriesT | Anyr   EagerDataFrameT | EagerSeriesT)rC   z:Expr | Series[NativeSeriesT] | _1DArray | NonNestedLiteralrD   r   r   zEagerExprT | NonNestedLiteral).)r   NonerC   r'   r   r   )r   !IntoSchema | Sequence[str] | NonerC   r,   r   r   r6   )r   r   rC   zInto1DArray | _2DArrayr   r   )r   zSequence[NativeFrameT]r   r   )r   zSequence[NativeFrameT | Any]r   r   )rv   zIterable[EagerDataFrameT]rw   r&   r   r   )r   r   r   r   r   r   r   r|   r   r   rF   r   r   r   r   rx   __classcell__)r   s   @r:   r0   r0      sC    7 7 6 60 0R#R	LR H HF F6	'
H

 
 
'
 W W)J	  59	; 2	;$;
 
(; T/	 TA.A8DA	Ar=   r0   N)?
__future__r   	functoolsr   typingr   r   r   r   narwhals._compliant.typingr	   r
   r   r   r   r   r   r   r   r   r   narwhals._expression_parsingr   r   narwhals._utilsr   r   r   narwhals.dependenciesr   r   collections.abcr   r   r   typing_extensionsr   narwhals._compliant.selectorsr   narwhals._compliant.when_thenr    r!   r"   r#   narwhals.exprr$   narwhals.seriesr%   narwhals.typingr&   r'   r(   r)   r*   r+   r,   r-   r   __all__r.   r/   r1   r0   r7   r=   r:   <module>r      s
   "  9 9    < 
 D==+HF7"&    J	<4/>"AB <4~
(::;_001
,*I56 )_<=$PA?J67_lJmSTPAr=   