Ë
    ÚÍ:jd  ã                  óê  — d dl mZ d dlZd dlmZmZ d dlmZ erhd dlmZ d dl	Z	d dl
mZ d dl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 d dlmZ d dlm Z  d d	l!mZm"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/  e0dg«      Z1dcd„Z2dcd„Z3dcd„Z4dcd„Z5dcd„Z6dcd„Z7dcd„Z8dcd„Z9dcd„Z:dcd„Z;dcd„Z<dcd„Z=dcd„Z>dcd„Z?dcd„Z@dcd„ZAddd„ZBded„ZCdfd„ZDdfd „ZEdgd!„ZFdgd"„ZGdhd#„ZHdid$„ZIdid%„ZJdjd&„ZKdjd'„ZLdkd(„ZMdld)„ZNdld*„ZOdmd+„ZPdmd,„ZQdnd-„ZRdod.„ZSdpd/„ZTdpd0„ZUdqd1„ZVdqd2„ZWdrd3„ZXdrd4„ZYdsd5„ZZdsd6„Z[dtd7„Z\dtd8„Z]dud9„Z^dud:„Z_dvd;„Z`dwd<„Zadxd=„Zbdxd>„Zcdyd?„Zddyd@„ZedzdA„Zfd{dB„Zgd|dC„Zhd}dD„Zid}dE„Zjd~dF„Zkd~dG„ZlddH„ZmddI„Znd€dJ„Zod�dK„Zpd‚dL„Zqd‚dM„ZrdƒdN„Zsd„dO„Ztd…dP„Zud…dQ„Zvd†dR„Zwd†dS„Zxd‡dT„ZydˆdU„Zz	 	 	 	 d‰dV„Z{dŠdW„Z|d‹dX„Z}dŒdY„Z~d�dZ„ZdŽd[„Z€d�d\„Z�	 	 	 	 d�d]„Z‚	 	 	 	 d‘d^„Zƒd’d_„Z„d’d`„Z…	 	 	 	 d’da„Z†g db¢Z‡y)“é    )ÚannotationsN)ÚTYPE_CHECKINGÚAny)Úissue_warning)Ú	TypeGuard©Ú	DataFrame)ÚTypeIs)ÚSQLFrameDataFrame)r	   Ú	LazyFrame©ÚSeries)
ÚIntoDataFrameTÚIntoLazyFrameTÚIntoSeriesTÚPandasLikeDTypeÚ_1DArrayÚ_1DArrayIntÚ_2DArrayÚ_NDArrayÚ_NumpyScalarÚ_ShapeTÚ	fireducksc                 óB   — t         j                  j                  dd«      S )z;Get Polars module (if already imported - else return None).ÚpolarsN©ÚsysÚmodulesÚget© ó    új/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/narwhals/dependencies.pyÚ
get_polarsr#   1   ó   € ä�;‰;�?‰?˜8 TÓ*Ð*r!   c                 óB   — t         j                  j                  dd«      S )z;Get pandas module (if already imported - else return None).ÚpandasNr   r    r!   r"   Ú
get_pandasr'   6   r$   r!   c                 óB   — t         j                  j                  dd«      S )zAGet modin.pandas module (if already imported - else return None).zmodin.pandasNr   r    r!   r"   Ú	get_modinr)   ;   s   € ä�;‰;�?‰?˜>¨4Ó0Ð0r!   c                 óB   — t         j                  j                  dd«      S )z9Get cudf module (if already imported - else return None).ÚcudfNr   r    r!   r"   Úget_cudfr,   @   ó   € ä�;‰;�?‰?˜6 4Ó(Ð(r!   c                 óB   — t         j                  j                  dd«      S )z9Get cupy module (if already imported - else return None).ÚcupyNr   r    r!   r"   Úget_cupyr0   E   r-   r!   c                 óB   — t         j                  j                  dd«      S )z<Get pyarrow module (if already imported - else return None).ÚpyarrowNr   r    r!   r"   Úget_pyarrowr3   J   ó   € ä�;‰;�?‰?˜9 dÓ+Ð+r!   c                 óB   — t         j                  j                  dd«      S )z:Get numpy module (if already imported - else return None).ÚnumpyNr   r    r!   r"   Ú	get_numpyr7   O   s   € ä�;‰;�?‰?˜7 DÓ)Ð)r!   c                 óB   — t         j                  j                  dd«      S )z2Get dask (if already imported - else return None).ÚdaskNr   r    r!   r"   Úget_daskr:   T   r-   r!   c                 óB   — t         j                  j                  dd«      S )zCGet dask.dataframe module (if already imported - else return None).zdask.dataframeNr   r    r!   r"   Úget_dask_dataframer<   Y   s   € ä�;‰;�?‰?Ð+¨TÓ2Ð2r!   c                 óB   — t         j                  j                  dd«      S )z;Get duckdb module (if already imported - else return None).ÚduckdbNr   r    r!   r"   Ú
get_duckdbr?   ^   r$   r!   c                 óB   — t         j                  j                  dd«      S )z9Get ibis module (if already imported - else return None).ÚibisNr   r    r!   r"   Úget_ibisrB   c   r-   r!   c                 óŠ   — t        «       x} �t        | d«      r| j                  S t        j                  j                  dd«      S )z>Get dask_expr module (if already imported - else return None).NÚ	dask_expr)r<   ÚhasattrrD   r   r   r   )Údds    r"   Úget_dask_exprrG   h   s8   € ä Ó"Ð"ˆÐ/´G¸BÀÔ4LØ�|‰|ÐÜ�;‰;�?‰?˜;¨Ó-Ð-r!   c                 óB   — t         j                  j                  dd«      S )z<Get pyspark module (if already imported - else return None).ÚpysparkNr   r    r!   r"   Úget_pysparkrJ   o   r4   r!   c                 óB   — t         j                  j                  dd«      S )z@Get pyspark.sql module (if already imported - else return None).zpyspark.sqlNr   r    r!   r"   Úget_pyspark_sqlrL   t   s   € ä�;‰;�?‰?˜=¨$Ó/Ð/r!   c                 óB   — t         j                  j                  dd«      S )zHGet pyspark.sql.connect module (if already imported - else return None).zpyspark.sql.connectNr   r    r!   r"   Úget_pyspark_connectrN   y   s   € ä�;‰;�?‰?Ð0°$Ó7Ð7r!   c                 óB   — t         j                  j                  dd«      S )z=Get sqlframe module (if already imported - else return None).ÚsqlframeNr   r    r!   r"   Úget_sqlframerQ   ~   s   € ä�;‰;�?‰?˜: tÓ,Ð,r!   c          	     óÚ   — t        | «      st        | «      rUddlm} t	        j
                  d«      j                  j                  }d || «      › d|› d|› d|› d�	}t        |t        «       y y )	Nr   ©Úqualified_type_nameé   úYou passed a `ú` to `ú`.

Hint: Instead of e.g. `z(frame)`, did you mean `z(frame.to_native())`?)
Úis_narwhals_dataframeÚis_narwhals_lazyframeÚnarwhals._utilsrT   r   Ú	_getframeÚf_codeÚco_namer   ÚUserWarning)ÚframerT   ÚcallerÚmsgs       r"   Ú_warn_if_narwhals_df_or_lfrc   ƒ   sw   € Ü˜UÔ#Ô'<¸UÔ'CÝ7ä—‘˜qÓ!×(Ñ(×0Ñ0ˆàÑ0°Ó7Ð8¸¸v¸hð G&Ø&, Xð .Ø#˜HÐ$9ð;ð 	ô
 	�cœ;Õ'ð (Dr!   c          	     óÄ   — t        | «      rUddlm} t        j                  d«      j
                  j                  }d || «      › d|› d|› d|› d�	}t        |t        «       y y )	Nr   rS   rU   rV   rW   rX   z(ser)`, did you mean `z(ser.to_native())`?)	Úis_narwhals_seriesr[   rT   r   r\   r]   r^   r   r_   )ÚserrT   ra   rb   s       r"   Ú_warn_if_narwhals_seriesrg   �   sn   € Ü˜#ÔÝ7ä—‘˜qÓ!×(Ñ(×0Ñ0ˆàÑ0°Ó5Ð6°f¸V¸Hð E&Ø&, Xð .Ø#˜HÐ$7ð9ð 	ô
 	�cœ;Õ'ð r!   c                óˆ   ‡ ‡— 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)r   r   r   Ú
isinstancer&   r	   )Ú.0Úmodule_nameÚdfÚmods     €€r"   ú	<genexpr>z'_is_pandas_dataframe.<locals>.<genexpr>Ÿ   sT   øè ø€ ò Vð ô —‘—‘ ¨TÓ2Ð	2ˆ¸4Ð?ò 	1Ü�r˜3Ÿ:™:×/Ñ/Ó0ó	1ñVùó   ƒAA)r'   rk   r	   ÚanyÚIMPORT_HOOKS)rn   Úpdro   s   ` @r"   Ú_is_pandas_dataframeru   �   sF   ù€ ä“<ÐˆR¨Ð,ÒM´¸BÀÇÁÓ1Mò ÔRUô Vô (ôVó Sð r!   c                ó.   — t        | «       t        | «      S )z�Check whether `df` is a pandas DataFrame without importing pandas.

    Warning:
        This method cannot be called on a Narwhals DataFrame/LazyFrame.
    )rc   ru   ©rn   s    r"   Úis_pandas_dataframerx   ¦   ó   € ô ˜rÔ"Ü Ó#Ð#r!   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rj   )r   r   r   rk   r&   r   )rl   rm   ro   rf   s     €€r"   rp   z$_is_pandas_series.<locals>.<genexpr>²   sT   øè ø€ ò Tð ô —‘—‘ ¨TÓ2Ð	2ˆ¸4Ð?ò 	/Ü�s˜CŸJ™J×-Ñ-Ó.ó	/ñTùrq   )r'   rk   r   rr   rs   )rf   rt   ro   s   ` @r"   Ú_is_pandas_seriesr|   °   sF   ù€ ä“<ÐˆR¨Ð,ÒK´¸CÀÇÁÓ1Kò ÔPSô Tô (ôTó Qð r!   c                ó.   — t        | «       t        | «      S )zŒCheck whether `ser` is a pandas Series without importing pandas.

    Warning:
        This method cannot be called on Narwhals Series.
    )rg   r|   ©rf   s    r"   Úis_pandas_seriesr   ¹   ó   € ô ˜SÔ!Ü˜SÓ!Ð!r!   c                óˆ   ‡ ‡— t        «       x}duxr t        ‰ |j                  «      xs t        ˆ ˆfd„t        D «       «      S )zACheck whether `index` is a pandas Index without importing pandas.Nc              3  óª   •K  — | ]J  }t         j                  j                  |d «      xŠd uxr  t        ‰‰j                  j
                  «      –— ŒL y ­wrj   )r   r   r   rk   r&   ÚIndex)rl   rm   Úindexro   s     €€r"   rp   z"is_pandas_index.<locals>.<genexpr>Å   sT   øè ø€ ò Uð ô —‘—‘ ¨TÓ2Ð	2ˆ¸4Ð?ò 	0Ü�u˜cŸj™j×.Ñ.Ó/ó	0ñUùrq   )r'   rk   rƒ   rr   rs   )r„   rt   ro   s   ` @r"   Úis_pandas_indexr…   Ã   sF   ù€ ä“<ÐˆR¨Ð,ÒL´¸EÀ2Ç8Á8Ó1Lò ÔQTô Uô (ôUó Rð 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)   rk   r	   )rn   Úmpds     r"   Ú_is_modin_dataframerˆ   Ì   s$   € ä“;ÐˆC tÐ+ÒM´
¸2¸s¿}¹}Ó0MÐMr!   c                ó.   — t        | «       t        | «      S )z›Check whether `df` is a modin DataFrame without importing modin.

    Warning:
        This method cannot be called on a Narwhals DataFrame/LazyFrame.
    )rc   rˆ   rw   s    r"   Úis_modin_dataframerŠ   Ñ   ó   € ô ˜rÔ"Ü˜rÓ"Ð"r!   c                óN   — t        «       x}duxr t        | |j                  «      S )z>Check whether `ser` is a modin Series without importing modin.N)r)   rk   r   )rf   r‡   s     r"   Ú_is_modin_seriesr�   Û   s$   € ä“;ÐˆC tÐ+ÒK´
¸3ÀÇ
Á
Ó0KÐKr!   c                ó.   — t        | «       t        | «      S )zŠCheck whether `ser` is a modin Series without importing modin.

    Warning:
        This method cannot be called on Narwhals Series.
    )rg   r�   r~   s    r"   Úis_modin_seriesr�   à   s   € ô ˜SÔ!Ü˜CÓ Ð r!   c                óN   — t        «       x}duxr t        | |j                  «      S )z?Check whether `index` is a modin Index without importing modin.N)r)   rk   rƒ   )r„   r‡   s     r"   Úis_modin_indexr‘   ê   s$   € ä“;ÐˆC tÐ+ÒL´
¸5À#Ç)Á)Ó0LÐLr!   c                óN   — t        «       x}duxr t        | |j                  «      S )z>Check whether `df` is a cudf DataFrame without importing cudf.N)r,   rk   r	   )rn   r+   s     r"   Ú_is_cudf_dataframer“   ï   s$   € ä“JÐˆD tÐ+ÒN´
¸2¸t¿~¹~Ó0NÐNr!   c                ó.   — t        | «       t        | «      S )z™Check whether `df` is a cudf DataFrame without importing cudf.

    Warning:
        This method cannot be called on a Narwhals DataFrame/LazyFrame.
    )rc   r“   rw   s    r"   Úis_cudf_dataframer•   ô   ó   € ô ˜rÔ"Ü˜bÓ!Ð!r!   c                óN   — t        «       x}duxr t        | |j                  «      S )z<Check whether `ser` is a cudf Series without importing cudf.N)r,   rk   r   )rf   r+   s     r"   Ú_is_cudf_seriesr˜   þ   s$   € ä“JÐˆD tÐ+ÒL´
¸3ÀÇÁÓ0LÐLr!   c                ó.   — t        | «       t        | «      S )zˆCheck whether `ser` is a cudf Series without importing cudf.

    Warning:
        This method cannot be called on Narwhals Series.
    )rg   r˜   r~   s    r"   Úis_cudf_seriesrš     s   € ô ˜SÔ!Ü˜3ÓÐr!   c                óN   — t        «       x}duxr t        | |j                  «      S )z=Check whether `index` is a cudf Index without importing cudf.N)r,   rk   rƒ   )r„   r+   s     r"   Úis_cudf_indexrœ     s+   € ä“JÐˆD tÐ+ò ´
Øˆt�z‰zó1ð r!   c                óp   — t        «       x}d uxr' t        | |j                  «      xr | j                  dk(  S )NrU   )r0   rk   ÚndarrayÚsize)Úobjr/   s     r"   Úis_cupy_scalarr¡     s9   € ä“Ð	ˆ DÐ(ò 	Ü�s˜DŸL™LÓ)ò	à�H‰H˜‰Mðr!   c                óN   — t        «       x}duxr t        | |j                  «      S )z>Check whether `df` is a Dask DataFrame without importing Dask.N)r<   rk   r	   )rn   rF   s     r"   Ú_is_dask_dataframer£     s%   € ä$Ó&Ð&ˆB¨tÐ3ÒT¼
À2ÀrÇ|Á|Ó8TÐTr!   c                ó.   — t        | «       t        | «      S )z™Check whether `df` is a Dask DataFrame without importing Dask.

    Warning:
        This method cannot be called on a Narwhals DataFrame/LazyFrame.
    )rc   r£   rw   s    r"   Úis_dask_dataframer¥   !  r–   r!   c                óN   — t        «       x}duxr t        | |j                  «      S )zACheck whether `df` is a DuckDB Relation without importing DuckDB.N)r?   rk   ÚDuckDBPyRelation)rn   r>   s     r"   Ú_is_duckdb_relationr¨   +  s-   € ä “lÐ"ˆF¨4Ð/ò ´JØ
ˆF×#Ñ#ó5ð r!   c                ó.   — t        | «       t        | «      S )zšCheck whether `df` is a DuckDB Relation without importing DuckDB.

    Warning:
        This method cannot be called on Narwhals DataFrame/LazyFrame.
    )rc   r¨   rw   s    r"   Úis_duckdb_relationrª   2  r‹   r!   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)rB   rk   ÚexprÚtypesÚTable)rn   rA   s     r"   Ú_is_ibis_tabler¯   <  s.   € ä“JÐˆD tÐ+ÒU´
¸2¸t¿y¹y¿¹×?TÑ?TÓ0UÐUr!   c                ó.   — t        | «       t        | «      S )z“Check whether `df` is a Ibis Table without importing Ibis.

    Warning:
        This method cannot be called on Narwhals DataFrame/LazyFrame.
    )rc   r¯   rw   s    r"   Úis_ibis_tabler±   A  s   € ô ˜rÔ"Ü˜"ÓÐr!   c                óN   — t        «       x}duxr t        | |j                  «      S )zBCheck whether `df` is a Polars DataFrame without importing Polars.N)r#   rk   r	   ©rn   Úpls     r"   Ú_is_polars_dataframerµ   K  ó$   € ä“,ÐˆB tÐ+ÒL´
¸2¸r¿|¹|Ó0LÐLr!   c                ó.   — t        | «       t        | «      S )z�Check whether `df` is a Polars DataFrame without importing Polars.

    Warning:
        This method cannot be called on a Narwhals DataFrame/LazyFrame.
    )rc   rµ   rw   s    r"   Úis_polars_dataframer¸   P  ry   r!   c                óN   — t        «       x}duxr t        | |j                  «      S )zBCheck whether `df` is a Polars LazyFrame without importing Polars.N)r#   rk   r   r³   s     r"   Ú_is_polars_lazyframerº   Z  r¶   r!   c                ó.   — t        | «       t        | «      S )z›Check whether `df` is a Polars LazyFrame without importing Polars.

    Warning:
        This method cannot be called on Narwhals DataFrame/LazyFrame.
    )rc   rº   rw   s    r"   Úis_polars_lazyframer¼   _  ry   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#   rk   r   )rf   r´   s     r"   Ú_is_polars_seriesr¾   i  s$   € ä“,ÐˆB tÐ+ÒJ´
¸3ÀÇ	Á	Ó0JÐJr!   c                ó.   — t        | «       t        | «      S )zŒCheck whether `ser` is a Polars Series without importing Polars.

    Warning:
        This method cannot be called on Narwhals Series.
    )rg   r¾   r~   s    r"   Úis_polars_seriesrÀ   n  r€   r!   c                óx   — t        t        «       x}«      xr$ t        |d«      xr t        | |j                  «      S )NÚSchema)Úboolr#   rE   rk   rÂ   ©r    r´   s     r"   Úis_polars_schemarÅ   x  s2   € ä”:“<ÐˆRÓ ÒY¤W¨R°Ó%:ÒY¼zÈ#ÈrÏyÉyÓ?Yðr!   c                ó\   — t        t        «       x}«      xr t        | |j                  «      S rj   )rÃ   r#   rk   ÚDataTyperÄ   s     r"   Úis_polars_data_typerÈ     s$   € Ü”j“lÐ"�Ó#ÒD¬
°3¸¿¹Ó(DÐDr!   c                óN   — t        «       x}duxr t        | |j                  «      S )zHCheck whether `ser` is a PyArrow ChunkedArray without importing PyArrow.N)r3   rk   ÚChunkedArray)rf   Úpas     r"   Ú_is_pyarrow_chunked_arrayrÌ   ƒ  s$   € ä“-ÐˆB¨Ð,ÒQ´¸CÀÇÁÓ1QÐQr!   c                ó.   — t        | «       t        | «      S )z”Check whether `ser` is a PyArrow ChunkedArray without importing PyArrow.

    Warning:
        This method cannot be called on Narwhals Series.
    )rg   rÌ   r~   s    r"   Úis_pyarrow_chunked_arrayrÎ   ˆ  s   € ô ˜SÔ!Ü$ SÓ)Ð)r!   c                óN   — t        «       x}duxr t        | |j                  «      S )z@Check whether `df` is a PyArrow Table without importing PyArrow.N)r3   rk   r®   )rn   rË   s     r"   Ú_is_pyarrow_tablerÐ   ’  s$   € ä“-ÐˆB¨Ð,ÒI´¸BÀÇÁÓ1IÐIr!   c                ó.   — t        | «       t        | «      S )z›Check whether `df` is a PyArrow Table without importing PyArrow.

    Warning:
        This method cannot be called on a Narwhals DataFrame/LazyFrame.
    )rc   rÐ   rw   s    r"   Úis_pyarrow_tablerÒ   —  s   € ô ˜rÔ"Ü˜RÓ Ð r!   c                óN   — t        «       x}d uxr t        | |j                  «      S rj   )r3   rk   ÚScalar©r    rË   s     r"   Úis_pyarrow_scalarrÖ   ¡  s$   € Ü“-ÐˆB¨Ð,ÒK´¸CÀÇÁÓ1KÐKr!   c                ó\   — t        t        «       x}«      xr t        | |j                  «      S rj   )rÃ   r3   rk   rÂ   rÕ   s     r"   Úis_pyarrow_schemarØ   ¥  s$   € Ü”k“mÐ#�Ó$ÒC¬°C¸¿¹Ó)CÐCr!   c                ó\   — t        t        «       x}«      xr t        | |j                  «      S rj   )rÃ   r3   rk   rÇ   rÕ   s     r"   Úis_pyarrow_data_typerÚ   ©  s$   € Ü”k“mÐ#�Ó$ÒE¬°C¸¿¹Ó)EÐEr!   c                ó`   — t        t        «       x}duxr t        | |j                  «      «      S )zDCheck whether `df` is a PySpark DataFrame without importing PySpark.N)rÃ   rL   rk   r	   )rn   Úpyspark_sqls     r"   Ú_is_pyspark_dataframerÝ   ­  s4   € äÜ'Ó)Ð	)ˆ°$Ð6ò 	2Ü�r˜;×0Ñ0Ó1óð r!   c                ó.   — t        | «       t        | «      S )zŸCheck whether `df` is a PySpark DataFrame without importing PySpark.

    Warning:
        This method cannot be called on a Narwhals DataFrame/LazyFrame.
    )rc   rÝ   rw   s    r"   Úis_pyspark_dataframerß   µ  s   € ô ˜rÔ"Ü  Ó$Ð$r!   c                ó\   — t        «       �	 ddlm} t	        | |«      S y# t        $ r Y yw xY w)zLCheck whether `df` is a PySpark Connect DataFrame without importing PySpark.r   r   F)rN   Úpyspark.sql.connect.dataframer	   ÚImportErrorrk   ©rn   r	   s     r"   Ú_is_pyspark_connect_dataframerä   ¿  s9   € äÓÐ(ð	Ý?ô ˜"˜iÓ(Ð(Øøô ò 	Ùð	ús   Œ Ÿ	+ª+c                ó.   — t        | «       t        | «      S )z§Check whether `df` is a PySpark Connect DataFrame without importing PySpark.

    Warning:
        This method cannot be called on a Narwhals DataFrame/LazyFrame.
    )rc   rä   rw   s    r"   Úis_pyspark_connect_dataframeræ   Ê  s   € ô ˜rÔ"Ü(¨Ó,Ð,r!   c                ó<   — t        «       �ddlm} t        | |«      S y)zFCheck whether `df` is a SQLFrame DataFrame without importing SQLFrame.r   )ÚBaseDataFrameF)rQ   Úsqlframe.base.dataframerè   rk   )rn   rè   s     r"   Ú_is_sqlframe_dataframerê   Ô  s   € äƒ~Ð!Ý9ä˜"˜mÓ,Ð,Ør!   c                ó.   — t        | «       t        | «      S )z¡Check whether `df` is a SQLFrame DataFrame without importing SQLFrame.

    Warning:
        This method cannot be called on a Narwhals DataFrame/LazyFrame.
    )rc   rê   rw   s    r"   Úis_sqlframe_dataframerì   Ý  s   € ô ˜rÔ"Ü! "Ó%Ð%r!   c                óN   — t        «       x}duxr t        | |j                  «      S )z=Check whether `arr` is a NumPy Array without importing NumPy.N)r7   rk   rž   ©ÚarrÚnps     r"   Úis_numpy_arrayrñ   ç  s$   € ä“+ÐˆB dÐ*ÒJ¬z¸#¸r¿z¹zÓ/JÐJr!   c                ó:   — t        | «      xr | j                  dk(  S )z@Check whether `arr` is a 1D NumPy Array without importing NumPy.rU   ©rñ   Úndim©rï   s    r"   Úis_numpy_array_1drö   ì  ó   € ä˜#ÓÒ0 3§8¡8¨q¡=Ð0r!   c                ó„   — t        «       x}xr3 t        | «      xr& |j                  | j                  |j                  «      S rj   )r7   rö   Ú
issubdtypeÚdtypeÚintegerrî   s     r"   Úis_numpy_array_1d_intrü   ñ  s9   € ä‹{Ð	ˆò 	1Ü˜cÓ"ò	1à�M‰M˜#Ÿ)™) R§Z¡ZÓ0ðr!   c                ó„   — t        «       x}xr3 t        | «      xr& |j                  | j                  |j                  «      S rj   )r7   rö   rù   rú   Úbool_rî   s     r"   Úis_numpy_array_1d_boolrÿ   ù  s9   € ä‹{Ð	ˆò 	/Ü˜cÓ"ò	/à�M‰M˜#Ÿ)™) R§X¡XÓ.ðr!   c                ó:   — t        | «      xr | j                  dk(  S )z@Check whether `arr` is a 2D NumPy Array without importing NumPy.é   ró   rõ   s    r"   Úis_numpy_array_2dr    r÷   r!   c                óN   — t        «       x}duxr t        | |j                  «      S )zACheck whether `scalar` is a NumPy Scalar without importing NumPy.N)r7   rk   Úgeneric)Úscalarrð   s     r"   Úis_numpy_scalarr    s&   € ô
 “+ÐˆB dÐ*ÒM¬z¸&À"Ç*Á*Ó/MÐMr!   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.
    )ru   rˆ   r“   rw   s    r"   Ú_is_pandas_like_dataframer    s&   € ô
   Ó#ÒXÔ':¸2Ó'>ÒXÔBTÐUWÓBXÐXr!   c                ó.   — t        | «       t        | «      S )zØCheck whether `df` is a pandas-like DataFrame without doing any imports.

    By "pandas-like", we mean: pandas, Modin, cuDF.

    Warning:
        This method cannot be called on a Narwhals DataFrame/LazyFrame.
    )rc   r  rw   s    r"   Úis_pandas_like_dataframer
    s   € ô ˜rÔ"Ü$ RÓ(Ð(r!   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|   r�   r˜   r~   s    r"   Ú_is_pandas_like_seriesr  "  s$   € ô
 ˜SÓ!ÒRÔ%5°cÓ%:ÒR¼oÈcÓ>RÐRr!   c                ó.   — t        | «       t        | «      S )zÇCheck whether `ser` is a pandas-like Series without doing any imports.

    By "pandas-like", we mean: pandas, Modin, cuDF.

    Warning:
        This method cannot be called on Narwhals Series.
    )rg   r  r~   s    r"   Úis_pandas_like_seriesr  *  s   € ô ˜SÔ!Ü! #Ó&Ð&r!   c                óL   — t        | «      xs t        | «      xs t        | «      S )z�Check whether `index` is a pandas-like Index without doing any imports.

    By "pandas-like", we mean: pandas, Modin, cuDF.
    )r…   r‘   rœ   )r„   s    r"   Úis_pandas_like_indexr  6  s%   € ô 	˜ÓÒO¤.°Ó"7ÒO¼=ÈÓ;Oðr!   c                ó¬   — t        t        «       x}«      xr> t        | |j                  j                  j
                  t        «       j                  f«      S rj   )rÃ   r'   rk   ÚapiÚ
extensionsÚExtensionDtyper7   rú   ©r    rt   s     r"   Úis_pandas_like_dtyper  @  sD   € Ü”j“lÐ"�Ó#ò ¬
Øˆb�f‰f×Ñ×.Ñ.´	³×0AÑ0AÐBó)ð r!   c                ó    — t        t        «       x}«      xr8 t        | |j                  j                  j
                  «      xr t        | d«      S )NÚto_arrow)rÃ   r'   rk   r  r  r  rE   r  s     r"   Úis_cudf_dtyper  F  sF   € ô 	”:“<ÐˆRÓ ò 	%Ü�s˜RŸV™V×.Ñ.×=Ñ=Ó?ò	%ä�C˜Ó$ðr!   c                ón   — ddl m}  || d«      xs% t        | «      xs t        | «      xs t	        | «      S )Nr   ©Ú_hasattr_staticÚ__narwhals_series__)r[   r  r¾   rÌ   r  ©r    r  s     r"   Ú_is_native_seriesr  P  s@   € Ý/ñ 	˜Ð2Ó3ò 	'Ü˜SÓ!ò	'ä$ SÓ)ò	'ô " #Ó&ð	r!   c                ón   — ddl m}  || d«      xs% t        | «      xs t        | «      xs t	        | «      S )Nr   r  Ú__narwhals_dataframe__)r[   r  rµ   rÐ   r  r  s     r"   Ú_is_native_dataframer"  [  s@   € Ý/ñ 	˜Ð5Ó6ò 	*Ü Ó$ò	*ä˜SÓ!ò	*ô % SÓ)ð	r!   c                óÖ   — ddl m}  || d«      xsY t        | «      xsL t        | «      xs? t	        | «      xs2 t        | «      xs% t        | «      xs t        | «      xs t        | «      S )Nr   r  Ú__narwhals_lazyframe__)	r[   r  rº   r£   r¨   r¯   rÝ   rä   rê   r  s     r"   Ú_is_native_lazyframer%  f  s|   € Ý/ñ 	˜Ð5Ó6ò 	'Ü Ó$ò	'ä˜cÓ"ò	'ô ˜sÓ#ò	'ô ˜#Óò		'ô
 ! Ó%ò	'ô )¨Ó-ò	'ô " #Ó&ð	r!   c                ó@   — ddl m} t        | |«      xs t        | «      S )aM  Check whether `native_series` can be converted to a Narwhals Series.

    Arguments:
        native_series: The object to check.

    Examples:
        >>> import pandas as pd
        >>> import polars as pl
        >>> import numpy as np
        >>> import narwhals as nw

        >>> s_pd = pd.Series([1, 2, 3])
        >>> s_pl = pl.Series([1, 2, 3])
        >>> np_arr = np.array([1, 2, 3])

        >>> nw.dependencies.is_into_series(s_pd)
        True
        >>> nw.dependencies.is_into_series(s_pl)
        True
        >>> nw.dependencies.is_into_series(np_arr)
        False
    r   r   )Únarwhals.seriesr   rk   r  )Únative_seriesr   s     r"   Úis_into_seriesr)  u  s   € õ. 'ä�m VÓ,ÒPÔ0AÀ-Ó0PÐPr!   c                ó@   — ddl m} t        | |«      xs t        | «      S )a”  Check whether `native_dataframe` can be converted to a Narwhals DataFrame.

    Arguments:
        native_dataframe: The object to check.

    Examples:
        >>> import pandas as pd
        >>> import polars as pl
        >>> import numpy as np
        >>> from narwhals.dependencies import is_into_dataframe

        >>> df_pd = pd.DataFrame({"a": [1, 2, 3], "b": [4, 5, 6]})
        >>> df_pl = pl.DataFrame({"a": [1, 2, 3], "b": [4, 5, 6]})
        >>> np_arr = np.array([[1, 4], [2, 5], [3, 6]])

        >>> is_into_dataframe(df_pd)
        True
        >>> is_into_dataframe(df_pl)
        True
        >>> is_into_dataframe(np_arr)
        False
    r   r   )Únarwhals.dataframer	   rk   r"  )Únative_dataframer	   s     r"   Úis_into_dataframer-  ‘  ó'   € õ. -äÐ&¨	Ó2ò Ô6JØó7ð r!   c                ó@   — ddl m} t        | |«      xs t        | «      S )a•  Check whether `native_lazyframe` can be converted to a Narwhals LazyFrame.

    Arguments:
        native_lazyframe: The object to check.

    Examples:
        >>> import pandas as pd
        >>> import polars as pl
        >>> import numpy as np
        >>> from narwhals.dependencies import is_into_lazyframe

        >>> df_pd = pd.DataFrame({"a": [1, 2, 3], "b": [4, 5, 6]})
        >>> lf_pl = pl.LazyFrame({"a": [1, 2, 3], "b": [4, 5, 6]})
        >>> np_arr = np.array([[1, 4], [2, 5], [3, 6]])

        >>> is_into_lazyframe(df_pd)
        False
        >>> is_into_lazyframe(lf_pl)
        True
        >>> is_into_lazyframe(np_arr)
        False
    r   ©r   )r+  r   rk   r%  )Únative_lazyframer   s     r"   Úis_into_lazyframer2  ¯  r.  r!   c                ó&   — ddl m} t        | |«      S )zßCheck whether `df` is a Narwhals DataFrame.

    This is useful if you expect a user to pass in a Narwhals
    DataFrame directly, and you want to catch both `narwhals.DataFrame`
    and `narwhals.stable.v1.DataFrame`.
    r   r   )r+  r	   rk   rã   s     r"   rY   rY   Í  ó   € õ -ä�b˜)Ó$Ð$r!   c                ó&   — ddl m} t        | |«      S )zßCheck whether `lf` is a Narwhals LazyFrame.

    This is useful if you expect a user to pass in a Narwhals
    LazyFrame directly, and you want to catch both `narwhals.LazyFrame`
    and `narwhals.stable.v1.LazyFrame`.
    r   r0  )r+  r   rk   )Úlfr   s     r"   rZ   rZ   Û  r4  r!   c                ó&   — ddl m} t        | |«      S )zÔCheck whether `ser` is a Narwhals Series.

    This is useful if you expect a user to pass in a Narwhals
    Series directly, and you want to catch both `narwhals.Series`
    and `narwhals.stable.v1.Series`.
    r   r   )r'  r   rk   )rf   r   s     r"   re   re   é  s   € õ 'ä�c˜6Ó"Ð"r!   c                óP   — t        | «      xr | j                  j                  «       S rj   )re   rú   Ú
is_integerr~   s    r"   Úis_narwhals_series_intr:  õ  s   € Ü˜cÓ"Ò= s§y¡y×';Ñ';Ó'=Ð=r!   c                óP   — t        | «      xr | j                  j                  «       S rj   )re   rú   Ú
is_booleanr~   s    r"   Úis_narwhals_series_boolr=  ù  s!   € ô ˜cÓ"Ò= s§y¡y×';Ñ';Ó'=Ð=r!   ),r,   r:   r<   r?   rB   r)   r7   r'   r#   r3   rJ   rN   rL   rQ   r•   rœ   rš   r¥   rª   r±   r-  r2  r)  rŠ   r‘   r�   rY   rZ   re   rñ   rx   r…   r
  r  r  r   r¸   r¼   rÀ   rÎ   rÒ   ræ   rß   rì   )Úreturnr   )r`   r   r>  ÚNone)rf   r   r>  r?  )rn   r   r>  zTypeIs[pd.DataFrame])rf   r   r>  zTypeIs[pd.Series[Any]])r„   r   r>  zTypeIs[pd.Index[Any]])rn   r   r>  zTypeIs[mpd.DataFrame])rf   r   r>  zTypeIs[mpd.Series])r„   r   r>  zTypeIs[mpd.Index[Any]])rn   r   r>  zTypeIs[cudf.DataFrame])rf   r   r>  zTypeIs[cudf.Series[Any]])r„   r   r>  zTypeIs[cudf.Index])r    r   r>  rÃ   )rn   r   r>  zTypeIs[dd.DataFrame])rn   r   r>  zTypeIs[duckdb.DuckDBPyRelation])rn   r   r>  zTypeIs[ibis.Table])rn   r   r>  zTypeIs[pl.DataFrame])rn   r   r>  zTypeIs[pl.LazyFrame])rf   r   r>  zTypeIs[pl.Series])r    r   r>  zTypeIs[pl.Schema])r    r   r>  zTypeIs[pl.DataType])rf   r   r>  zTypeIs[pa.ChunkedArray[Any]])rn   r   r>  zTypeIs[pa.Table])r    r   r>  zTypeIs[pa.Scalar[Any]])r    r   r>  zTypeIs[pa.Schema])r    r   r>  zTypeIs[pa.DataType])rn   r   r>  zTypeIs[pyspark_sql.DataFrame])rn   r   r>  zTypeIs[PySparkConnectDataFrame])rn   r   r>  zTypeIs[SQLFrameDataFrame])rï   zAny | _NDArray[_ShapeT]r>  zTypeIs[_NDArray[_ShapeT]])rï   r   r>  zTypeIs[_1DArray])rï   r   r>  zTypeIs[_1DArrayInt])rï   r   r>  zTypeIs[_2DArray])r  r   r>  zTypeGuard[_NumpyScalar])rn   r   r>  rÃ   )rf   r   r>  rÃ   )r„   r   r>  rÃ   )r    r   r>  zTypeIs[PandasLikeDType])r    r   r>  z(TypeIs[pd.api.extensions.ExtensionDtype])r    úAny | IntoSeriesTr>  úTypeIs[IntoSeriesT])r    úAny | IntoDataFrameTr>  úTypeIs[IntoDataFrameT])r    úAny | IntoLazyFrameTr>  úTypeIs[IntoLazyFrameT])r(  r@  r>  rA  )r,  rB  r>  rC  )r1  rD  r>  rE  )rn   zDataFrame[IntoDataFrameT] | Anyr>  z!TypeIs[DataFrame[IntoDataFrameT]])r6  zAny | LazyFrame[IntoLazyFrameT]r>  z!TypeIs[LazyFrame[IntoLazyFrameT]])rf   zAny | Series[IntoSeriesT]r>  zTypeIs[Series[IntoSeriesT]])ˆÚ
__future__r   r   Útypingr   r   Únarwhals._exceptionsr   r   r+   Údask.dataframeÚ	dataframerF   r>   rA   Úmodin.pandasr&   r‡   rt   r   r´   r2   rË   Úpyspark.sqlÚsqlrÜ   rá   r	   ÚPySparkConnectDataFrameÚtyping_extensionsr
   Únarwhals._spark_like.dataframer   r+  r   r'  r   Únarwhals.typingr   r   r   r   r   r   r   r   r   r   Ú	frozensetrs   r#   r'   r)   r,   r0   r3   r7   r:   r<   r?   rB   rG   rJ   rL   rN   rQ   rc   rg   ru   rx   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À   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  r  r  r  r"  r%  r)  r-  r2  rY   rZ   re   r:  r=  Ú__all__r    r!   r"   ú<module>rT     se  ðõ #ã 
ß %å .áÝ ãÝÛÛÝÛÛÛÝ%ÝRÝ(å@ß7Ý&÷÷ ÷ ñ" ˜+˜Ó'€ó+ó
+ó
1ó
)ó
)ó
,ó
*ó
)ó
3ó
+ó
)ó
.ó,ó
0ó
8ó
-ó

(ó
(óó$óó"óóNó
#óLó
!óMó
Oó
"óMó
 óóóUó
"óó#óVó
óMó
$óMó
$óKó
"óóEóRó
*óJó
!óLóDóFóó%óó-óó&óKó
1ó
óó1ó
NóYó	)óSó	'óóðØ	ðà-óóóóóQó8ó<ð<%Ø'ð%à&ó%ð%Ø'ð%à&ó%ó	#ó>ð>Ø	"ð>à ó>ò-�r!   