
    Lpj:                    r   S SK Jr  S SKrS SKJrJr  S SKJr  S SKJr  S SK	J
r
JrJr  S SKJr  S SKrS SKJrJr  S SKJr  S S	KJr  S S
KJr  S SKJrJrJr  S SKJ r J!r!  S SK"J#r#J$r$J%r%J&r&  \
(       a%  S SK'J(r(J)r)  S SK*Js  J+r,  S SK"J-r-  S SK.J/r/J0r0J1r1J2r2J3r3   " S S\\\\Rh                  4   \\\4   5      r5g)    )annotationsN)datedatetime)reduce)chain)TYPE_CHECKINGAnycast)DepthTrackingNamespaceLazyNamespaceDaskLazyFrameDaskExpr)DaskSelectorNamespace)align_series_full_broadcastnarwhals_to_native_dtypevalidate_comparand)combine_alias_output_namescombine_evaluate_output_names)Implementationis_nested_literalnot_implementedvalidate_separators)IterableIterator)Version)ConcatMethodCorrelationMethod	IntoDTypeNonNestedLiteralNormalizedPathc                     \ rS rSr% \R
                  rS\S'   \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)S jjrS*S jrS+S jr\" 5       r\" 5       rSr g),DaskNamespace/   r   _implementationc                .    [         R                  " U 5      $ N)r   from_namespaceselfs    T/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/narwhals/_dask/namespace.py	selectorsDaskNamespace.selectors5   s    $33D99    c                    [         $ r(   r   r*   s    r,   _exprDaskNamespace._expr9   s    r/   c                    [         $ r(   r   r*   s    r,   
_lazyframeDaskNamespace._lazyframe=   s    r/   c                   Xl         g r(   _version)r+   versions     r,   __init__DaskNamespace.__init__A   s    r/   ,)	separatorc                   [        USU5        [        R                  " U4SU0UD6nU R                  R	                  X@S9$ )N)sepr?   context)r   ddread_csvr4   from_native)r+   sourcer=   kwdsnatives        r,   scan_csvDaskNamespace.scan_csvD   s@     	Ix6V;;d;**6*@@r/   c                `    U R                   R                  [        R                  " U40 UD6U S9$ )Nr@   )r4   rD   rB   read_parquet)r+   rE   rF   s      r,   scan_parquetDaskNamespace.scan_parquetK   s+    **2??6+JT+JTX*YYr/   c                   ^ ^^ [        T5      (       a#  S[        T5      R                   3n[        U5      eSUU U4S jjnT R	                  US S T R
                  S9$ )Nz<Nested structures are not supported for Dask backend, found c                  > Tb.  [        TTR                  5      n[        R                  " T/USS9nOZ[	        T[
        5      (       a/  [	        T[        5      (       d  Sn[        R                  " T/USS9nO[        R                  " T/SS9nU R                  R                  n[        R                  " X#S9nUS   R                  5       /$ )Nliteral)dtypenamezdate32[pyarrow])rR   )npartitionsr   )r   r8   pdSeries
isinstancer   r   _native_framerS   rB   from_pandas	to_series)dfnative_dtypenative_pd_seriesrS   dask_seriesrQ   r+   values        r,   funcDaskNamespace.lit.<locals>.funcS   s     7t}}M#%99eWLy#Y E4((x2 2
  1#%99eWLy#Y #%99eW9#E **66K..)9SKN,,.//r/   c                    S/$ NrP    _dfs    r,   <lambda>#DaskNamespace.lit.<locals>.<lambda>f   s    ykr/   evaluate_output_namesalias_output_namesr9   rZ   r   returnzlist[dx.Series])r   type__name__NotImplementedErrorr1   r8   )r+   r^   rQ   msgr_   s   ```  r,   litDaskNamespace.litN   se    U##PQUV[Q\QeQePfgC%c**	0 	0" zz"9#MM	  
 	
r/   c                F    SS jnU R                  US S U R                  S9$ )Nc                l    U R                   U R                  S      R                  R                  5       /$ )Nr   )rW   columnssizerY   )rZ   s    r,   r_   DaskNamespace.len.<locals>.funcl   s-    $$RZZ]388BBDEEr/   c                    S/$ )Nlenrc   rd   s    r,   rf   #DaskNamespace.len.<locals>.<lambda>r   s    ugr/   rh   rk   )r1   r8   )r+   r_   s     r,   ry   DaskNamespace.lenk   s0    	F zz"5#MM	  
 	
r/   c               h   ^^ SUU4S jjnU R                  U[        T6 [        T6 U R                  S9$ )Nc                   >^  [         R                  " U 4S jT 5       5      nT(       a	  S U 5       n[        [        R                  [        T /UQ76 5      /$ )Nc              3  2   >#    U  H  o" T5      v   M     g 7fr(   rc   .0erZ   s     r,   	<genexpr>=DaskNamespace.all_horizontal.<locals>.func.<locals>.<genexpr>y        =SUaeeU   c              3  f   #    U  H'  oR                   S :X  a  UOUR                  S5      v   M)     g7f)boolTNrQ   fillnar   ss     r,   r   r   ~   s&     Ufww&0!ahhtnDf   /1)r   from_iterabler   operatorand_r   rZ   seriesexprsignore_nullss   ` r,   r_   *DaskNamespace.all_horizontal.<locals>.funcx   sG    */*=*==SU=S*SF UfU8==*Eb*R6*RSTTr/   callri   rj   r9   rk   r1   r   r   r8   r+   r   r   r_   s    `` r,   all_horizontalDaskNamespace.all_horizontalw   sA    	U 	U zz"?"G95AMM	  
 	
r/   c               h   ^^ SUU4S jjnU R                  U[        T6 [        T6 U R                  S9$ )Nc                   >^  [         R                  " U 4S jT 5       5      nT(       a	  S U 5       n[        [        R                  [        T /UQ76 5      /$ )Nc              3  2   >#    U  H  o" T5      v   M     g 7fr(   rc   r   s     r,   r   =DaskNamespace.any_horizontal.<locals>.func.<locals>.<genexpr>   r   r   c              3  f   #    U  H'  oR                   S :X  a  UOUR                  S5      v   M)     g7f)r   FNr   r   s     r,   r   r      s&     Vv!ww&0!ahhuoEvr   )r   r   r   r   or_r   r   s   ` r,   r_   *DaskNamespace.any_horizontal.<locals>.func   sE    */*=*==SU=S*SFVvV8<<)DR)Q&)QRSSr/   r   rk   r   r   s    `` r,   any_horizontalDaskNamespace.any_horizontal   sA    	T 	T zz"?"G95AMM	  
 	
r/   c                d   ^ SU4S jjnU R                  U[        T6 [        T6 U R                  S9$ )Nc                x   >^  [        T /U 4S jT 5       Q76 n[        R                  " USS9R                  SS9/$ )Nc              3  D   >#    U  H  o" T5        H  o"v   M     M     g 7fr(   rc   r   r1   r   rZ   s      r,   r   =DaskNamespace.sum_horizontal.<locals>.func.<locals>.<genexpr>        >UEE"IqaIaU       axis)r   rB   concatsumrZ   r   r   s   ` r,   r_   *DaskNamespace.sum_horizontal.<locals>.func   sA    0>U>F IIf1-11q19::r/   r   rk   r   r+   r   r_   s    ` r,   sum_horizontalDaskNamespace.sum_horizontal   s:    	; zz"?"G95AMM	  
 	
r/   c               T   U(       d  Sn[        U5      eU Vs/ s H  oDR                  PM     nnUS   R                  nUS:X  a  [        USS  SS9 Hs  u  pGUR                  n[	        U5      [	        U5      :X  a  X:H  R                  5       (       a  MB  SUR                  5        SU SUR                  5        S	3n[        U5      e   [        [        R                  " USS
S9U R                  S9$ US:X  a(  [        [        R                  " USSS9U R                  S9$ [        es  snf )NzNo items to concatenater   verticalr   )startz>unable to vstack, column names don't match:
   - dataframe 0: z
   - dataframe z: 
inner)r   join)r9   diagonalouter)AssertionErrorrW   ru   	enumeratery   allto_list	TypeErrorr   rB   r   r8   ro   )	r+   itemshowrp   idfscols_0rZ   cols_currents	            r,   r   DaskNamespace.concat   s*    +C %%(-.1.Q*"3qr7!4!zz&#f+5L<R;W;W;Y;Y--3^^-=,> ?**+B|/C/C/E.FbJ 
 $C.( 5 !		#AG4dmm  * 		#AG4dmm  "!- /s   D%c                d   ^ SU4S jjnU R                  U[        T6 [        T6 U R                  S9$ )Nc                   > T VVs/ s H  o" U 5        H  o"PM     M     nnn[        U /S U 5       Q76 n[        U /S U 5       Q76 n[        S U5      n[        S U5      n[        SXg-  5      /$ s  snnf )Nc              3  B   #    U  H  oR                  S 5      v   M     g7f)r   Nr   r   s     r,   r   >DaskNamespace.mean_horizontal.<locals>.func.<locals>.<genexpr>   s     6YLqxx{{Ls   c              3  H   #    U  H  nS UR                  5       -
  v   M     g7f)r   N)isnar   s     r,   r   r      s     9Lqa!&&(lLs    "c                
    X-   $ r(   rc   xys     r,   rf   =DaskNamespace.mean_horizontal.<locals>.func.<locals>.<lambda>       aer/   c                
    X-   $ r(   rc   r   s     r,   rf   r      r   r/   z	dx.Series)r   r   r
   )	rZ   r1   r   expr_resultsr   non_nanumdenr   s	           r,   r_   +DaskNamespace.mean_horizontal.<locals>.func   s    +0D5%%)QA)A5LD0Z6YL6YZF09L9F +V4C+V4Cci011 Es   A3r   rk   r   r   s    ` r,   mean_horizontalDaskNamespace.mean_horizontal   s:    	2 zz"?"G95AMM	  
 	
r/   c                d   ^ SU4S jjnU R                  U[        T6 [        T6 U R                  S9$ )Nc                x   >^  [        T /U 4S jT 5       Q76 n[        R                  " USS9R                  SS9/$ )Nc              3  D   >#    U  H  o" T5        H  o"v   M     M     g 7fr(   rc   r   s      r,   r   =DaskNamespace.min_horizontal.<locals>.func.<locals>.<genexpr>   r   r   r   r   )r   rB   r   minr   s   ` r,   r_   *DaskNamespace.min_horizontal.<locals>.func   A    0>U>F IIf1-11q19::r/   r   rk   r   r   s    ` r,   min_horizontalDaskNamespace.min_horizontal   :    	; zz"?"G95AMM	  
 	
r/   c                d   ^ SU4S jjnU R                  U[        T6 [        T6 U R                  S9$ )Nc                x   >^  [        T /U 4S jT 5       Q76 n[        R                  " USS9R                  SS9/$ )Nc              3  D   >#    U  H  o" T5        H  o"v   M     M     g 7fr(   rc   r   s      r,   r   =DaskNamespace.max_horizontal.<locals>.func.<locals>.<genexpr>   r   r   r   r   )r   rB   r   maxr   s   ` r,   r_   *DaskNamespace.max_horizontal.<locals>.func   r   r/   r   rk   r   r   s    ` r,   max_horizontalDaskNamespace.max_horizontal   r   r/   c          	        ^^^ SUUU4S jjnU R                  U[        TS   SS 5      [        TS   SS 5      U R                  S9$ )Nc           
     F  > T VVs/ s H  o" U 5        H  o"PM     M     nnnS [        U /UQ76  5       n[        U /UQ76  Vs/ s H  o"R                  5       PM     nnT(       d>  [        [        R                  U5      n[        U4S jU5      R                  U) S 5      nU/$ [        XESS9 VVs/ s H  u  p(UR                  U) S5      PM     snntpU4S jUS S  5       n[        [        R                  S [        XSS9 5       U	5      nU/$ s  snnf s  snf s  snnf )	Nc              3  J   #    U  H  oR                  [        5      v   M     g 7fr(   )astypestrr   s     r,   r   9DaskNamespace.concat_str.<locals>.func.<locals>.<genexpr>   s      'U!'Us   !#c                   > U T-   U-   $ r(   rc   )r   r   r=   s     r,   rf   8DaskNamespace.concat_str.<locals>.func.<locals>.<lambda>   s    Q]Q->r/   T)strict c              3  R   >#    U  H  nUR                  S TS.[        S9v   M     g7f)r   )TF)metaN)mapr   )r   nmr=   s     r,   r   r     s*      , FF"Y7cFB,s   $'c              3  .   #    U  H  u  pX-   v   M     g 7fr(   rc   )r   r   vs      r,   r   r     s     L'KtqQU'Ks   )r   r   r   r   r   wherezipadd)rZ   r1   r   r   r   	null_masknull_mask_resultresultr   
init_valuevalues
separatorsr   r   r=   s               r,   r_   &DaskNamespace.concat_str.<locals>.func   s*   +0D5%%)QA)A5LD'B2'U'UF ,Gr+YL+YZ+Ya+YIZ#)(,,	#B  >GMM%%t$ 8O 36fPT2U'2UAGGRC$2U'#
'n
  LLLs:d'KL 8O5 E ['s   DD2Dr   _evaluate_output_namesc                    S/$ rb   rc   rd   s    r,   rf   *DaskNamespace.concat_str.<locals>.<lambda>  s    r/   _alias_output_namesr   rk   r1   getattrr8   )r+   r=   r   r   r_   s    ``` r,   
concat_strDaskNamespace.concat_str   sW    	 	: zz")a24K#  'uQx1FMMM  
 	
r/   c                d   ^ SU4S jjnU R                  U[        T6 [        T6 U R                  S9$ )Nc                N   >^  [        T /U 4S jT 5       Q76 n[        S U5      /$ )Nc              3  D   >#    U  H  o" T5        H  o"v   M     M     g 7fr(   rc   r   s      r,   r   7DaskNamespace.coalesce.<locals>.func.<locals>.<genexpr>  r   r   c                $    U R                  U5      $ r(   r   r   s     r,   rf   6DaskNamespace.coalesce.<locals>.func.<locals>.<lambda>   s    r/   )r   r   r   s   ` r,   r_   $DaskNamespace.coalesce.<locals>.func  s0    0>U>F 3V<==r/   r   rk   r   r   s    ` r,   coalesceDaskNamespace.coalesce  s:    	> zz"?"G95AMM	  
 	
r/   Nc           	        ^^^ SUUU4S jjnU R                  U[        TSS 5      [        TSS 5      U R                  S9$ )Nc                   > U R                  T	5      nTb  U R                  T5      OTnU R                  T5      n[        S Tc  TT	4OTT	T4 5       5      (       a@  U R                  UR                  5       5      nU R                  TR	                  5       5      nUn Tc+  [        XU5      u  p5[        X55        UR                  U5      /$ [        XX5      u  p5n[        X55        [        X65        UR                  X65      /$ )Nc              3  N   #    U  H  nUR                   R                  v   M     g 7fr(   )	_metadatais_scalar_like)r   r   s     r,   r   8DaskNamespace.when_then.<locals>.func.<locals>.<genexpr>7  s(      6  **6s   #%)_evaluate_single_output_exprr   _with_nativeto_frame	broadcastr   r   r  )
rZ   
then_valueotherwise_value	conditionnew_dfthen_seriesotherwise_series	otherwise	predicatethens
          r,   r_   %DaskNamespace.when_then.<locals>.func,  s'   88>J ( //	:  77	BI   !( %#T956   ););)=>;;I<O<O<QR	 )D:*&	 #9:#)))4557Rz84I$4 y6y;%%iBCCr/   r  c                    S/$ rb   rc   rd   s    r,   rf   )DaskNamespace.when_then.<locals>.<lambda>S  s    YKr/   r  r   rk   r  )r+   r-  r.  r,  r_   s    ``` r,   	when_thenDaskNamespace.when_then)  sR    "	D "	DH zz").0G#  't-BDIMM  
 	
r/   c               |   ^^^ SUUU4S jjnU R                  U[        TT5      [        TT5      U R                  S9$ )Nc                   > U R                  T5      nU R                  T5      nUR                  UTS9R                  5       /$ )N)method)r"  corrrY   )rZ   a_b_abr6  s      r,   r_    DaskNamespace.corr.<locals>.funcZ  sB    003B003BGGBvG.88:;;r/   r   rk   r   )r+   r:  r;  r6  r_   s    ``` r,   r7  DaskNamespace.corrY  sC    	< 	<
 zz"?1"E9!Q?MM	  
 	
r/   c               |   ^^^ SUUU4S jjnU R                  U[        TT5      [        TT5      U R                  S9$ )Nc                  > U R                  T5      nU R                  T5      nUR                  U5      R                  5       nT	S:X  a  U/$ UR                  5       ) UR                  5       ) -  R	                  5       R                  5       nUT	-
  nX4S-
  -  UR                  US:  5      -  nT	S:X  a  UR                  US:g  S5      nUR                  UR                  5      /$ )Nr   r   g        )r"  covrY   r   r   r  renamerR   )
rZ   r8  r9  cov_samp	n_samplesdenominatorr  r:  r;  ddofs
          r,   r_   DaskNamespace.cov.<locals>.funcg  s    003B003B vvbz++-Hqy z!'')rwwyj0557AACI#d*KQ/+2C2CKRSO2TTFqyi1nc:MM"''*++r/   r   rk   r   )r+   r:  r;  rE  r_   s    ``` r,   r@  DaskNamespace.covf  sC    	, 	,  zz"?1"E9!Q?MM	  
 	
r/   r7   )rl   r   )rl   ztype[DaskExpr])rl   ztype[DaskLazyFrame])r9   r   rl   None)rE   r"   r=   r   rF   r	   rl   r   )rE   r"   rF   r	   rl   r   )r^   r!   rQ   zIntoDType | Nonerl   r   )rl   r   )r   r   r   r   rl   r   )r   r   rl   r   )r   zIterable[DaskLazyFrame]r   r   rl   r   )r   r   r=   r   r   r   rl   r   r(   )r-  r   r.  r   r,  zDaskExpr | Nonerl   r   )r:  r   r;  r   r6  r   rl   r   )r:  r   r;  r   rE  intrl   r   )!rn   
__module____qualname____firstlineno__r   DASKr&   __annotations__propertyr-   r1   r4   r:   rH   rL   rq   ry   r   r   r   r   r   r   r   r  r  r2  r7  r@  r   structlist__static_attributes__rc   r/   r,   r$   r$   /   sA    '5&9&9O^9: :      ;>A$A47AGJA	AZ
:


"

","6B"	"<
$

'
'
+.'
>B'
	'
R
 QU.
!.
)1.
>M.
	.
`

0 FDr/   r$   )6
__future__r   r   r   r   	functoolsr   	itertoolsr   typingr   r	   r
   dask.dataframe	dataframerB   pandasrT   narwhals._compliantr   r   narwhals._dask.dataframer   narwhals._dask.exprr   narwhals._dask.selectorsr   narwhals._dask.utilsr   r   r   narwhals._expression_parsingr   r   narwhals._utilsr   r   r   r   collections.abcr   r   dask.dataframe.dask_expr	dask_exprdxr   narwhals.typingr   r   r    r!   r"   	DataFramer$   rc   r/   r,   <module>rg     s    "  #   + +   E 2 ( : 
  2))' P-2<<78=(23Pr/   