Ë
    ðmxi�!  ã                  ó’  — U d Z ddlmZ ddlmZmZmZmZmZ ddl	m
Z
mZ ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z' ddl(m)Z)m*Z* erSddl+Z,ddl-m.Z. dd	l/m0Z0 dd
l1m2Z2 ddl3m4Z4 ddl5m6Z6 ddl7m8Z8 ddl9m:Z: ddl;m<Z< ddl=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZG dZHdeId<   dgZJ G d„ dee   «      ZKy)z2Narwhals-level equivalent of `CompliantNamespace`.é    )Úannotations)ÚTYPE_CHECKINGÚAnyÚClassVarÚGenericÚoverload)ÚCompliantNamespaceAnyÚCompliantNamespaceT_co)Ú	NativeAnyÚNativeArrowÚ
NativeCuDFÚ
NativeDaskÚNativeDuckDBÚ
NativeIbisÚNativeModinÚNativePandasÚNativePandasLikeÚNativePolarsÚNativeSparkLikeÚNativeUnknownÚ_CuDFDataFrameÚ_CuDFSeriesÚ_ModinDataFrameÚ_ModinSeriesÚis_native_arrowÚis_native_cudfÚis_native_daskÚis_native_duckdbÚis_native_ibisÚis_native_modinÚis_native_pandasÚis_native_polarsÚis_native_pyspark_connectÚis_native_spark_likeÚis_native_sqlframe)ÚImplementationÚVersionN)Ú	TypeAlias©ÚArrowNamespace©ÚDaskNamespace©ÚDuckDBNamespace©ÚIbisNamespace©ÚPandasLikeNamespace©ÚPolarsNamespace©ÚSparkLikeNamespace)
ÚArrowÚBackendÚDaskÚDuckDBÚEagerAllowedÚIbisÚIntoBackendÚ
PandasLikeÚPolarsÚ	SparkLikezWNamespace[PandasLikeNamespace] | Namespace[ArrowNamespace] | Namespace[PolarsNamespace]r(   ÚEagerAllowedNamespaceÚ	Namespacec                  óH  ‡ — e Zd ZU ded<   ej
                  Zded<   d!d„Zd"ˆ fd„Zd#d„Z	e
d$d„«       Ze
d%d	„«       Ze
d&d
„«       Zeed'd„«       «       Zeed(d„«       «       Zeed)d„«       «       Zeed*d„«       «       Zeed+d„«       «       Zeed,d„«       «       Zeed-d„«       «       Zeed.d„«       «       Zee	 	 	 	 d/d„«       «       Ze	 	 	 	 	 	 d0d„«       Zee	 	 	 	 d1d„«       «       Zee	 	 	 	 d2d„«       «       Zeed3d„«       «       Zee	 	 	 	 d4d„«       «       Zee	 	 	 	 d5d„«       «       Zeed6d„«       «       Zeed7d„«       «       Zee	 	 	 	 d8d„«       «       Zee	 	 	 	 d9d„«       «       Zee	 	 	 	 d:d„«       «       Zee	 	 	 	 d;d„«       «       Ze	 	 	 	 	 	 d<d „«       Zˆ xZS )=rB   r
   Ú_compliant_namespacezClassVar[Version]Ú_versionc               ó   — || _         y ©N©rD   )ÚselfÚ	namespaces     úJ/home/htdocs/ttos/venv/lib/python3.12/site-packages/narwhals/_namespace.pyÚ__init__zNamespace.__init__H   s
   € Ø$-ˆÕ!ó    c               ó¦   •— t        ‰| �  |i |¤Ž t        |t        «      r|| _        y dt        › dt        |«      j                  ›�}t        |«      ‚)Nz	Expected z	 but got )ÚsuperÚ__init_subclass__Ú
isinstancer'   rE   ÚtypeÚ__name__Ú	TypeError)ÚclsÚversionÚargsÚkwdsÚmsgÚ	__class__s        €rK   rP   zNamespace.__init_subclass__K   sM   ø€ Ü‰Ñ! 4Ð0¨4Ò0ä�gœwÔ'Ø"ˆC�Làœg˜Y i´°W³×0FÑ0FÐ/IÐJˆCÜ˜C“.Ð rM   c                óH   — dt        | j                  «      j                  › d�S )Nz
Namespace[ú])rR   Ú	compliantrS   ©rI   s    rK   Ú__repr__zNamespace.__repr__T   s!   € ØœD §¡Ó0×9Ñ9Ð:¸!Ð<Ð<rM   c                ó   — | j                   S rG   rH   r^   s    rK   r]   zNamespace.compliantW   s   € à×(Ñ(Ð(rM   c                ó.   — | j                   j                  S rG   )r]   Ú_implementationr^   s    rK   ÚimplementationzNamespace.implementation[   s   € à�~‰~×-Ñ-Ð-rM   c                ó   — | j                   S rG   )rE   r^   s    rK   rV   zNamespace.version_   s   € à�}‰}ÐrM   c                ó   — y rG   © ©rU   Úbackends     rK   Úfrom_backendzNamespace.from_backendc   s   € àUXrM   c                ó   — y rG   rf   rg   s     rK   ri   zNamespace.from_backendg   ó   € àMPrM   c                ó   — y rG   rf   rg   s     rK   ri   zNamespace.from_backendk   s   € àKNrM   c                ó   — y rG   rf   rg   s     rK   ri   zNamespace.from_backendo   s   € àSVrM   c                ó   — y rG   rf   rg   s     rK   ri   zNamespace.from_backends   rk   rM   c                ó   — y rG   rf   rg   s     rK   ri   zNamespace.from_backendw   ó   € àILrM   c                ó   — y rG   rf   rg   s     rK   ri   zNamespace.from_backend{   rp   rM   c                ó   — y rG   rf   rg   s     rK   ri   zNamespace.from_backend   s   € àNQrM   c                ó   — y rG   rf   rg   s     rK   ri   zNamespace.from_backendƒ   ó   € ð ,/rM   c               óR  — t        j                  |«      }|j                  «       }| j                  }|j	                  «       rddlm}  |||¬«      }nÎ|j                  «       rddlm	}  ||¬«      }n®|j                  «       rddlm}  ||¬«      }nŽ|j                  «       rddlm}	  |	||¬«      }nm|j!                  «       rddlm}
  |
|¬«      }nM|j'                  «       rdd	lm}  ||¬«      }n-|j-                  «       rdd
lm}  ||¬«      }nd}t3        |«      ‚ | |«      S )aO  Instantiate from native namespace module, string, or Implementation.

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

        Examples:
            >>> from narwhals._namespace import Namespace
            >>> Namespace.from_backend("polars")
            Namespace[PolarsNamespace]
        r   r1   )rc   rV   r3   )rV   r)   r5   r-   r+   r/   zNot supported Implementation)r&   ri   Ú_backend_versionrE   Úis_pandas_likeÚnarwhals._pandas_like.namespacer2   Ú	is_polarsÚnarwhals._polars.namespacer4   Ú
is_pyarrowÚnarwhals._arrow.namespacer*   Úis_spark_likeÚnarwhals._spark_like.namespacer6   Ú	is_duckdbÚnarwhals._duckdb.namespacer.   Úis_daskÚnarwhals._dask.namespacer,   Úis_ibisÚnarwhals._ibis.namespacer0   ÚAssertionError)rU   rh   ÚimplÚbackend_versionrV   r2   Únsr4   r*   r6   r.   r,   r0   rY   s                 rK   ri   zNamespace.from_backend‰   së   € ô ×*Ñ*¨7Ó3ˆØ×/Ñ/Ó1ˆØ—,‘,ˆà×ÑÔ ÝKá$°DÀ'ÔJ‰Bà�^‰^ÔÝBá ¨Ô1‰BØ�_‰_ÔÝ@á¨Ô0‰BØ×ÑÔ!ÝIá#°4ÀÔI‰BØ�^‰^ÔÝBá ¨Ô1‰BØ�\‰\Œ^Ý>á wÔ/‰BØ�\‰\Œ^Ý>á wÔ/‰Bà0ˆCÜ  Ó%Ð%Ù�2‹wˆrM   c                ó   — y rG   rf   ©rU   Únatives     rK   Úfrom_native_objectzNamespace.from_native_object½   ó   € ð &)rM   c                ó   — y rG   rf   rŠ   s     rK   rŒ   zNamespace.from_native_objectÃ   s	   € ð HKrM   c                ó   — y rG   rf   rŠ   s     rK   rŒ   zNamespace.from_native_objectÉ   s   € àVYrM   c                ó   — y rG   rf   rŠ   s     rK   rŒ   zNamespace.from_native_objectÍ   s   € ð ),rM   c                ó   — y rG   rf   rŠ   s     rK   rŒ   zNamespace.from_native_objectÓ   r�   rM   c                ó   — y rG   rf   rŠ   s     rK   rŒ   zNamespace.from_native_objectÙ   ó   € àTWrM   c                ó   — y rG   rf   rŠ   s     rK   rŒ   zNamespace.from_native_objectÝ   r“   rM   c                ó   — y rG   rf   rŠ   s     rK   rŒ   zNamespace.from_native_objectá   s	   € ð ILrM   c                ó   — y rG   rf   rŠ   s     rK   rŒ   zNamespace.from_native_objectç   s	   € ð GJrM   c                ó   — y rG   rf   rŠ   s     rK   rŒ   zNamespace.from_native_objectí   s   € ð 47rM   c                ó   — y rG   rf   rŠ   s     rK   rŒ   zNamespace.from_native_objectó   rt   rM   c               óÔ  — t        |«      rt        j                  }�n;t        |«      rt        j                  }�nt        |«      rt        j                  }�nt        |«      rGt        |«      rt        j                  n*t        |«      rt        j                  nt        j                  }n¯t        |«      rt        j                  }n“t        |«      rt        j                   }nwt#        |«      rt        j$                  }n[t'        |«      rt        j(                  }n?t+        |«      rt        j,                  }n#dt/        |«      j0                  ›�}t3        |«      ‚| j5                  |«      S )NzUnsupported type: )r"   r&   ÚPOLARSr!   ÚPANDASr   ÚPYARROWr$   r%   ÚSQLFRAMEr#   ÚPYSPARK_CONNECTÚPYSPARKr   ÚDASKr   ÚDUCKDBr   ÚCUDFr    ÚMODINr   ÚIBISrR   Ú__qualname__rT   ri   )rU   r‹   r†   rY   s       rK   rŒ   zNamespace.from_native_objectù   s  € ô
 ˜FÔ#Ü!×(Ñ(ŠDÜ˜fÔ%Ü!×(Ñ(ŠDÜ˜VÔ$Ü!×)Ñ)ŠDÜ! &Ô)ô & fÔ-ô ×'Ò'ô -¨VÔ4ô $×3Ò3ä#×+Ñ+ñ ô ˜FÔ#Ü!×&Ñ&‰DÜ˜fÔ%Ü!×(Ñ(‰DÜ˜FÔ#Ü!×&Ñ&‰DÜ˜VÔ$Ü!×'Ñ'‰DÜ˜FÔ#Ü!×&Ñ&‰Dà&¤t¨F£|×'@Ñ'@Ð&CÐDˆCÜ˜C“.Ð Ø×Ñ Ó%Ð%rM   )rJ   r
   ÚreturnÚNone)rW   r   rV   r'   rX   r   r¦   r§   )r¦   Ústr)r¦   r
   )r¦   r&   )r¦   r'   )rh   r>   r¦   zNamespace[PandasLikeNamespace])rh   r?   r¦   úNamespace[PolarsNamespace])rh   r7   r¦   úNamespace[ArrowNamespace])rh   r@   r¦   úNamespace[SparkLikeNamespace])rh   r:   r¦   úNamespace[DuckDBNamespace])rh   r9   r¦   úNamespace[DaskNamespace])rh   r<   r¦   úNamespace[IbisNamespace])rh   r;   r¦   rA   )rh   úIntoBackend[Backend]r¦   ú Namespace[CompliantNamespaceAny])rU   útype[Namespace[Any]]rh   r¯   r¦   úNamespace[Any])r‹   r   r¦   r©   )r‹   r   r¦   z<Namespace[PandasLikeNamespace[pd.DataFrame, pd.Series[Any]]])r‹   r   r¦   rª   )r‹   r   r¦   r«   )r‹   r   r¦   r¬   )r‹   r   r¦   r­   )r‹   r   r¦   r®   )r‹   r   r¦   z=Namespace[PandasLikeNamespace[_ModinDataFrame, _ModinSeries]])r‹   r   r¦   z;Namespace[PandasLikeNamespace[_CuDFDataFrame, _CuDFSeries]])r‹   r   r¦   z(Namespace[PandasLikeNamespace[Any, Any]])r‹   r   r¦   r°   )rU   r±   r‹   r   r¦   r²   )rS   Ú
__module__r¥   Ú__annotations__r'   ÚMAINrE   rL   rP   r_   Úpropertyr]   rc   rV   r   Úclassmethodri   rŒ   Ú__classcell__)rZ   s   @rK   rB   rB   D   sF  ø… Ø0Ó0Ø")§,¡,€HÐÓ.ó.õ!ó=ð ò)ó ð)ð ò.ó ð.ð òó ðð ØÚXó ó àXàØÚPó ó àPàØÚNó ó àNàØÚVó ó àVàØÚPó ó àPàØÚLó ó àLàØÚLó ó àLàØÚQó ó àQàØð/Ø*ð/à	)ò/ó ó ð/ð ð1Ø!ð1Ø,@ð1à	ò1ó ð1ðf Øð)Ø!ð)à	#ò)ó ó ð)ð ØðKØ!ðKà	EòKó ó ðKð ØÚYó ó àYàØð,Ø$ð,à	&ò,ó ó ð,ð Øð)Ø!ð)à	#ò)ó ó ð)ð ØÚWó ó àWàØÚWó ó àWàØðLØ ðLà	FòLó ó ðLð ØðJØðJà	DòJó ó ðJð Øð7Ø%ð7à	1ò7ó ó ð7ð Øð/Ø"ð/à	)ò/ó ó ð/ð ð&Ø!ð&Ø+4ð&à	ò&ó ô&rM   )LÚ__doc__Ú
__future__r   Útypingr   r   r   r   r   Únarwhals._compliant.typingr	   r
   Únarwhals._nativer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   Únarwhals._utilsr&   r'   ÚpandasÚpdÚtyping_extensionsr(   r|   r*   r‚   r,   r€   r.   r„   r0   rx   r2   rz   r4   r~   r6   Únarwhals._typingr7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   r´   Ú__all__rB   rf   rM   rK   ú<module>rÄ      sš   ðÚ 8å "ç BÕ Bç T÷÷ ÷ ÷ ÷ ÷ ÷ ñ ÷: 4áÛÝ+å8Ý6Ý:Ý6ÝCÝ:ÝA÷÷ ÷ ð (AÐ˜9ó  Aàˆ-€ôU&�Ð.Ñ/õ U&rM   