
    Lpj[                       % 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  S SKJrJrJrJrJrJrJr  S SKJr  S S	KJrJrJrJrJrJrJr  S S
KJ r   \(       a  S SK!J"r"J#r#J$r$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/J0r0  S SK1J2r2  S SK3J4r4  S SK5J6r6J7r7  S SK8J9r9  S SK:J;r;  S SK<J=r=  S SK>J?r?  S SKJ@r@  S SKAJBrB  S SKJCrCJDrD  S SKEJFrF  S SKGJHrH  S SKIJJrJJKrK  \2\\\\\4   rL\rMS\NS '     " S! S"\S#   \5      rOg)$    )annotations)reduce)and_)TYPE_CHECKINGAny)issue_warningis_native_spark_like)catch_pyspark_connect_exceptioncatch_pyspark_sql_exceptionevaluate_exprsimport_functionsimport_native_dtypesimport_windownative_to_narwhals_dtype)SQLLazyFrame)ImplementationValidateBackendVersionextend_boolgenerate_temporary_column_namenot_implementedparse_columns_to_dropto_pyarrow_table)InvalidOperationError)IterableIteratorMappingSequence)BytesIO)Path)
ModuleType)	TypeAliasN)Column)BaseDataFrameWindow)SelfTypeIs)CompliantDataFrameAny)SparkLikeExprSparkLikeLazyGroupBySparkLikeNamespace)SparkSession)_EagerAllowedImpl)Version_LimitedContext)	LazyFrame)DType)JoinStrategyUniqueKeepStrategyr"   
Incompletec                     \ rS rSrSS.         S.S jjr\S/S j5       r\S 5       r\S 5       r\S0S j5       r	\
S1S	 j5       r\S2S
 j5       rS3S jrS4S jrS5S jrS6S jrS7S jrS8S jrS9S 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 jrS?S jrS@S jr\SAS j5       rSAS jr SBS jr!SCS jr"      SDS  jr#SES! jr$SFS" jr%SGS# jr&SHS$ jr'        SIS% jr(            SJS& jr)SKS' jr*          SLS( jr+SMS) jr,SNS* jr-\          SOS+ j5       r.\/" 5       r0S,r1g-)PSparkLikeLazyFrame<   F)validate_backend_versionc               t    Xl         X0l        X l        S U l        S U l        U(       a  U R                  5         g g N)_native_frame_implementation_version_cached_schema_cached_columns_validate_backend_version)selfnative_dataframeversionimplementationr;   s        Z/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/narwhals/_spark_like/dataframe.py__init__SparkLikeLazyFrame.__init__@   s:     1A-7;15#**, $    c                6    U R                   R                  5       $ r=   )r?   _backend_versionrD   s    rH   rM   #SparkLikeLazyFrame._backend_versionP   s    ##4466rK   c                R    [         (       a  SSKJn  U$ [        U R                  5      $ )Nr   )	functions)r   sqlframe.baserQ   r   r?   )rD   rQ   s     rH   _FSparkLikeLazyFrame._FT   s!    =/ 4 455rK   c                R    [         (       a  SSKJn  U$ [        U R                  5      $ )Nr   )types)r   rR   rV   r   r?   )rD   rV   s     rH   _native_dtypes!SparkLikeLazyFrame._native_dtypes\   s     =+L#D$8$899rK   c                R    [         (       a  SSKJn  U$ [        U R                  5      $ )Nr   r%   )r   sqlframe.base.windowr&   r   r?   )rD   r&   s     rH   _WindowSparkLikeLazyFrame._Windowd   s     =3MT1122rK   c                    [        U 5      $ r=   r	   )objs    rH   
_is_nativeSparkLikeLazyFrame._is_nativel   s    #C((rK   c              8    U " XR                   UR                  S9$ NrF   rG   )r@   r?   )clsdatacontexts      rH   from_nativeSparkLikeLazyFrame.from_nativep   s    4!1!1'BYBYZZrK   c                6    U R                   R                  U SS9$ )Nlazy)level)r@   	lazyframerN   s    rH   to_narwhalsSparkLikeLazyFrame.to_narwhalst   s    }}&&t6&::rK   c                6    U R                   R                  5       $ r=   )r?   to_native_namespacerN   s    rH   __native_namespace__'SparkLikeLazyFrame.__native_namespace__w   s    ##7799rK   c                D    SSK Jn  U" U R                  U R                  S9$ )Nr   r-   rc   )narwhals._spark_like.namespacer.   r@   r?   )rD   r.   s     rH   __narwhals_namespace__)SparkLikeLazyFrame.__narwhals_namespace__z   s!    E!MM$2F2F
 	
rK   c                    U $ r=    rN   s    rH   __narwhals_lazyframe__)SparkLikeLazyFrame.__narwhals_lazyframe__   s    rK   c                J    U R                  U R                  XR                  S9$ rb   )	__class__nativer?   )rD   rF   s     rH   _with_version SparkLikeLazyFrame._with_version   s'    ~~KK9M9M  
 	
rK   c                J    U R                  XR                  U R                  S9$ rb   )r|   r@   r?   )rD   dfs     rH   _with_nativeSparkLikeLazyFrame._with_native   s'    ~~d6J6J  
 	
rK   c                   SS K nSSKJn  / nU R                  5       nU R                  R
                  nUR                  5        H*  u  pg U" XpR                  5      nUR                  Xh45        M,     UR
                  " U5      $ ! [         aw  n	XV   R                  n
U R                  R                  n[        X5      (       d  [        SU
 SU	< 3[        5        UR                  XaR                   " 5       45         S n	A	M  S n	A	ff = f)Nr   )narwhals_to_native_dtypezCould not convert dtype z to PyArrow dtype, )pyarrownarwhals._arrow.utilsr   collect_schemar}   schemaitemsr@   append	ExceptiondataTyperW   NullType
isinstancer   UserWarningnull)rD   par   r   	nw_schemanative_schemakeyvaluenative_dtypeexcnative_spark_dtype	null_types               rH   _to_arrow_schema#SparkLikeLazyFrame._to_arrow_schema   s    B02'')	**#//+JC37}}M s12! ," yy    0%2%7%@%@" !//88	!"4@@!23E2FFYZ]Y`a# sGGI.//0s   	B
DA,C??Dc                   U R                   R                  5       (       aH  U R                  S:  a8  SS Kn UR                  R                  U R                  R                  5       5      $ U R                   R                  5       (       aV  U R                  S:  aF  SS KnU R                  5       nUR                  R                  U R                  R                  5       US9$ [!        U R                  R#                  5       5      $ ! [         ae  nS[        U5      ;   aP  U R                   Vs0 s H  o3/ _M     Os  snf nnU R                  5       nUR                  R                  XES9s S nA$ e S nAff = f)N)   r   zat least one RecordBatchr   )r?   
is_pysparkrM   r   Tablefrom_batchesr}   _collect_as_arrow
ValueErrorstrcolumnsr   from_pydictis_pyspark_connectfrom_pandastoPandasr   toArrow)rD   r   r   kre   	pa_schemas         rH   _collect_to_arrow$SparkLikeLazyFrame._collect_to_arrow   s+   **,,1F1F1M 	xx,,T[[-J-J-LMM !!44664;P;PSW;W --/I88''(<(<(>y'QQ#DKK$7$7$9::  -S9 BF1NAR%1ND1N $ 5 5 7I88///GGs/   2D   
E/
E*'D430E*#E/)E**E/c              #  l   #    U R                    H   nU R                  R                  U5      v   M"     g 7fr=   )r   rS   col)rD   r   s     rH   _iter_columns SparkLikeLazyFrame._iter_columns   s&     <<C''++c""  s   24c                    U R                   c=  U R                  b  [        U R                  5      OU R                  R
                  U l         U R                   $ r=   )rB   rA   listr   r}   r   rN   s    rH   r   SparkLikeLazyFrame.columns   sM    ' &&2 T[[![[((  
 ###rK   c                   U[         R                  L a@  SSKJn  U" U R                  R                  5       [         R                  SU R                  SS9$ Ub  U[         R                  L a'  SSKJ	n  U" U R                  5       SU R                  SS9$ U[         R                  L a9  SS KnSSKJn  U" UR                  U R                  5       5      SU R                  S9$ S	U 3n[!        U5      e)
Nr   )PandasLikeDataFrameT)rG   r;   rF   validate_column_names)ArrowDataFrame)r;   rF   r   )PolarsDataFrame)r;   rF   zUnsupported `backend` value: )r   PANDASnarwhals._pandas_like.dataframer   r}   r   r@   PYARROWnarwhals._arrow.dataframer   r   POLARSpolarsnarwhals._polars.dataframer   
from_arrowr   )rD   backendkwargsr   r   plr   msgs           rH   _collectSparkLikeLazyFrame._collect   s     n+++K&$$&-44)-&*  ?g)?)??@!&&()-&*	  n+++B"d4467)-  .gY7orK   c                    U R                   R                  5       (       a   U R                  " U40 UD6$ U R                  " U40 UD6$ ! [         a  n[	        U5      S eS nAff = fr=   )r?   r   r   r   r   )rD   r   r   es       rH   collectSparkLikeLazyFrame.collect   sj     2244C}}W777 }}W///  C5a8dBCs   A 
A"AA"c                R    U R                  U R                  R                  " U6 5      $ r=   )r   r}   select)rD   column_namess     rH   simple_select SparkLikeLazyFrame.simple_select   s"      !3!3\!BCCrK   c                   [        U /UQ76 nU VVs/ s H  u  p4UR                  U5      PM     nnnU R                  R                  5       (       a)   U R	                  U R
                  R                  " U6 5      $ U R	                  U R
                  R                  " U6 5      $ s  snnf ! [         a  n[        X`5      S eS nAff = fr=   )	r   aliasr?   r   r   r}   aggr   r   rD   exprsnew_columnscol_namer   new_columns_listr   s          rH   	aggregateSparkLikeLazyFrame.aggregate   s    $T2E2EPQ[MHCIIh/[Q**,,E((:J)KLL   2B!CDD R  E1!:DE   B"'B( (
C2B>>Cc                   [        U /UQ76 nU VVs/ s H  u  p4UR                  U5      PM     nnnU R                  R                  5       (       a)   U R	                  U R
                  R                  " U6 5      $ U R	                  U R
                  R                  " U6 5      $ s  snnf ! [         a  n[        X`5      S eS nAff = fr=   )	r   r   r?   r   r   r}   r   r   r   r   s          rH   r   SparkLikeLazyFrame.select  s    $T2E2GRS{OXCIIh/{S**,,E((););=M)NOO   !3!35E!FGG T  E1!:DEr   c                b   [        U /UQ76 nU R                  R                  5       (       a4   U R                  U R                  R                  [        U5      5      5      $ U R                  U R                  R                  [        U5      5      5      $ ! [         a  n[        X05      S eS nAff = fr=   )	r   r?   r   r   r}   withColumnsdictr   r   )rD   r   r   r   s       rH   with_columnsSparkLikeLazyFrame.with_columns  s    $T2E2**,,E(()@)@kAR)STT   !8!8k9J!KLL  E1!:DEs   2B 
B.B))B.c                N   UR                  U 5      S   nU R                  R                  5       (       a+   U R                  U R                  R                  U5      5      $ U R                  U R                  R                  U5      5      $ ! [         a  n[        X05      S eS nAff = fNr   )_callr?   r   r   r}   wherer   r   )rD   	predicate	conditionr   s       rH   _filterSparkLikeLazyFrame._filter  s    OOD)!,	**,,E(():):9)EFF   !2!29!=>>  E1!:DEs   )B	 	
B$BB$c           
     (   U R                   cu  U R                  R                   Vs0 s HN  nUR                  [	        UR
                  U R                  U R                  U R                  R                  5      _MP     snU l         U R                   $ s  snf r=   )	rA   r}   r   namer   r   r@   rW   sparkSession)rD   fields     rH   r   SparkLikeLazyFrame.schema)  s    & "[[//# 0E 

4NNMM''KK,,	  0#D """#s   ABc                    U R                   $ r=   r   rN   s    rH   r   !SparkLikeLazyFrame.collect_schema7  s    {{rK   c               f    [        XUS9nU R                  U R                  R                  " U6 5      $ )Nstrict)r   r   r}   drop)rD   r   r   columns_to_drops       rH   r   SparkLikeLazyFrame.drop:  s.    /fM  !1!1?!CDDrK   c                V    U R                  U R                  R                  U5      5      $ r=   )r   r}   limit)rD   ns     rH   headSparkLikeLazyFrame.head>  s"      !2!21!566rK   c                   SSK Jn  U" XUS9$ )Nr   r+   )drop_null_keys)narwhals._spark_like.group_byr,   )rD   keysr   r,   s       rH   group_bySparkLikeLazyFrame.group_byA  s     	G#D~NNrK   c                 ^  [        U[        U5      5      nU(       a  U 4S jU 5       nOU 4S jU 5       n[        X4SS9 VVs/ s H  u  pVU" U5      PM     nnnT R                  T R                  R
                  " U6 5      $ s  snnf )Nc              3     >#    U  H8  nU(       a  TR                   R                  OTR                   R                  v   M:     g 7fr=   rS   desc_nulls_lastasc_nulls_last.0drD   s     rH   	<genexpr>*SparkLikeLazyFrame.sort.<locals>.<genexpr>K  s3      #A ,-''$''2H2HH#   A Ac              3     >#    U  H8  nU(       a  TR                   R                  OTR                   R                  v   M:     g 7fr=   )rS   desc_nulls_firstasc_nulls_firstr
  s     rH   r  r  P  s3      #A -.((4773J3JJ#r  Tr   )r   lenzipr   r}   sort)rD   
descending
nulls_lastby
sort_funcsr   sort_f	sort_colss   `       rH   r  SparkLikeLazyFrame.sortH  s     SW5
#J
#J
 58t4TU4T[SVC[4T	U  !1!19!=>> Vs   Bc                 ^  [        U5      n[        U[        U5      5      nU 4S jU 5       n[        X$SS9 VVs/ s H  u  pVU" U5      PM     nnnT R	                  T R
                  R                  " U6 R                  U5      5      $ s  snnf )Nc              3     >#    U  H7  o(       d  TR                   R                  OTR                   R                  v   M9     g 7fr=   r  r
  s     rH   r  +SparkLikeLazyFrame.top_k.<locals>.<genexpr>[  s0      
RYQ1DGG##$''2H2HHRYs   ?ATr   )tupler   r  r  r   r}   r  r   )rD   r   r  reverser  r   r  r  s   `       rH   top_kSparkLikeLazyFrame.top_kX  s    2Ygs2w/
RY

 58t4TU4T[SVC[4T	U  !1!19!=!C!CA!FGG Vs   B	c                z    U(       a  [        U5      OS nU R                  U R                  R                  US95      $ )N)subset)r   r   r}   dropna)rD   r%  s     rH   
drop_nullsSparkLikeLazyFrame.drop_nullsa  s2    !'fT  !3!36!3!BCCrK   c                X   U R                    Vs0 s H  o"UR                  X"5      _M     nnU R                  U R                  R	                  UR                  5        VVs/ s H/  u  pEU R                  R                  U5      R                  U5      PM1     snn5      5      $ s  snf s  snnf r=   )	r   getr   r}   r   r   rS   r   r   )rD   mappingcolnamerename_mappingoldnews         rH   renameSparkLikeLazyFrame.renamee  s    BF,,
BNwW[[22, 	 
   KK=K=Q=Q=ST=SS!'',=ST
 	


 Us   B!6B&c                  U=(       d    U R                   nU R                  U5      =n(       a  Ue[        SU R                   SS9nU R                  R	                  U5      nU(       a?  US:X  a9  UR
                  " U Vs/ s H  oR                  R                  U5      PM     sn6 nOjU(       a9  UR
                  " U Vs/ s H  oR                  R                  U5      PM     sn6 nO*UR                  U R                  R                  S5      5      nUS:X  a+  U R                  R                  S5      R                  U5      n	O)U R                  R                  5       R                  U5      n	U R                  R                  Xi5      R                  U R                  R!                  U5      U R                  R                  S5      :H  5      R#                  U5      n
U R%                  U
5      $ s  snf s  snf )N   
row_index_)prefixlast   none*)r   _check_columns_existr   r[   partitionByorderByrS   r  r  litcountover
row_numberr}   
withColumnfilterr   r   r   )rD   r%  keeporder_bysubset_errortmp_namewindowxexprr   s              rH   uniqueSparkLikeLazyFrame.uniqueo  sr    (DLL--g6656K1!T\\,W))'2^^(%S(Qgg&=&=a&@(%STF^^(%S(Qgg&=&=a&@(%STF^^DGGKKN3F6>77==%**62D77%%',,V4DKK""82VDGGKK)TWW[[^;<T(^ 	
   $$ &T%Ss   =$G)=$G.c          
       ^ ^^^ T R                   nUR                   nUb  [        U5      O/ mUb  [        U5      O/ nUS:w  a  U V	s/ s H  oT;  d  M
  U	PM     sn	OUn
0 [        [        TUSS95      EU
 Vs0 s H  nXU;   a  U U 3OU_M     snEmUR                  R                  TR                  5        VVs/ s H/  u  pT R                  R                  U5      R                  U5      PM1     snn5      mUR                  5       nUS;   a  UR                  UU4S jU 5       5        O%US:X  a  UR                  TR                  5       5        T V	s/ s H  n	TU	   PM
     nn	US:X  a#  [        [        UU 4S j[        XSS9 5       5      O	US:X  a  S OUnUS:X  a  S	OUnT R                  T R                  R!                  TUUS
9R                  U5      5      $ s  sn	f s  snf s  snnf s  sn	f )NfullFr   >   leftcrossinnerc              3  >   >#    U  H  nUT;  d  M  TU   v   M     g 7fr=   rx   )r  r,  r-  	right_on_s     rH   r  *SparkLikeLazyFrame.join.<locals>.<genexpr>  s'      ,G)+ (w',s   
c              3  n   >#    U  H*  u  p[        TR                  U5      [        TU5      :H  v   M,     g 7fr=   )getattrr}   )r  left_key	right_keyother_nativerD   s      rH   r  rT    s6      0+ DKK2glI6VV0s   25TrP  
full_outer)onhow)r   r   r   r  r}   r   r   rS   r   r   copyextendvaluesr   r   r   join)rD   otherr\  left_onright_onsuffixleft_columnsright_columnsleft_on_cright_cols_to_renamer,  r.  r/  	col_orderright_on_remappedon_
how_nativerY  r-  rS  s   `                 @@@rH   r`  SparkLikeLazyFrame.join  s    ||191EtH~2	/6/Bd7m f} &<1));Q< 	
3y(59:
  43G L1HG9VH-gU3
 ||**9G9M9M9OP9OXSTWW[[##C(9OP
 !%%'	,, , 
 F]^22458AB	1^A.	B f} /2 D0 g~  	 &)F]\
  KK\czBII)T
 	
_ = Q" Cs   	GG8G"<6G'
G-c                  ^  T R                   R                  nT R                  5       nU H'  nX4   nXRR                  :w  d  M  SU S3n[	        U5      e   T R
                  n[        U5      S:w  a  Sn[        U5      eT R                  R                  5       (       d  T R                  R                  5       (       a  T R                  T R                  R                  " U Vs/ s H_  nXS   :w  a*  T R                  R                  U5      R!                  U5      O)T R                  R#                  U5      R!                  U5      PMa     sn6 5      $ T R                  R%                  5       (       GaD  SU 4S jjn	T R                  T R                  R                  " U Vs/ s H_  nXS   :w  a*  T R                  R                  U5      R!                  U5      O)T R                  R'                  U5      R!                  U5      PMa     sn6 R)                  T R                  R+                  U	" US   5      5      R                  " U Vs/ s H_  nXS   :w  a*  T R                  R                  U5      R!                  U5      O)T R                  R-                  S 5      R!                  U5      PMa     sn6 5      5      $ Sn[/        U5      es  snf s  snf s  snf )	Nz-`explode` operation not supported for dtype `z`, expected List typer7  zExploding on multiple columns is not supported with SparkLike backend since we cannot guarantee that the exploded columns have matching element counts.r   c                x   > TR                   R                  U 5      TR                   R                  U 5      S:H  -  $ r   )rS   isnull
array_size)r   rD   s    rH   null_condition2SparkLikeLazyFrame.explode.<locals>.null_condition  s0    ww~~h/4773E3Eh3OST3TUUrK   z[Unreachable code, please report an issue at https://github.com/narwhals-dev/narwhals/issues)r   r   returnr#   )r@   dtypesr   Listr   r   r  NotImplementedErrorr?   r   r   r   r}   r   rS   r   r   explode_outeris_sqlframeexplodeunionrB  r=  AssertionError)
rD   r   rv  r   col_to_explodedtyper   r   r   rs  s
   `         rH   r{  SparkLikeLazyFrame.explode  s   %%$$&%N*E#CE7 K) )  ,C00 & ||w<1^  &c****,,0D0D0W0W0Y0Y$$""
 )5	 )5H $qz1 H-33H=!WW228<BB8LM )5		 	 ++--V $$""
 )5	 )5H $qz1 H-33H=!WW__X6<<XFG )5	 %KK&&~gaj'ABII
 -9	 -9  (1:5 !GGKK177A!%T!2!8!8!BC -9		 & lS!!M(s    A&J?A&K A&K	c                   U R                   R                  5       (       a'  US:X  a  Sn[        U5      eUS:X  a  Sn[        U5      eO U(       a  [        U5      OSnUc6  [        [	        U R
                  5      R                  [	        U5      5      5      O
[        U5      nU R                  R                  UUUUS9nUc  UR                  " U6 nU R                  U5      $ )N z<`variable_name` cannot be empty string for sqlframe backend.z9`value_name` cannot be empty string for sqlframe backend.rx   )idsr_  variableColumnNamevalueColumnName)r?   rz  rx  r   setr   
differencer}   unpivotr   r   )	rD   r[  indexvariable_name
value_namer   r  r_  unpivoted_native_frames	            rH   r  SparkLikeLazyFrame.unpivot  s     ++--"T)#..RQ)#..   #eEl=?ZE#dll#..s3x89USUY 	 "&!4!4,&	 "5 "
 =%;%@%@#%F"  !788rK   c           
        U(       d  Sn[        U5      eU R                  R                  5       R                  U R                  R                  U R                  R                  S5      5      R                  " U Vs/ s H  o@R                  R                  U5      PM     sn6 5      S-
  R                  U5      nU R                  U R                  R                  " U/U R                  Q76 5      $ s  snf )Nz9Must pass `order_by` to `with_row_index` for PySpark-liker7  )	TypeErrorrS   r@  r?  r[   r;  r=  r<  r  r   r   r}   r   r   )rD   r   rD  r   rI  row_index_exprs         rH   with_row_index!SparkLikeLazyFrame.with_row_index4  s    MCC. GG %%((Q8@@:BC(Qgg--a0(C
  %+ 	   !3!3N!RT\\!RSS Ds   :$C.c                N    U R                   R                  R                  U5        g r=   )r}   writeparquet)rD   files     rH   sink_parquetSparkLikeLazyFrame.sink_parquetB  s    !!$'rK   c              >   SSK Jn  UnUR                  5       (       + =(       a    UR                  5       S:  nU(       a  UR	                  5       nO7U" S5      (       a  UR                  5       nO[        UR                  SSS95      nU " UR                  U5      UUSS9$ )	Nr   )	find_spec)r   r   r   pandasTi   )namedbuffer_size)rF   rG   r;   )	importlib.utilr  rz  rM   to_arrow	to_pandasr   	iter_rowscreateDataFrame)	rd   framesessionrG   rF   r  implis_spark_v4re   s	            rH   _from_compliant_dataframe,SparkLikeLazyFrame._from_compliant_dataframeE  s     	-++--W43H3H3Ji3W (Dx  ??$DtEFD##D))%)	
 	
rK   )rB   rA   r?   r>   r@   N)
rE   SQLFrameDataFramerF   r1   rG   r   r;   boolru  None)ru  ztuple[int, ...])ru  ztype[Window])r^   zSQLFrameDataFrame | Anyru  zTypeIs[SQLFrameDataFrame])re   r  rf   r2   ru  r'   )ru  LazyFrame[SQLFrameDataFrame])ru  r!   )ru  r.   )ru  r'   )rF   r1   ru  r'   )r   r  ru  r'   )ru  z	pa.Schema)ru  zpa.Table)ru  zIterator[Column])ru  z	list[str])r   z_EagerAllowedImpl | Noner   r   ru  r)   )r   r   ru  r'   )r   r*   ru  r'   )r   r*   ru  r'   )ru  zdict[str, DType])r   Sequence[str]r   r  ru  r'   )r   intru  r'   )r  z'Sequence[str] | Sequence[SparkLikeExpr]r   r  ru  r,   )r  r   r  bool | Sequence[bool]r  r  ru  r'   )r   r  r  zIterable[str]r!  r  ru  r'   )r%  Sequence[str] | Noneru  r'   )r+  zMapping[str, str]ru  r'   )r%  r  rC  r6   rD  r  ru  r'   )ra  r'   r\  r5   rb  r  rc  r  rd  r   ru  r'   )r   r  ru  r'   )
r[  r  r  r  r  r   r  r   ru  r'   )r   r   rD  r  ru  r'   )r  zstr | Path | BytesIOru  r  )
r  r)   r  r/   rG   r   rF   r1   ru  r9   )2__name__
__module____qualname____firstlineno__rI   propertyrM   rS   rW   r[   staticmethodr_   classmethodrg   rm   rq   ru   ry   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r"  r'  r0  rK  r`  r{  r  r  r  r  r   	join_asof__static_attributes__rx   rK   rH   r9   r9   <   s    */-+- 	-
 '- #'- 
-  7 7 6 6 : : 3 3 ) ) [ [;:




!6;,# $ $$/$;>$	$L0/0;>0	0D	EHM? # #E7O;OPTO	O? HD
%$% !	%
 '% 
%:D
D
 	D

 &D
 'D
 D
 
D
L@"D9 9 $9 	9
 9 
9@T( 
$

 
 '
 
 

 
:  !IrK   r9   )r*   r  r  )P
__future__r   	functoolsr   operatorr   typingr   r   narwhals._exceptionsr   narwhals._nativer
   narwhals._spark_like.utilsr   r   r   r   r   r   r   narwhals._sql.dataframer   narwhals._utilsr   r   r   r   r   r   r   narwhals.exceptionsr   collections.abcr   r   r   r   ior   pathlibr    rV   r!   r"   r   r   sqlframe.base.columnr#   sqlframe.base.dataframer$   rZ   r&   typing_extensionsr'   r(   narwhals._compliant.typingr)   narwhals._spark_like.exprr*   r  r,   rt   r.   r/   narwhals._typingr0   r1   r2   narwhals.dataframer3   narwhals.dtypesr4   narwhals.typingr5   r6   r  r7   __annotations__r9   rx   rK   rH   <module>r     s    "   % . 1   1   6EE  +5+.@7BA728,%@%c3S#&=>
I  7g"UVg"rK   