
    Lpjw;              
      T   S SK Jr  S SKrS SKJr  S SKJr  S SKJrJ	r	J
r
Jr  S SK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Jr  S SKJr  S SKJrJ r   S SK!J"r"  \(       a$  S SK#J$r$J%r%  S SK&J'r'J(r(J)r)  S SK!J*r*  S SK+J,r,J-r-J.r.J/r/   " S S\\\\\R`                  S4   5      r1g)    )annotationsN)reduce)chain)TYPE_CHECKINGAnyLiteralcastArrowDataFrame	ArrowExpr)ArrowSelectorNamespaceArrowSeries)build_list_arraycast_to_comparable_string_types)EagerNamespace)combine_alias_output_namescombine_evaluate_output_names)Implementation)IteratorSequence)ChunkedArrayAny
Incomplete	ScalarAny)Version)CorrelationMethod	IntoDTypeNormalizedPathPythonLiteralc                     \ rS rSr\R
                  r\S S j5       r\S!S j5       r	\S"S j5       r
S#S jrSS.       S$S j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,S j5       r        S-S jrS*S jrS*S jrS*S jr S.       S/S jjrS0S jr S1S jr!Sr"g)2ArrowNamespace$   c                    [         $ Nr
   selfs    U/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/narwhals/_arrow/namespace.py
_dataframeArrowNamespace._dataframe)   s        c                    [         $ r%   r   r&   s    r(   _exprArrowNamespace._expr-   s    r+   c                    [         $ r%   r   r&   s    r(   _seriesArrowNamespace._series1   s    r+   c                   Xl         g r%   _version)r'   versions     r(   __init__ArrowNamespace.__init__5   s    r+   ,)	separatorc               "   SSK Jn  UR                  S5      =nb9  [        SU5      R                  U:w  a  SU SUR                   S3n[        U5      eOUR                  US9US'   U R                  R                  UR                  " U40 UD6U S	9$ )
Nr   )csvparse_optionszcsv.ParseOptionszD`separator` and `parse_options.delimiter` do not match: `separator`=z and `delimiter`=.)	delimitercontext)
pyarrowr;   getr	   r>   	TypeErrorParseOptionsr)   from_nativeread_csv)r'   sourcer9   kwdsr;   r<   msgs          r(   rF   ArrowNamespace.read_csv8   s     	 !XXo66MC&6@@IM##,+->}?V?V>WWXZ   n$ N %($4$4y$4$ID!**3<<+G$+GQU*VVr+   c                d    SSK Jn  U R                  R                  UR                  " U40 UD6U S9$ )Nr   )parquetr?   )rA   rL   r)   rE   
read_table)r'   rG   rH   pqs       r(   read_parquetArrowNamespace.read_parquetH   s.    )**2==+H4+HRV*WWr+   c                    S U 5       $ )Nc              3  x   #    U  H0  oR                   (       a  UR                  S    OUR                  v   M2     g7f)r   N)
_broadcastnative.0ss     r(   	<genexpr>0ArrowNamespace.extract_native.<locals>.<genexpr>P   s%     J6a||96s   8: )r'   seriess     r(   extract_nativeArrowNamespace.extract_nativeM   s     K6JJr+   c                F   ^  T R                  U 4S jS S T R                  S9$ )Nc                Z   > [         R                  " [        U R                  5      /STS9/$ )Nlen)namer@   )r   from_iterabler`   rT   )dfr'   s    r(   <lambda>$ArrowNamespace.len.<locals>.<lambda>U   s&    ))3ryy>*:PTUr+   c                    S/$ )Nr`   rZ   _dfs    r(   rd   re   X   s    ugr+   evaluate_output_namesalias_output_namesr5   r-   r4   r&   s   `r(   r`   ArrowNamespace.lenR   s-    zz #6#MM  
 	
r+   c                `   ^ ^^^ SUU U4S jjmT R                  U4S jS S T R                  S9$ )Nc                f   > [         R                  " T/STS9nT(       a  UR                  T5      $ U$ )Nliteraldatara   r@   )r   rb   r	   )_arrow_seriesdtyper'   values     r(   _lit_arrow_series-ArrowNamespace.lit.<locals>._lit_arrow_series^   s8    &44W9dL #((//r+   c                   > T" U 5      /$ r%   rZ   )rc   rw   s    r(   rd   $ArrowNamespace.lit.<locals>.<lambda>g   s    )"-.r+   c                    S/$ )Nrp   rZ   rg   s    r(   rd   rz   h   s    ykr+   ri   )rs   r   returnr   rl   )r'   rv   ru   rw   s   ```@r(   litArrowNamespace.lit]   s5    	  	  zz."9#MM	  
 	
r+   c               h   ^^ SUU4S jjnU R                   R                  U[        T6 [        T6 U S9$ )Nc                   >^  [         R                  " U 4S jT 5       5      nT(       a	  S U 5       n[        [        R                  U5      /$ )Nc              3  2   >#    U  H  o" T5      v   M     g 7fr%   rZ   rV   erc   s     r(   rX   >ArrowNamespace.all_horizontal.<locals>.func.<locals>.<genexpr>o        ?Uu!"u   c              3  F   #    U  H  oR                  S SS5      v   M     g7f)TN	fill_nullrU   s     r(   rX   r   q   s     HA++dD$77   !)r   rb   r   operatorand_rc   r[   exprsignore_nullss   ` r(   func+ArrowNamespace.all_horizontal.<locals>.funcn   s:    ,1,?,??Uu?U,UFHH8==&122r+   r   rj   rk   r@   rc   r   r|   zlist[ArrowSeries]r-   _from_callabler   r   r'   r   r   r   s    `` r(   all_horizontalArrowNamespace.all_horizontalm   sA    	3 	3 zz(("?"G95A	 ) 
 	
r+   c               h   ^^ SUU4S jjnU R                   R                  U[        T6 [        T6 U S9$ )Nc                   >^  [         R                  " U 4S jT 5       5      nT(       a	  S U 5       n[        [        R                  U5      /$ )Nc              3  2   >#    U  H  o" T5      v   M     g 7fr%   rZ   r   s     r(   rX   >ArrowNamespace.any_horizontal.<locals>.func.<locals>.<genexpr>}   r   r   c              3  F   #    U  H  oR                  S SS5      v   M     g7f)FNr   rU   s     r(   rX   r      s     I&Q++eT488&r   )r   rb   r   r   or_r   s   ` r(   r   +ArrowNamespace.any_horizontal.<locals>.func|   s:    ,1,?,??Uu?U,UFI&I8<<011r+   r   r   r   r   s    `` r(   any_horizontalArrowNamespace.any_horizontal{   sA    	2 	2 zz(("?"G95A	 ) 
 	
r+   c                d   ^ SU4S jjnU R                   R                  U[        T6 [        T6 U S9$ )Nc                   >^  [         R                  " U 4S jT 5       5      nS U 5       n[        [        R                  U5      /$ )Nc              3  2   >#    U  H  o" T5      v   M     g 7fr%   rZ   rV   exprrc   s     r(   rX   >ArrowNamespace.sum_horizontal.<locals>.func.<locals>.<genexpr>   s     $@%$T"XX%r   c              3  B   #    U  H  oR                  S SSS9v   M     g7f)r   Nstrategylimitr   rU   s     r(   rX   r      s     LAkk!d$k?s   )r   rb   r   r   add)rc   itr[   r   s   `  r(   r   +ArrowNamespace.sum_horizontal.<locals>.func   s7    $$$@%$@@BLLF8<<011r+   r   r   r   r'   r   r   s    ` r(   sum_horizontalArrowNamespace.sum_horizontal   s<    	2
 zz(("?"G95A	 ) 
 	
r+   c                   ^^ U R                   R                  R                  5       mSUU4S jjnU R                  R	                  U[        T6 [        T6 U S9$ )Nc           	     |  >^  [        [        R                  " U 4S jT 5       5      5      nU Vs/ s H  o"R                  SS S S9PM     nnU Vs/ s H%  nSUR	                  5       R                  T5      -
  PM'     nn[        [        R                  U5      [        [        R                  U5      -  /$ s  snf s  snf )Nc              3  2   >#    U  H  o" T5      v   M     g 7fr%   rZ   r   s     r(   rX   ?ArrowNamespace.mean_horizontal.<locals>.func.<locals>.<genexpr>   s     4P%$T"XX%r   r   r      )	tupler   rb   r   is_nullr	   r   r   r   )rc   expr_resultsrW   r[   non_nar   int_64s   `    r(   r   ,ArrowNamespace.mean_horizontal.<locals>.func   s     !4!44P%4P!PQLIUVAkk!d$k?FV<HILqa!))+**622LFI8<<06(,,3OOPP WIs   B4,B9r   r   )r4   dtypesInt64r-   r   r   r   )r'   r   r   r   s    ` @r(   mean_horizontalArrowNamespace.mean_horizontal   s[    %%++-	Q 	Q zz(("?"G95A	 ) 
 	
r+   c                h   ^ ^ SUU 4S jjnT R                   R                  U[        T6 [        T6 T S9$ )Nc                   >^  [        [        R                  " U 4S jT 5       5      5      tp[        [        R
                  U Vs/ s H  o3R                  PM     snUR                  5      n[        XAR                  TR                  S9/$ s  snf )Nc              3  2   >#    U  H  o" T5      v   M     g 7fr%   rZ   r   s     r(   rX   >ArrowNamespace.min_horizontal.<locals>.func.<locals>.<genexpr>        <XRW$T"XXRWr   ra   r5   )
r   r   rb   r   pcmin_element_wiserT   r   ra   r4   rc   init_seriesr[   rW   native_seriesr   r'   s   `    r(   r   +ArrowNamespace.min_horizontal.<locals>.func   v    #()<)<<XRW<X)X#Y K"##%?1hh%?ASASM M0@0@$--X  &@   B
r   r   r   r   s   `` r(   min_horizontalArrowNamespace.min_horizontal   A    	 	 zz(("?"G95A	 ) 
 	
r+   c                h   ^ ^ SUU 4S jjnT R                   R                  U[        T6 [        T6 T S9$ )Nc                   >^  [        [        R                  " U 4S jT 5       5      5      tp[        [        R
                  U Vs/ s H  o3R                  PM     snUR                  5      n[        XAR                  TR                  S9/$ s  snf )Nc              3  2   >#    U  H  o" T5      v   M     g 7fr%   rZ   r   s     r(   rX   >ArrowNamespace.max_horizontal.<locals>.func.<locals>.<genexpr>   r   r   r   )
r   r   rb   r   r   max_element_wiserT   r   ra   r4   r   s   `    r(   r   +ArrowNamespace.max_horizontal.<locals>.func   r   r   r   r   r   r   s   `` r(   max_horizontalArrowNamespace.max_horizontal   r   r+   c               v    U R                   S:  a  [        R                  " USS9$ [        R                  " USS9$ )N)   default)promote_optionsT)promote)_backend_versionpaconcat_tables)r'   dfss     r(   _concat_diagonalArrowNamespace._concat_diagonal   s6      E)##CCCT22r+   c                   [        [        R                  " S U 5       5      5      n[        [        R                  " S U 5       5      5      n[        R
                  R                  X2S9$ )Nc              3  8   #    U  H  oR                   v   M     g 7fr%   )column_namesrV   rc   s     r(   rX   4ArrowNamespace._concat_horizontal.<locals>.<genexpr>   s     (G3R3   c              3  @   #    U  H  oR                  5       v   M     g 7fr%   )itercolumnsr   s     r(   rX   r      s     *Jc>>+;+;cs   )names)listr   rb   r   r   Tablefrom_arrays)r'   r   r   arrayss       r(   _concat_horizontal!ArrowNamespace._concat_horizontal   sP    U(((G3(GGHu***Jc*JJKxx##F#88r+   c                   US   R                   n[        USS  SS9 H-  u  p4UR                   =oR:w  d  M  SU SU SU S3n[        U5      e   [        R                  " U5      $ )Nr   r   )startz>unable to vstack, column names don't match:
   - dataframe 0: z
   - dataframe z: 
)r   	enumeraterC   r   r   )r'   r   cols_0irc   cols_currentrI   s          r(   _concat_verticalArrowNamespace._concat_vertical   s~    Q$$s12wa0EA "/:))/ 1&&'S<.< 
  n$ 1 $$r+   c                .    [         R                  " U 5      $ r%   )r   from_namespacer&   s    r(   	selectorsArrowNamespace.selectors   s    %44T::r+   c               p   ^ ^^^ SUUU U4S jjnT R                   R                  U[        T6 [        T6 T S9$ )Nc                2  >^  [        [        R                  " U 4S jT 5       5      5      nUS   R                  nT	(       a  SOSn[	        T
R
                  " U6 ST06u  pE[        R                  nT
R                  U" / UQUP7SU06UT
R                  S9nU/$ )Nc              3  2   >#    U  H  o" T5      v   M     g 7fr%   rZ   r   s     r(   rX   :ArrowNamespace.concat_str.<locals>.func.<locals>.<genexpr>   s     -I54d2hh5r   r   skip	emit_nullr9   null_handlingr   )
r   r   rb   ra   r   r\   r   binary_join_element_wiser0   r4   )rc   r[   ra   r  r   separator_scalar
concat_str	compliantr   r   r'   r9   s   `       r(   r   'ArrowNamespace.concat_str.<locals>.func   s    %---I5-IIJF!9>>D&K  $C$$f-$9B$ B
 &(%@%@JNBN 0NN % I
 ;r+   r   r   r   )r'   r9   r   r   r   s   ```` r(   r
  ArrowNamespace.concat_str   sA    	 	& zz(("?"G95A	 ) 
 	
r+   c                h   ^ ^ SUU 4S jjnT R                   R                  U[        T6 [        T6 T S9$ )Nc                  >^  TR                   R                  nU" [        R                  " U 4S jT 5       5      6 tp#[	        [
        R                  " UR                  /S U 5       Q76 UR                  TR                  S9/$ )Nc              3  2   >#    U  H  o" T5      v   M     g 7fr%   rZ   r   s     r(   rX   8ArrowNamespace.coalesce.<locals>.func.<locals>.<genexpr>  s     =YSX4d2hhSXr   c              3  8   #    U  H  oR                   v   M     g 7fr%   )rT   rU   s     r(   rX   r    s     5O1hhr   r   )
r0   _align_full_broadcastr   rb   r   r   coalescerT   ra   r4   )rc   alignr   r[   r   r'   s   `   r(   r   %ArrowNamespace.coalesce.<locals>.func   sp    LL66E#(%*=*==YSX=Y*Y#Z KKK 2 2P5O5OP$)) MM r+   r   r   r   r   s   `` r(   r  ArrowNamespace.coalesce   sA    		 		 zz(("?"G95A	 ) 
 	
r+   c                h   ^ ^ SUU 4S jjnT R                   R                  U[        T6 [        T6 T S9$ )Nc                (  >^  [        [        R                  " U 4S jT 5       5      5      nUS   R                  n[        R
                  " S U 5       S[        S U 5       5      06n[        R                  " U/5      n[        XBTR                  S9/$ )Nc              3  2   >#    U  H  o" T5      v   M     g 7fr%   rZ   r   s     r(   rX   6ArrowNamespace.struct.<locals>.func.<locals>.<genexpr>       .JEDtBxxEr   r   c              3  v   #    U  H/  n[        U5      S :  a  UR                  OUR                  S   v   M1     g7f)r   r   N)r`   rT   rU   s     r(   rX   r    s+     J6ac!fqj!((ahhqk96s   79field_namesc              3  8   #    U  H  oR                   v   M     g 7fr%   )ra   rU   s     r(   rX   r    s     !9&Q&&&r   r   )
r   r   rb   ra   r   make_structr   chunked_arrayr   r4   )rc   r[   ra   struct_arrayresultr   r'   s   `    r(   r   #ArrowNamespace.struct.<locals>.func  s|    5...JE.JJKF!9>>D>>J6J!!9&!99L %%|n5F4==IJJr+   r   r   r   r   s   `` r(   structArrowNamespace.struct  sC    		K 		K zz(("?"G95A	 ) 
 	
r+   c                h   ^ ^ SUU 4S jjnT R                   R                  U[        T6 [        T6 T S9$ )Nc                  >^  [        [        R                  " U 4S jT 5       5      5      n[        U Vs/ s H  o"R                  R                  5       PM     sn5      n[        X1S   R                  TR                  S9/$ s  snf )Nc              3  2   >#    U  H  o" T5      v   M     g 7fr%   rZ   r   s     r(   rX   4ArrowNamespace.list.<locals>.func.<locals>.<genexpr>'  r  r   r   r   )	r   r   rb   r   rT   combine_chunksr   ra   r4   )rc   r[   rW   r#  r   r'   s   `   r(   r   !ArrowNamespace.list.<locals>.func&  sd    5...JE.JJKF%&&Q&Qxx'>'>'@&&QRFAY^^T]]STT 'Rs   #Br   r   r   r   s   `` r(   r   ArrowNamespace.list%  sC    	U 	U zz(("?"G95A	 ) 
 	
r+   Nc                    Uc*  [         R                  " [        U5      UR                  5      OUn[        R
                  " UR                  [         R                  " S5      5      X#5      $ )NF)r   nullsr`   typer   if_elser   scalar)r'   whenthen	otherwises       r(   _if_then_elseArrowNamespace._if_then_else3  sG     7@6GBHHSY		2Y	zz$..5)9:DLLr+   c                  ^ ^^ US:w  a  Sn[        U5      eSUUU 4S jjnT R                  R                  U[        TT5      [	        TT5      T S9$ )Npearsonz4Only 'pearson' correlation is supported for Pyarrow.c                <  > U R                  T5      nUR                  nU R                  T5      R                  n[        R                  " [        R                  " U5      [        R                  " U5      5      n[        R
                  " X$5      n[        R
                  " X45      n[        R                  " U[        R                  " U5      5      n[        R                  " U[        R                  " U5      5      n[        R                  " [        R                  " XV5      5      n[        R                  " U5      n[        R                  " U5      n	[        R                  " U[        R                  " X5      5      n
[        R                  " U
/UR                  TS9/$ )Nrq   )_evaluate_single_output_exprrT   r   r   is_validfiltersubtractmeanmultiplystddevdivider   rb   ra   )rc   a_seriesarr1arr2validdev1dev2
covariancestd1std2correlationabr'   s              r(   r   !ArrowNamespace.corr.<locals>.funcA  s   66q9H??D2215<<DGGBKK-r{{4/@AE99T)D99T)D;;tRWWT]3D;;tRWWT]3DT!89J99T?D99T?D))JD0GHK))%X]]D r+   r   r   )NotImplementedErrorr-   r   r   r   )r'   rM  rN  methodrI   r   s   ```   r(   corrArrowNamespace.corr<  s]    YHC%c**	 	. zz(("?1"E9!Q?	 ) 
 	
r+   c                  ^ ^^^ SUUUU 4S jjnT R                   R                  U[        TT5      [        TT5      T S9$ )Nc                d  > U R                  T
5      nUR                  nU R                  T5      R                  n[        R                  " [        R                  " U5      [        R                  " U5      5      n[        R
                  " X$5      n[        R
                  " X45      n[        U5      nUT-
  S::  a)  [        R                  " S [        R                  " 5       S9nO[        R                  " U[        R                  " U5      5      n[        R                  " U[        R                  " U5      5      n[        R                  " [        R                  " Xx5      5      n	[        R                  " U	[        R                  " UT-
  5      5      n[        R                   " U/UR"                  TS9/$ )Nr   )r0  rq   )r;  rT   r   r   r<  r=  r`   r   r2  float64r>  r?  sumr@  rB  r   rb   ra   )rc   rC  rD  rE  rF  nrI  rG  rH  	numeratorrM  rN  ddofr'   s             r(   r    ArrowNamespace.cov.<locals>.func`  s%   66q9H??D2215<<DGGBKK-r{{4/@AE99T)D99T)DD	A4x1}  YYt"**,?
{{47{{47FF2;;t#:;	YYy"))AH2EF
))$HMM4 r+   r   r   r   )r'   rM  rN  rZ  r   s   ```` r(   covArrowNamespace.cov_  sE    	 	. zz(("?1"E9!Q?	 ) 
 	
r+   r3   )r|   ztype[ArrowDataFrame])r|   ztype[ArrowExpr])r|   ztype[ArrowSeries])r5   r   r|   None)rG   r   r9   strrH   r   r|   r   )rG   r   rH   r   r|   r   )r[   r   r|   z%Iterator[ChunkedArrayAny | ScalarAny])r|   r   )rv   r    ru   zIntoDType | Noner|   r   )r   r   r   boolr|   r   )r   r   r|   r   )r   zSequence[pa.Table]r|   zpa.Table)r|   r   )r   r   r9   r_  r   r`  r|   r   r%   )r3  r   r4  r   r5  zChunkedArrayAny | Noner|   r   )rM  r   rN  r   rQ  r   r|   r   )rM  r   rN  r   rZ  intr|   r   )#__name__
__module____qualname____firstlineno__r   PYARROW_implementationpropertyr)   r-   r0   r6   rF   rO   r\   r`   r}   r   r   r   r   r   r   r   r   r   r   r
  r  r%  r   r6  rR  r\  __static_attributes__rZ   r+   r(   r"   r"   $   sZ    %,,O       ;>W$W47WGJW	W X
K"K	.K
	

 



 
"
"3
9

% ; ;

,/
?C
	
:
&
&
$ -1	MM M *	M
 
M!
F
r+   r"   r   )2
__future__r   r   	functoolsr   	itertoolsr   typingr   r   r   r	   rA   r   pyarrow.computecomputer   narwhals._arrow.dataframer   narwhals._arrow.exprr   narwhals._arrow.selectorsr   narwhals._arrow.seriesr   narwhals._arrow.utilsr   r   narwhals._compliantr   narwhals._expression_parsingr   r   narwhals._utilsr   collections.abcr   r   narwhals._arrow.typingr   r   r   r   narwhals.typingr   r   r   r    r   r"   rZ   r+   r(   <module>r{     sv    "    4 4   4 * < . S . +2MM' X
>;	288EVVWX
r+   