
    ei"                       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 d dlmZmZmZ d dlmZ er5d dlmZmZ d dlmZmZ d d	l m!Z! d d
lm"Z"m#Z# d dl$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z* eZ+de,d<   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         Z0 G d de/eef   eeeeeef         Z1y)    )annotations)partial)TYPE_CHECKINGAnyProtocoloverload)
CompliantExprTCompliantFrameTCompliantLazyFrameTDepthTrackingExprTEagerDataFrameT
EagerExprTEagerSeriesT_co	LazyExprTNativeFrameTNativeSeriesT)exclude_column_namesget_column_namespassthrough_column_names)is_numpy_array_2d)IterableSequence)	TypeAliasTypeIs)CompliantSelectorNamespace)ImplementationVersion)ConcatMethodInto1DArray	IntoDType
IntoSchemaNonNestedLiteral_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ed"d       ZddZd#dZd$dZy)%r%   r   _implementationr   _versionc                     y N selfs    _/var/www/html/glpi_dashboard/venv/lib/python3.12/site-packages/narwhals/_compliant/namespace.py_exprzCompliantNamespace._expr8   s    -0    c                D    | j                   j                  t        |       S Ncontextr2   from_column_namesr   r/   s    r1   allzCompliantNamespace.all;       zz++,<d+KKr3   c                N    | j                   j                  t        |      |       S r5   r2   r9   r   r0   namess     r1   colzCompliantNamespace.col>   #    zz++,DU,KUY+ZZr3   c                Z    | j                   j                  t        t        |      |       S N)r?   r6   r2   r9   r   r   r>   s     r1   excludezCompliantNamespace.excludeA   +    zz++(6 , 
 	
r3   c                :     | j                   j                  |d| iS )Nr7   )r2   from_column_indices)r0   indicess     r1   nthzCompliantNamespace.nthF   s    -tzz--wEEEr3   c                     y r-   r.   r/   s    r1   lenzCompliantNamespace.lenI       r3   c                     y r-   r.   )r0   valuedtypes      r1   litzCompliantNamespace.litJ   rM   r3   c                    y r-   r.   r0   ignore_nullsexprss      r1   all_horizontalz!CompliantNamespace.all_horizontalK       r3   c                    y r-   r.   rS   s      r1   any_horizontalz!CompliantNamespace.any_horizontalN   rW   r3   c                     y r-   r.   r0   rU   s     r1   sum_horizontalz!CompliantNamespace.sum_horizontalQ   rM   r3   c                     y r-   r.   r[   s     r1   mean_horizontalz"CompliantNamespace.mean_horizontalR   rM   r3   c                     y r-   r.   r[   s     r1   min_horizontalz!CompliantNamespace.min_horizontalS   rM   r3   c                     y r-   r.   r[   s     r1   max_horizontalz!CompliantNamespace.max_horizontalT   rM   r3   c                    y r-   r.   )r0   itemshows      r1   concatzCompliantNamespace.concatU   s    r3   c                    y r-   r.   )r0   	separatorrT   rU   s       r1   
concat_strzCompliantNamespace.concat_strX   rW   r3   c                     y r-   r.   r/   s    r1   	selectorszCompliantNamespace.selectors[   s    ADr3   c                     y r-   r.   r[   s     r1   coalescezCompliantNamespace.coalesce]   rM   r3   c                    y r-   r.   r0   datas     r1   from_nativezCompliantNamespace.from_native_   rM   r3   c                    y)z6Return `True` if `obj` can be passed to `from_native`.Nr.   r0   objs     r1   	is_nativezCompliantNamespace.is_native`   s    r3   N)returnztype[CompliantExprT])rv   r	   )r?   strrv   r	   )rI   zSequence[int]rv   r	   )rO   r"   rP   zIntoDType | Nonerv   r	   )rU   r	   rT   boolrv   r	   )rU   r	   rv   r	   )rd   zIterable[CompliantFrameT]re   r   rv   r
   )rU   r	   rh   rw   rT   rx   rv   r	   )rv   z$CompliantSelectorNamespace[Any, Any])rp   r   rv   r   )rt   r   rv   zTypeIs[Any])__name__
__module____qualname____annotations__propertyr2   r:   r@   rE   rJ   rL   rQ   rV   rY   r\   r^   r`   rb   rf   ri   rk   rm   rq   ru   r.   r3   r1   r%   r%   3   s    ##0 0L[

F )Z$48	$48	 LLKK.8D	$14DH	 D DE3r3   r%   c                  $    e Zd ZddZddZddZy)r&   c                D    | j                   j                  t        |       S r5   r8   r/   s    r1   r:   zDepthTrackingNamespace.alli   r;   r3   c                N    | j                   j                  t        |      |       S r5   r=   r>   s     r1   r@   zDepthTrackingNamespace.coll   rA   r3   c                Z    | j                   j                  t        t        |      |       S rC   rD   r>   s     r1   rE   zDepthTrackingNamespace.excludeo   rF   r3   N)rv   r   )r?   rw   rv   r   )ry   rz   r{   r:   r@   rE   r.   r3   r1   r&   r&   e   s    L[
r3   r&   c                  @    e Zd Zedd       Zedd       ZddZd	dZy)
r(   c                6    | j                   j                         S r-   r*   _backend_versionr/   s    r1   r   zLazyNamespace._backend_versiony       ##4466r3   c                     y r-   r.   r/   s    r1   
_lazyframezLazyNamespace._lazyframe}   s    7:r3   c               8    | j                   j                  |      S r-   )r   
_is_nativers   s     r1   ru   zLazyNamespace.is_native   s    ))#..r3   c                   | j                   j                  |      r| j                   j                  ||       S dt        |      j                  }t        |      Nr6   zUnsupported type: )r   r   rq   typery   	TypeErrorr0   rp   msgs      r1   rq   zLazyNamespace.from_native   sO    ??%%d+??..tT.BB"4:#6#6"9:nr3   Nrv   ztuple[int, ...])rv   ztype[CompliantLazyFrameT])rt   r   rv   zTypeIs[NativeFrameT])rp   zNativeFrameT | Anyrv   r   )ry   rz   r{   r}   r   r   ru   rq   r.   r3   r1   r(   r(   u   s0     7 7 : :/r3   r(   c                  .   e Zd Zedd       Zedd       Zedd       Z	 d	 	 	 	 	 	 	 ddZ	 d	 	 	 	 	 	 	 ddZddZ	e
dd       Ze
dd	       Z	 	 	 	 d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y)#r'   c                6    | j                   j                         S r-   r   r/   s    r1   r   zEagerNamespace._backend_version   r   r3   c                     y r-   r.   r/   s    r1   
_dataframezEagerNamespace._dataframe   s    36r3   c                     y r-   r.   r/   s    r1   _serieszEagerNamespace._series   s    03r3   Nc                     y r-   r.   )r0   whenthen	otherwises       r1   _if_then_elsezEagerNamespace._if_then_else   s    
 r3   c           	          d fd} j                   j                  |t        dd       t        dd             S )Nc                   | j                        }|j                  }| j                  	      }2 |||      \  }}j                  |j                  |j                        }3 |||      \  }}j                  |j                  |j                        }nP| j                        } ||||      \  }}}j                  |j                  |j                  |j                        }|j	                  |      gS r-   )_evaluate_single_output_expr_align_full_broadcastr   native_with_native)
dfpredicate_salignthen_sresultotherwise_sr   	predicater0   r   s
         r1   funcz&EagerNamespace.when_then.<locals>.func   s    99)DK55E44T:F &+K&@#V++K,>,>N &+K&@#V++K,>,>N ==iH38fk3Z0V[++&&{7I7I ''/00r3   _evaluate_output_namesc                    dgS )Nliteralr.   )_dfs    r1   <lambda>z*EagerNamespace.when_then.<locals>.<lambda>   s    YK r3   _alias_output_names)r   evaluate_output_namesalias_output_namesr7   )r   r   rv   zSequence[EagerSeriesT_co])r2   _from_callablegetattr)r0   r   r   r   r   s   ```` r1   	when_thenzEagerNamespace.when_then   sQ    	1 	1( zz((").0G#  't-BDI ) 
 	
r3   c               r    | j                   j                  |      xs | j                  j                  |      S r-   )r   r   r   rs   s     r1   ru   zEagerNamespace.is_native   s+    ))#.N$,,2I2I#2NNr3   c                    y r-   r.   ro   s     r1   rq   zEagerNamespace.from_native   s    EHr3   c                    y r-   r.   ro   s     r1   rq   zEagerNamespace.from_native   s    FIr3   c               (   | j                   j                  |      r| j                   j                  ||       S | j                  j                  |      r| j                  j                  ||       S dt	        |      j
                  }t        |      r   )r   r   rq   r   r   ry   r   r   s      r1   rq   zEagerNamespace.from_native   s}     ??%%d+??..tT.BB<<""4(<<++D$+??"4:#6#6"9:nr3   c                    y r-   r.   r0   rp   schemas      r1   
from_numpyzEagerNamespace.from_numpy   s    WZr3   c                    y r-   r.   r   s      r1   r   zEagerNamespace.from_numpy   s     r3   c                   t        |      r| j                  j                  |||       S | j                  j                  ||       S )N)r   r7   r6   )r   r   r   r   r   s      r1   r   zEagerNamespace.from_numpy   sB     T"??--d64-PP||&&tT&::r3   c                    y r-   r.   r0   dfss     r1   _concat_diagonalzEagerNamespace._concat_diagonal   rM   r3   c                    y r-   r.   r   s     r1   _concat_horizontalz!EagerNamespace._concat_horizontal   s    r3   c                    y r-   r.   r   s     r1   _concat_verticalzEagerNamespace._concat_vertical   rM   r3   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diagonalr6   )r   r   r   r   NotImplementedErrorr   rq   )r0   rd   re   itemr   r   s         r1   rf   zEagerNamespace.concat   s     (--tt{{--,,,S1FJ**3/FJ**3/F%%**64*@@ .s   Br   )rv   ztype[EagerDataFrameT])rv   ztype[EagerSeriesT_co]r-   )r   r   r   r   r   zNativeSeriesT | Nonerv   r   )r   r   r   r   r   zEagerExprT | Nonerv   r   )rt   r   rv   z$TypeIs[NativeFrameT | NativeSeriesT])rp   r   rv   r   )rp   r   rv   r   )rp   z"NativeFrameT | NativeSeriesT | Anyrv   !EagerDataFrameT | EagerSeriesT_co).)r   Nonerp   r   rv   r   )r   !IntoSchema | Sequence[str] | Nonerp   r#   rv   r   )r   r   rp   zInto1DArray | _2DArrayrv   r   )r   zSequence[NativeFrameT]rv   r   )r   zSequence[NativeFrameT | Any]rv   r   )rd   zIterable[EagerDataFrameT]re   r   rv   r   )ry   rz   r{   r}   r   r   r   r   r   ru   r   rq   r   r   r   r   rf   r.   r3   r1   r'   r'      sl    7 7 6 63 3
 +/	  (	
 
 W[
#
+5
BS
	
@O H HI I6	* Z Z)J	  59	; 2	;$;
 
+; T/	 TA.A8DA	Ar3   r'   N)2
__future__r   	functoolsr   typingr   r   r   r   narwhals._compliant.typingr	   r
   r   r   r   r   r   r   r   r   narwhals._utilsr   r   r   narwhals.dependenciesr   collections.abcr   r   typing_extensionsr   r   narwhals._compliant.selectorsr   r   r   narwhals.typingr   r   r    r!   r"   r#   r$   r|   __all__r%   r&   r(   r'   r.   r3   r1   <module>r      s    "  9 9   
 423H7   J	//>"AB /d
(::;_001
 *I56 )\9:(fA?J67_oz<VWfAr3   