
    h0                       % S 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  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  \(       Gan  SSKJr  SSKJr  SSKrSSK r!SSK"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K0J1r1  SS K2J3r3  SS!K4J5r5  SS"K6J7r7  SS#K8J9r9  SS$K:J;r;  SS%K:J<r<  SS&K:J=r=  SS'K:J>r>  \
" S(5      r?S)r@S*\AS+'   \S,   rBS*\AS-'   \S.   rCS*\AS/'   \S0   rDS*\AS1'   \S2   rES*\AS3'   \S4   rFS*\AS5'   \S6   rGS*\AS7'   S8rHS*\AS9'   S:rIS*\AS;'   S<rJS*\AS='   S>rKS*\AS?'   \\B\R                  4   rMS*\AS@'   \\C\R                  4   rOS*\ASA'   \\D\R                  4   rQS*\ASB'   \\E\R                  4   rSS*\ASC'   \\F\R                  \R                  \R                  4   rWS*\ASD'   \\G\R                  \R                  4   rZS*\ASE'   SFr[S*\ASG'   SHr\S*\ASI'   SJr]S*\ASK'   SLr^S*\ASM'   SNr_S*\ASO'   SPr`S*\ASQ'   SRraS*\ASS'   \\R                  \R                  \R                  \R                  \R                  4   rbS*\AST'    " SU SV\	5      rc " SW SX\	5      rd " SY SZ\	5      re " S[ S\\	5      rfS]rgS*\AS^'   S_rhS*\AS`'   SariS*\ASb'   ScrjS*\ASd'   SerkS*\ASf'   SgrlS*\ASh'   SirmS*\ASj'   SkrnS*\ASl'   SmroS*\ASn'   SorpS*\ASp'   SqrqS*\ASr'   SsrrS*\ASt'   Su/rs " Sv Su\\   5      rtSSw jruSSx jrvSSy jrw\rxSz\AS{'   \ryS|\AS}'   \rzS~\AS'   SS jr{SS jr|SS jr}SS jr~SS jrg)z2Narwhals-level equivalent of `CompliantNamespace`.    )annotations)TYPE_CHECKING)Any)Callable)Generic)Literal)Protocol)TypeVar)overload)CompliantNamespaceAny)CompliantNamespaceT_co)get_cudf)	get_modin)
get_pandas)
get_polars)get_pyarrowis_dask_dataframe)is_duckdb_relation)is_pyspark_dataframe)is_sqlframe_dataframe)Implementation)Version)
ModuleType)ClassVarN)	TypeAlias)TypeIsArrowNamespaceDaskNamespaceDuckDBNamespacePandasLikeNamespacePolarsNamespace)SQLFrameDataFrameSparkLikeNamespace)DataFrameLike)NativeFrame)NativeLazyFrame)NativeSeriesTzCallable[[Any], TypeIs[T]]r   _Guardpolars_Polarspyarrow_Arrowdask_Daskduckdb_DuckDB)pandascudfmodin_PandasLike)pysparksqlframe
_SparkLikez_PandasLike | _Arrow
_EagerOnlyz_Polars | _EagerOnly_EagerAllowedz_SparkLike | _Dask | _DuckDB	_LazyOnlyz_Polars | _LazyOnly_LazyAllowedPolarsArrowDaskDuckDB
PandasLike	SparkLikezPandasLike | Arrow	EagerOnlyzEagerOnly | PolarsEagerAllowedzSparkLike | Dask | DuckDBLazyOnlyzLazyOnly | PolarsLazyAllowedz_EagerAllowed | _LazyAllowedBackendNamez)BackendName | Implementation | ModuleTypeIntoBackendzWNamespace[PandasLikeNamespace] | Namespace[ArrowNamespace] | Namespace[PolarsNamespace]EagerAllowedNamespaceEagerAllowedImplementationc                       \ rS rSr% S\S'   Srg)_NativeDask^   type[pd.DataFrame]_partition_type N__name__
__module____qualname____firstlineno____annotations____static_attributes__rW       E/var/www/html/env/lib/python3.13/site-packages/narwhals/_namespace.pyrS   rS   ^   s    ++r_   rS   c                      \ rS rSrSS jrSrg)_NativeCuDFa   c                    g NrW   )selfargskwdss      r`   to_pylibcudf_NativeCuDF.to_pylibcudfb   s    r_   rW   N)rg   r   rh   r   returnr   )rY   rZ   r[   r\   ri   r^   rW   r_   r`   rb   rb   a   s    Cr_   rb   c                       \ rS rSr% S\S'   Srg)_ModinDataFramed   rU   _pandas_classrW   NrX   rW   r_   r`   rm   rm   d   s    ))r_   rm   c                       \ rS rSr% S\S'   Srg)_ModinSeriesg   ztype[pd.Series[Any]]ro   rW   NrX   rW   r_   r`   rq   rq   g   s    ++r_   rq   z'pl.DataFrame | pl.LazyFrame | pl.Series_NativePolarszpa.Table | pa.ChunkedArray[Any]_NativeArrowzduckdb.DuckDBPyRelation_NativeDuckDBzpd.DataFrame | pd.Series[Any]_NativePandasz_ModinDataFrame | _ModinSeries_NativeModinz*_NativePandas | _NativeCuDF | _NativeModin_NativePandasLiker(   _NativeSQLFramezpyspark_sql.DataFrame_NativePySparkz _NativeSQLFrame | _NativePySpark_NativeSparkLikeza_NativePolars | _NativeArrow | _NativePandasLike | _NativeSparkLike | _NativeDuckDB | _NativeDaskNativeKnownz<NativeFrame | NativeSeries | NativeLazyFrame | DataFrameLikeNativeUnknownzNativeKnown | NativeUnknown	NativeAny	Namespacec                    ^  \ rS rSr% S\S'   \R                  rS\S'   SS jrSU 4S jjr	S S jr
\S!S	 j5       r\S"S
 j5       r\S#S j5       r\\S$S j5       5       r\\S%S j5       5       r\\S&S j5       5       r\\S'S j5       5       r\\S(S j5       5       r\\S)S j5       5       r\\S*S j5       5       r\\S+S j5       5       r\      S,S j5       r\\    S-S j5       5       r\\    S.S j5       5       r\\S/S j5       5       r\\    S0S j5       5       r\\    S1S j5       5       r\\S2S j5       5       r\\    S3S j5       5       r\      S4S j5       rSrU =r$ )5r   }   r   _compliant_namespacezClassVar[Version]_versionc                   Xl         g re   r   )rf   	namespaces     r`   __init__Namespace.__init__   s    $-!r_   c                  > [         TU ]  " U0 UD6  [        U[        5      (       a  Xl        g S[         S[        U5      R                  < 3n[        U5      e)Nz	Expected z	 but got )super__init_subclass__
isinstancer   r   typerY   	TypeError)clsversionrg   rh   msg	__class__s        r`   r   Namespace.__init_subclass__   sN    !4040gw''"LgYiW0F0F/IJCC. r_   c                H    S[        U R                  5      R                   S3$ )Nz
Namespace[])r   	compliantrY   rf   s    r`   __repr__Namespace.__repr__   s!    D099:!<<r_   c                    U R                   $ re   r   r   s    r`   r   Namespace.compliant   s    (((r_   c                .    U R                   R                  $ re   )r   _implementationr   s    r`   implementationNamespace.implementation   s    ~~---r_   c                    U R                   $ re   )r   r   s    r`   r   Namespace.version   s    }}r_   c                   g re   rW   r   backends     r`   from_backendNamespace.from_backend       UXr_   c                   g re   rW   r   s     r`   r   r          MPr_   c                   g re   rW   r   s     r`   r   r      s    KNr_   c                   g re   rW   r   s     r`   r   r      s    SVr_   c                   g re   rW   r   s     r`   r   r      r   r_   c                   g re   rW   r   s     r`   r   r      s    ILr_   c                   g re   rW   r   s     r`   r   r      s    NQr_   c                   g re   rW   r   s     r`   r   r          WZr_   c               ,   [         R                  " U5      nUR                  5       nU R                  nUR	                  5       (       a  SSKJn  U" X#US9nOUR                  5       (       a  SSKJ	n  U" X4S9nOUR                  5       (       a  SSKJn  U" X4S9nOtUR                  5       (       a  SSKJn	  U	" X#US9nOQUR!                  5       (       a  SSKJn
  U
" X4S9nO/UR'                  5       (       a  SS	KJn  U" X4S9nOS
n[-        U5      eU " U5      $ )a0  Instantiate from native namespace module, string, or Implementation.

Arguments:
    backend: native namespace module, string, or Implementation.

Returns:
    Namespace.

Examples:
    >>> from narwhals._namespace import Namespace
    >>> Namespace.from_backend("polars")
    Namespace[PolarsNamespace]
r   r$   )r   backend_versionr   r&   )r   r   r   r)   r"   r    zNot supported Implementation)r   r   _backend_versionr   is_pandas_likenarwhals._pandas_like.namespacer%   	is_polarsnarwhals._polars.namespacer'   
is_pyarrownarwhals._arrow.namespacer   is_spark_likenarwhals._spark_like.namespacer*   	is_duckdbnarwhals._duckdb.namespacer#   is_dasknarwhals._dask.namespacer!   AssertionError)r   r   implr   r   r%   nsr'   r   r*   r#   r!   r   s                r`   r   r      s    " **73//1,,  K$#gB ^^B RB__@QB!!I##gB ^^B RB\\^^>PB0C %%2wr_   c                   g re   rW   r   natives     r`   from_native_objectNamespace.from_native_object        &)r_   c                   g re   rW   r   s     r`   r   r      s     *-r_   c                   g re   rW   r   s     r`   r   r      r   r_   c                   g re   rW   r   s     r`   r   r     s     ),r_   c                   g re   rW   r   s     r`   r   r   	  r   r_   c                   g re   rW   r   s     r`   r   r     r   r_   c                   g re   rW   r   s     r`   r   r     s     ,/r_   c                  [        U5      (       a  U R                  [        R                  5      $ [	        U5      (       a  U R                  [        R
                  5      $ [        U5      (       a  U R                  [        R                  5      $ [        U5      (       aC  U R                  [        U5      (       a  [        R                  5      $ [        R                  5      $ [        U5      (       a  U R                  [        R                  5      $ [        U5      (       a  U R                  [        R                  5      $ [!        U5      (       a  U R                  [        R"                  5      $ [%        U5      (       a  U R                  [        R&                  5      $ S[)        U5      R*                  < 3n[-        U5      e)NzUnsupported type: )is_native_polarsr   r   POLARSis_native_pandasPANDASis_native_arrowPYARROWis_native_spark_likeis_native_sqlframeSQLFRAMEPYSPARKis_native_daskDASKis_native_duckdbDUCKDBis_native_cudfCUDFis_native_modinMODINr   r[   r   )r   r   r   s      r`   r   r     s^    F####N$9$9::f%%##N$9$9::V$$##N$:$:;;!&))##%f-- ''  $++ 
 F####N$7$788f%%##N$9$9::F####N$7$788V$$##N$8$899&tF|'@'@&CDCC. r_   r   )r   r   rk   None)rg   r   r   r   rh   r   rk   r   )rk   str)rk   r   )rk   r   )rk   r   )r   rH   rk   Namespace[PandasLikeNamespace])r   rD   rk   Namespace[PolarsNamespace])r   rE   rk   Namespace[ArrowNamespace])r   rI   rk   Namespace[SparkLikeNamespace])r   rG   rk   Namespace[DuckDBNamespace])r   rF   rk   Namespace[DaskNamespace])r   rK   rk   rP   )r   r   rk    Namespace[CompliantNamespaceAny])r   type[Namespace[Any]]r   rO   rk   Namespace[Any])r   rs   rk   r   )r   rx   rk   r   )r   rt   rk   r   )r   r{   rk   r   )r   ru   rk   r   )r   rS   rk   r   )r   r}   rk   r   )r   r   r   r~   rk   r   )rY   rZ   r[   r\   r]   r   MAINr   r   r   r   propertyr   r   r   r   classmethodr   r   r^   __classcell__)r   s   @r`   r   r   }   st   00"),,H..!= ) ) . .   X  XP  PN  NV  VP  PL  LQ  QZ  Z4!4,74	4 4l )")	#)  ) -&-	'-  - Z  Z,%,	&,  , )")	#)  ) X  X/"/	)/  / !!!+4!	! !r_   c                    [        5       =nS L=(       a,    [        XR                  UR                  UR                  45      $ re   )r   r   	DataFrameSeries	LazyFrame)objpls     r`   r   r   6  s8    ,Bt+ 
llBIIr||41 r_   c                n    [        5       =nS L=(       a!    [        XR                  UR                  45      $ re   )r   r   TableChunkedArray)r   pas     r`   r   r   <  s2    -B, hh(2 r_   c                    [        U 5      $ re   r   r   s    r`   r   r   B  s    S!!r_   z_Guard[_NativeDuckDB]r   z_Guard[_NativeSQLFrame]r   z_Guard[_NativePySpark]is_native_pysparkc                n    [        5       =nS L=(       a!    [        XR                  UR                  45      $ re   )r   r   r   r   )r   pds     r`   r   r   K  s+    ,Bt+Z
3ryy@Y0ZZr_   c                n    [        5       =nS L=(       a!    [        XR                  UR                  45      $ re   )r   r   r   r   )r   mpds     r`   r   r   O  s2    ;Ct+ 
mmSZZ(1 r_   c                n    [        5       =nS L=(       a!    [        XR                  UR                  45      $ re   )r   r   r   r   )r   r:   s     r`   r   r   U  s2    JDt+ 
nndkk*1 r_   c                `    [        U 5      =(       d    [        U 5      =(       d    [        U 5      $ re   )r   r   r   r   s    r`   is_native_pandas_liker  [  s#    L!4L8Lr_   c                <    [        U 5      =(       d    [        U 5      $ re   )r   r   r   s    r`   r   r   a  s    S!<%7%<<r_   )r   r   rk   zTypeIs[_NativePolars])r   r   rk   zTypeIs[_NativeArrow])r   r   rk   zTypeIs[_NativeDask])r   r   rk   zTypeIs[_NativePandas])r   r   rk   zTypeIs[_NativeModin])r   r   rk   zTypeIs[_NativeCuDF])r   r   rk   zTypeIs[_NativePandasLike])r   r   rk   zTypeIs[_NativeSparkLike])__doc__
__future__r   typingr   r   r   r   r   r	   r
   r   narwhals._compliant.typingr   r   narwhals.dependenciesr   r   r   r   r   r   r   r   r   narwhals.utilsr   r   typesr   r   r7   r9   r   r1   r   r3   r   pyspark.sqlsqlpyspark_sqltyping_extensionsr   r   r   r   r   r!   r   r#   r   r%   r   r'   narwhals._spark_like.dataframer(   r   r*   narwhals.typingr+   r,   r-   r.   r/   r0   r]   r2   r4   r6   r8   r<   r?   r@   rA   rB   rC   r   rD   r   rE   r   rF   r   rG   r   r   r   rH   r   r   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rS   rb   rm   rq   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   __all__r   r   r   r   r   r   r   r   r   r   r  r   rW   r_   r`   <module>r     s   8 "          < = * + , , - 3 4 6 7 ) " %+(86:C:@A-+/,A4FI4 *GY*	*FI*vE9& *GY*$%>?K?#$9:J	:2J	25M959Iy93L)3)>)> >?FI?v~'='==>E9>e^%8%889D)9)>)> >?FI?#^**N,?,?AUAUUJ	  #N**N,C,CCIy  0Iy/2L)25Hi50K0;K;HKH (A9  A,3		-	 ,h ,Dh D*( *,x ,  IM9H?L)?8M98>M9>>L)>#OyO!4OY4 7NI7"DiD AK  AF 9  9Iy8-v!./ v!r" += ' <.C + C,@ ) @[=r_   