Ë
    ðmxi‰  ã                  ó@  — d dl mZ d dlZd dlmZmZ er&d dlZd dlmZ	 d dl
Z
d dlmZ d dlZd dlZd dlZd dl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% dd„Z&dd„Z'dd„Z(dd	„Z)dd
„Z*dd„Z+dd„Z,dd„Z-dd„Z.dd„Z/d d„Z0d!d„Z1d"d„Z2d#d„Z3d$d„Z4g d¢Z5y)%é    )ÚannotationsN)ÚTYPE_CHECKINGÚAny)ÚTypeIs)ÚIMPORT_HOOKSÚget_cudfÚget_dask_dataframeÚget_ibisÚ	get_modinÚ	get_numpyÚ
get_pandasÚ
get_polarsÚget_pyarrowÚis_into_dataframeÚis_into_seriesÚis_narwhals_dataframeÚis_narwhals_lazyframeÚis_narwhals_seriesÚis_numpy_arrayÚis_pandas_indexc                óˆ   ‡ ‡— t        «       x}duxr t        ‰ |j                  «      xs t        ˆ ˆfd„t        D «       «      S )zBCheck whether `df` is a pandas DataFrame without importing pandas.Nc              3  óª   •K  — | ]J  }t         j                  j                  |d «      xŠd uxr  t        ‰‰j                  j
                  «      –— ŒL y ­w©N)ÚsysÚmodulesÚgetÚ
isinstanceÚpandasÚ	DataFrame)Ú.0Úmodule_nameÚdfÚmods     €€úV/home/htdocs/ttos/venv/lib/python3.12/site-packages/narwhals/stable/v1/dependencies.pyú	<genexpr>z&is_pandas_dataframe.<locals>.<genexpr>'   sT   øè ø€ ò Vð ô —‘—‘ ¨TÓ2Ð	2ˆ¸4Ð?ò 	1Ü�r˜3Ÿ:™:×/Ñ/Ó0ó	1ñVùó   ƒAA)r   r   r   Úanyr   )r"   Úpdr#   s   ` @r$   Úis_pandas_dataframer)   %   sF   ù€ ä“<ÐˆR¨Ð,ÒM´¸BÀÇÁÓ1Mò ÔRUô Vô (ôVó Sð ó    c                óˆ   ‡ ‡— t        «       x}duxr t        ‰ |j                  «      xs t        ˆˆ fd„t        D «       «      S )z@Check whether `ser` is a pandas Series without importing pandas.Nc              3  óª   •K  — | ]J  }t         j                  j                  |d «      xŠd uxr  t        ‰‰j                  j
                  «      –— ŒL y ­wr   )r   r   r   r   r   ÚSeries)r    r!   r#   Úsers     €€r$   r%   z#is_pandas_series.<locals>.<genexpr>0   sT   øè ø€ ò Tð ô —‘—‘ ¨TÓ2Ð	2ˆ¸4Ð?ò 	/Ü�s˜CŸJ™J×-Ñ-Ó.ó	/ñTùr&   )r   r   r-   r'   r   )r.   r(   r#   s   ` @r$   Úis_pandas_seriesr/   .   sF   ù€ ä“<ÐˆR¨Ð,ÒK´¸CÀÇÁÓ1Kò ÔPSô Tô (ôTó Qð r*   c                óN   — t        «       x}duxr t        | |j                  «      S )z@Check whether `df` is a modin DataFrame without importing modin.N)r   r   r   )r"   Úmpds     r$   Úis_modin_dataframer2   7   s$   € ä“;ÐˆC tÐ+ÒM´
¸2¸s¿}¹}Ó0MÐMr*   c                óN   — t        «       x}duxr t        | |j                  «      S )z>Check whether `ser` is a modin Series without importing modin.N)r   r   r-   )r.   r1   s     r$   Úis_modin_seriesr4   <   s$   € ä“;ÐˆC tÐ+ÒK´
¸3ÀÇ
Á
Ó0KÐKr*   c                óN   — t        «       x}duxr t        | |j                  «      S )z>Check whether `df` is a cudf DataFrame without importing cudf.N)r   r   r   )r"   Úcudfs     r$   Úis_cudf_dataframer7   A   s$   € ä“JÐˆD tÐ+ÒN´
¸2¸t¿~¹~Ó0NÐNr*   c                óN   — t        «       x}duxr t        | |j                  «      S )z<Check whether `ser` is a cudf Series without importing cudf.N)r   r   r-   )r.   r6   s     r$   Úis_cudf_seriesr9   F   s$   € ä“JÐˆD tÐ+ÒL´
¸3ÀÇÁÓ0LÐLr*   c                óN   — t        «       x}duxr t        | |j                  «      S )z>Check whether `df` is a Dask DataFrame without importing Dask.N)r	   r   r   )r"   Údds     r$   Úis_dask_dataframer<   K   s%   € ä$Ó&Ð&ˆB¨tÐ3ÒT¼
À2ÀrÇ|Á|Ó8TÐTr*   c                óv   — t        «       x}duxr* t        | |j                  j                  j                  «      S )z:Check whether `df` is a Ibis Table without importing Ibis.N)r
   r   ÚexprÚtypesÚTable)r"   Úibiss     r$   Úis_ibis_tablerB   P   s.   € ä“JÐˆD tÐ+ÒU´
¸2¸t¿y¹y¿¹×?TÑ?TÓ0UÐUr*   c                óN   — t        «       x}duxr t        | |j                  «      S )zBCheck whether `df` is a Polars DataFrame without importing Polars.N)r   r   r   ©r"   Úpls     r$   Úis_polars_dataframerF   U   ó$   € ä“,ÐˆB tÐ+ÒL´
¸2¸r¿|¹|Ó0LÐLr*   c                óN   — t        «       x}duxr t        | |j                  «      S )zBCheck whether `df` is a Polars LazyFrame without importing Polars.N)r   r   Ú	LazyFramerD   s     r$   Úis_polars_lazyframerJ   Z   rG   r*   c                óN   — t        «       x}duxr t        | |j                  «      S )z@Check whether `ser` is a Polars Series without importing Polars.N)r   r   r-   )r.   rE   s     r$   Úis_polars_seriesrL   _   s$   € ä“,ÐˆB tÐ+ÒJ´
¸3ÀÇ	Á	Ó0JÐJr*   c                óN   — t        «       x}duxr t        | |j                  «      S )zHCheck whether `ser` is a PyArrow ChunkedArray without importing PyArrow.N)r   r   ÚChunkedArray)r.   Úpas     r$   Úis_pyarrow_chunked_arrayrP   d   s$   € ä“-ÐˆB¨Ð,ÒQ´¸CÀÇÁÓ1QÐQr*   c                óN   — t        «       x}duxr t        | |j                  «      S )z@Check whether `df` is a PyArrow Table without importing PyArrow.N)r   r   r@   )r"   rO   s     r$   Úis_pyarrow_tablerR   i   s$   € ä“-ÐˆB¨Ð,ÒI´¸BÀÇÁÓ1IÐIr*   c                óL   — t        | «      xs t        | «      xs t        | «      S )z‚Check whether `df` is a pandas-like DataFrame without doing any imports.

    By "pandas-like", we mean: pandas, Modin, cuDF.
    )r)   r2   r7   )r"   s    r$   Úis_pandas_like_dataframerT   n   s&   € ô
 ˜rÓ"ÒUÔ&8¸Ó&<ÒUÔ@QÐRTÓ@UÐUr*   c                óL   — t        | «      xs t        | «      xs t        | «      S )z€Check whether `ser` is a pandas-like Series without doing any imports.

    By "pandas-like", we mean: pandas, Modin, cuDF.
    )r/   r4   r9   )r.   s    r$   Úis_pandas_like_seriesrV   v   s#   € ô
 ˜CÓ ÒO¤O°CÓ$8ÒO¼NÈ3Ó<OÐOr*   )r   r
   r   r   r   r   r   r7   r9   r<   rB   r   r   r2   r4   r   r   r   r   r)   r   rT   rV   r/   rF   rJ   rL   rP   rR   )r"   r   ÚreturnzTypeIs[pd.DataFrame])r.   r   rW   zTypeIs[pd.Series[Any]])r"   r   rW   zTypeIs[mpd.DataFrame])r.   r   rW   zTypeIs[mpd.Series])r"   r   rW   zTypeIs[cudf.DataFrame])r.   r   rW   zTypeIs[cudf.Series[Any]])r"   r   rW   zTypeIs[dd.DataFrame])r"   r   rW   zTypeIs[ibis.Table])r"   r   rW   zTypeIs[pl.DataFrame])r"   r   rW   zTypeIs[pl.LazyFrame])r.   r   rW   zTypeIs[pl.Series])r.   r   rW   zTypeIs[pa.ChunkedArray[Any]])r"   r   rW   zTypeIs[pa.Table])r"   r   rW   Úbool)r.   r   rW   rX   )6Ú
__future__r   r   Útypingr   r   r6   Údask.dataframeÚ	dataframer;   rA   Úmodin.pandasr   r1   r(   ÚpolarsrE   ÚpyarrowrO   Útyping_extensionsr   Únarwhals.dependenciesr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r)   r/   r2   r4   r7   r9   r<   rB   rF   rJ   rL   rP   rR   rT   rV   Ú__all__© r*   r$   ú<module>rd      s¡   ðÝ "ã 
ß %áÛÝÛÝÛÛÛÝ(÷÷ ÷ ÷ ó ó(óóNó
Ló
Oó
Mó
Uó
Vó
Mó
Mó
Kó
Ró
Jó
VóPò�r*   