
    h/                    
   S SK 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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  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'J(r(  S SK'J)r)  S SK#J*r*   S SK+J
s  J,r-   " S S\\\\R^                  4   \\\4   5      r0 " S S\\S\4   5      r1 " S S \\S\4   \5      r2g! \. a    S SK,r- NQf = f)!    )annotationsN)reduce)TYPE_CHECKING)Iterable)Sequence)CompliantThen)CompliantWhen)LazyNamespace)DepthTrackingNamespaceDaskLazyFrameDaskExpr)DaskSelectorNamespace)align_series_full_broadcast)name_preserving_div)name_preserving_sum)narwhals_to_native_dtype)validate_comparand)combine_alias_output_names)combine_evaluate_output_names)Implementation)DType)ConcatMethod)NonNestedLiteral)Versionc                     \ 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 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)DaskNamespace(   r   _implementationc                .    [         R                  " U 5      $ N)r   from_namespaceselfs    J/var/www/html/env/lib/python3.13/site-packages/narwhals/_dask/namespace.py	selectorsDaskNamespace.selectors.   s    $33D99    c                    [         $ r"   r   r$   s    r&   _exprDaskNamespace._expr2       r)   c                    [         $ r"   r   r$   s    r&   
_lazyframeDaskNamespace._lazyframe6   s    r)   c                   Xl         X l        g r"   _backend_version_version)r%   backend_versionversions      r&   __init__DaskNamespace.__init__:   s     /r)   c           
     p   ^ ^^ SUU U4S jjnT R                  USSS S T R                  T R                  S9$ )Nc                  > Tb.  [        TTR                  5      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name)r=   )npartitionsr   )	r   r4   pdSeries_native_framer>   ddfrom_pandas	to_series)dfnative_dtypenative_pd_seriesr>   dask_seriesr<   r%   values        r&   funcDaskNamespace.lit.<locals>.func?   sw     7t}}M#%99eWLy#Y #%99eW9#E **66K..)9SKN,,.//r)   r   litc                    S/$ Nr;    _dfs    r&   <lambda>#DaskNamespace.lit.<locals>.<lambda>M   s    ykr)   depthfunction_nameevaluate_output_namesalias_output_namesr5   r6   rE   r   returnzlist[dx.Series]r+   r3   r4   )r%   rI   r<   rJ   s   ``` r&   rL   DaskNamespace.lit>   sD    	0 	0 zz"9# 11MM  
 	
r)   c           
     `    SS jnU R                  USSS S U R                  U R                  S9$ )Nc                l    U R                   U R                  S      R                  R                  5       /$ Nr   )rA   columnssizerD   )rE   s    r&   rJ   DaskNamespace.len.<locals>.funcT   s-    $$RZZ]388BBDEEr)   r   lenc                    S/$ )Nrc   rO   rP   s    r&   rR   #DaskNamespace.len.<locals>.<lambda>\   s    ugr)   rT   rY   r[   )r%   rJ   s     r&   rc   DaskNamespace.lenS   s?    	F zz"5# 11MM  
 	
r)   c           
        ^ SU4S jjnU R                  U[        S T 5       5      S-   S[        T6 [        T6 U R                  U R
                  S9$ )Nc                h   >^  [        T /U 4S jT 5       Q76 n[        [        R                  U5      /$ )Nc              3  D   >#    U  H  o" T5        H  o"v   M     M     g 7fr"   rO   .0r+   srE   s      r&   	<genexpr>=DaskNamespace.all_horizontal.<locals>.func.<locals>.<genexpr>e        >UEE"IqaIaU    )r   r   operatorand_rE   seriesexprss   ` r&   rJ   *DaskNamespace.all_horizontal.<locals>.funcc   s3    0>U>F 8==&122r)   c              3  8   #    U  H  oR                   v   M     g 7fr"   _depthrk   xs     r&   rm   /DaskNamespace.all_horizontal.<locals>.<genexpr>k        .1hh      all_horizontalcallrU   rV   rW   rX   r5   r6   rY   r+   maxr   r   r3   r4   r%   ru   rJ   s    ` r&   r   DaskNamespace.all_horizontalb   sY    	3 zz...2*"?"G95A 11MM  
 	
r)   c           
        ^ SU4S jjnU R                  U[        S T 5       5      S-   S[        T6 [        T6 U R                  U R
                  S9$ )Nc                h   >^  [        T /U 4S jT 5       Q76 n[        [        R                  U5      /$ )Nc              3  D   >#    U  H  o" T5        H  o"v   M     M     g 7fr"   rO   rj   s      r&   rm   =DaskNamespace.any_horizontal.<locals>.func.<locals>.<genexpr>v   ro   rp   )r   r   rq   or_rs   s   ` r&   rJ   *DaskNamespace.any_horizontal.<locals>.funct   s3    0>U>F 8<<011r)   c              3  8   #    U  H  oR                   v   M     g 7fr"   rx   rz   s     r&   rm   /DaskNamespace.any_horizontal.<locals>.<genexpr>|   r}   r~   r   any_horizontalr   rY   r   r   s    ` r&   r   DaskNamespace.any_horizontals   sY    	2 zz...2*"?"G95A 11MM  
 	
r)   c           
        ^ SU4S jjnU R                  U[        S T 5       5      S-   S[        T6 [        T6 U R                  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"   rO   rj   s      r&   rm   =DaskNamespace.sum_horizontal.<locals>.func.<locals>.<genexpr>   ro   rp   r   axis)r   rB   concatsumrs   s   ` r&   rJ   *DaskNamespace.sum_horizontal.<locals>.func   sA    0>U>F IIf1-11q19::r)   c              3  8   #    U  H  oR                   v   M     g 7fr"   rx   rz   s     r&   rm   /DaskNamespace.sum_horizontal.<locals>.<genexpr>   r}   r~   r   sum_horizontalr   rY   r   r   s    ` r&   r   DaskNamespace.sum_horizontal   sY    	; zz...2*"?"G95A 11MM  
 	
r)   c                  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                  U R                  S9$ US:X  a3  [        [        R                  " USSS9U R                  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)r5   r6   diagonalouter)AssertionErrorrA   r`   	enumeraterc   allto_list	TypeErrorr   rB   r   r3   r4   NotImplementedError)	r%   itemshowmsgidfscols_0rE   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4 $ 5 5 
 * 		#AG4 $ 5 5  "!5 /s   D;c           
        ^ SU4S jjnU R                  U[        S T 5       5      S-   S[        T6 [        T6 U R                  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[        [        [        U5      [        [        U5      5      /$ s  snnf )Nc              3  B   #    U  H  oR                  S 5      v   M     g7f)r   N)fillnark   rl   s     r&   rm   >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&   rm   r      s     9Lqa!&&(lLs    ")r   r   r   r   )rE   r+   rl   expr_resultsrt   non_naru   s         r&   rJ   +DaskNamespace.mean_horizontal.<locals>.func   s    +0D5%%)QA)A5LD0Z6YL6YZF09L9F $.7.7  Es   A3c              3  8   #    U  H  oR                   v   M     g 7fr"   rx   rz   s     r&   rm   0DaskNamespace.mean_horizontal.<locals>.<genexpr>   r}   r~   r   mean_horizontalr   rY   r   r   s    ` r&   r   DaskNamespace.mean_horizontal   sY    	 zz...2+"?"G95A 11MM  
 	
r)   c           
        ^ SU4S jjnU R                  U[        S T 5       5      S-   S[        T6 [        T6 U R                  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"   rO   rj   s      r&   rm   =DaskNamespace.min_horizontal.<locals>.func.<locals>.<genexpr>   ro   rp   r   r   )r   rB   r   minrs   s   ` r&   rJ   *DaskNamespace.min_horizontal.<locals>.func   A    0>U>F IIf1-11q19::r)   c              3  8   #    U  H  oR                   v   M     g 7fr"   rx   rz   s     r&   rm   /DaskNamespace.min_horizontal.<locals>.<genexpr>   r}   r~   r   min_horizontalr   rY   r   r   s    ` r&   r   DaskNamespace.min_horizontal   Y    	; zz...2*"?"G95A 11MM  
 	
r)   c           
        ^ SU4S jjnU R                  U[        S T 5       5      S-   S[        T6 [        T6 U R                  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"   rO   rj   s      r&   rm   =DaskNamespace.max_horizontal.<locals>.func.<locals>.<genexpr>   ro   rp   r   r   )r   rB   r   r   rs   s   ` r&   rJ   *DaskNamespace.max_horizontal.<locals>.func   r   r)   c              3  8   #    U  H  oR                   v   M     g 7fr"   rx   rz   s     r&   rm   /DaskNamespace.max_horizontal.<locals>.<genexpr>   r}   r~   r   max_horizontalr   rY   r   r   s    ` r&   r   DaskNamespace.max_horizontal   r   r)   c                (    [         R                  XS9$ )N)context)DaskWhen	from_expr)r%   	predicates     r&   whenDaskNamespace.when   s    !!)!::r)   c                  ^^^ S
UUU4S jjnU R                  U[        S T 5       5      S-   S[        TS   SS 5      [        TS   SS 5      U R                  U R                  S	9$ )Nc                J  > 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/$ [        XE5       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 [        X5       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&   rm   9DaskNamespace.concat_str.<locals>.func.<locals>.<genexpr>   s      'U!'Us   !#c                   > U T-   U-   $ r"   rO   )r{   y	separators     r&   rR   8DaskNamespace.concat_str.<locals>.func.<locals>.<lambda>  s    Q]Q->r)    c              3  R   >#    U  H  nUR                  S TS.[        S9v   M     g7f)r   )TF)metaN)mapr   )rk   nmr   s     r&   rm   r     s*      , FF"Y7cFB,s   $'c              3  .   #    U  H  u  pX-   v   M     g 7fr"   rO   )rk   rl   vs      r&   rm   r     s     ?'>tqQU'>s   )r   r   r   rq   r   wherezipadd)rE   r+   rl   r   rt   	null_masknull_mask_resultresultr   
init_valuevalues
separatorsru   ignore_nullsr   s               r&   rJ   &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 36f2H'2HAGGRC$2H'#
'n
  LL?s:'>? 8O5 E ['s   DD3Dc              3  8   #    U  H  oR                   v   M     g 7fr"   rx   rz   s     r&   rm   +DaskNamespace.concat_str.<locals>.<genexpr>  r}   r~   r   
concat_strr   _evaluate_output_namesc                    S/$ rN   rO   rP   s    r&   rR   *DaskNamespace.concat_str.<locals>.<lambda>  s    r)   _alias_output_namesr   rY   )r+   r   getattrr3   r4   )r%   r   r   ru   rJ   s    ``` r&   r   DaskNamespace.concat_str   sv    	 	: zz...2&")a24K#  'uQx1FM 11MM  

 
	
r)   r2   N)rZ   r   )rZ   ztype[DaskExpr])rZ   ztype[DaskLazyFrame])r5   ztuple[int, ...]r6   r   rZ   None)rI   r   r<   zDType | type[DType] | NonerZ   r   )rZ   r   )ru   r   rZ   r   )r   zIterable[DaskLazyFrame]r   r   rZ   r   )r   r   rZ   r   )ru   r   r   r   r   boolrZ   r   )__name__
__module____qualname____firstlineno__r   DASKr    __annotations__propertyr'   r+   r/   r7   rL   rc   r   r   r   r   r   r   r   r   r   __static_attributes__rO   r)   r&   r   r   (   s     '5&9&9O^9: :     
*

"
"
" ", "6B "	 "D
0
$
$;-
-
 -
 	-

 
-
r)   r   c                  2    \ rS rSr\SS j5       rSS jrSrg)r   i&  c                    [         $ r"   )DaskThenr$   s    r&   _thenDaskWhen._then'  r-   r)   c                   U R                  U5      S   n[        U R                  [        5      (       a  U R                  U5      S   nOU R                  n[	        X5      u  n[        X$5        U R                  c  UR                  U5      /$ [        U R                  [        5      (       a  U R                  U5      S   nOUR                  X R                  5      /$ [	        X5      u  n[        X&5        UR                  X&5      /$ r_   )
_condition
isinstance_then_valuer   r   r   _otherwise_valuer   )r%   rE   	condition
then_valuethen_seriesotherwise_valueotherwise_seriess          r&   __call__DaskWhen.__call__+  s    OOB'*	d&&11))"-a0J))J4RD92  (%%i011d++X66"33B7:O%%i1F1FGHH9"N	97!!)>??r)   rO   N)rZ   ztype[DaskThen])rE   r   rZ   zSequence[dx.Series])r  r  r	  r
  r  r  r  r  rO   r)   r&   r   r   &  s     @r)   r   z	dx.Seriesc                      \ rS rSrSrg)r  iA  rO   N)r  r  r	  r
  r  rO   r)   r&   r  r  A  s    sr)   r  )3
__future__r   rq   	functoolsr   typingr   r   r   dask.dataframe	dataframerB   pandasr?   narwhals._compliantr   r	   r
   narwhals._compliant.namespacer   narwhals._dask.dataframer   narwhals._dask.exprr   narwhals._dask.selectorsr   narwhals._dask.utilsr   r   r   r   r   narwhals._expression_parsingr   r   narwhals.utilsr   narwhals.dtypesr   narwhals.typingr   r   r   dask.dataframe.dask_expr	dask_exprdxModuleNotFoundError	DataFramer   r   r  rO   r)   r&   <module>r6     s    "         - - - @ 2 ( : < 4 4 9 3 C F )%,0&--
{
-2<<78=(23{
|@}]KAB @6 S}]KABH R{  s   '	C5 5
DD