§
    cŠtjö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¦  «        Z1dŸd„Z2dŸd„Z3dŸd„Z4dŸd„Z5dŸd„Z6dŸd„Z7dŸd„Z8dŸd„Z9dŸd„Z:dŸd„Z;dŸd„Z<dŸd„Z=dŸd„Z>dŸd„Z?dŸd„Z@dŸd„ZAd d!„ZBd¡d#„ZCd¢d&„ZDd¢d'„ZEd£d)„ZFd£d*„ZGd¤d-„ZHd¥d/„ZId¥d0„ZJd¦d2„ZKd¦d3„ZLd§d5„ZMd¨d7„ZNd¨d8„ZOd©d:„ZPd©d;„ZQdªd=„ZRd«d@„ZSd¬dB„ZTd¬dC„ZUd­dE„ZVd­dF„ZWd®dH„ZXd®dI„ZYd¯dK„ZZd¯dL„Z[d°dN„Z\d°dO„Z]d±dQ„Z^d±dR„Z_d²dT„Z`d³dV„Zad´dX„Zbd´dY„Zcdµd[„Zddµd\„Zed¶d^„Zfd·d`„Zgd¸db„Zhd¹dd„Zid¹de„Zjdºdg„Zkdºdh„Zld»dj„Zmd»dk„Znd¼do„Zod½dq„Zpd¾ds„Zqd¾dt„Zrd¿dv„ZsdÀdy„ZtdÁdz„ZudÁd{„ZvdÂd|„ZwdÂd}„ZxdÃd~„ZydÄd€„ZzdÅ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œ„Z…dÎd�„Z†g dž¢Z‡dS )Ïé    )ÚannotationsN)ÚTYPE_CHECKINGÚAny)Úissue_warning)Ú	TypeGuard©Ú	DataFrame)ÚTypeIs)ÚSQLFrameDataFrame)r	   Ú	LazyFrame©ÚSeries)
ÚIntoDataFrameTÚIntoLazyFrameTÚIntoSeriesTÚPandasLikeDTypeÚ_1DArrayÚ_1DArrayIntÚ_2DArrayÚ_NDArrayÚ_NumpyScalarÚ_ShapeTÚ	fireducksÚreturnr   c                 óB   — t           j                             dd¦  «        S )z;Get Polars module (if already imported - else return None).ÚpolarsN©ÚsysÚmodulesÚget© ó    úS/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/narwhals/dependencies.pyÚ
get_polarsr$   1   ó   € åŒ;�?Š?˜8 TÑ*Ô*Ð*r"   c                 óB   — t           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                             dd¦  «        S )zAGet modin.pandas module (if already imported - else return None).zmodin.pandasNr   r!   r"   r#   Ú	get_modinr*   ;   s   € åŒ;�?Š?˜>¨4Ñ0Ô0Ð0r"   c                 óB   — t           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                             dd¦  «        S )z9Get cupy module (if already imported - else return None).ÚcupyNr   r!   r"   r#   Úget_cupyr1   E   r.   r"   c                 óB   — t           j                             dd¦  «        S )z<Get pyarrow module (if already imported - else return None).ÚpyarrowNr   r!   r"   r#   Úget_pyarrowr4   J   ó   € åŒ;�?Š?˜9 dÑ+Ô+Ð+r"   c                 óB   — t           j                             dd¦  «        S )z:Get numpy module (if already imported - else return None).ÚnumpyNr   r!   r"   r#   Ú	get_numpyr8   O   s   € åŒ;�?Š?˜7 DÑ)Ô)Ð)r"   c                 óB   — t           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                             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Ô2Ð2r"   c                 óB   — t           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                             dd¦  «        S )z9Get ibis module (if already imported - else return None).ÚibisNr   r!   r"   r#   Úget_ibisrC   c   r.   r"   c                 ó�   — t          ¦   «         x} �t          | d¦  «        r| j        S t          j                             dd¦  «        S )z>Get dask_expr module (if already imported - else return None).NÚ	dask_expr)r=   ÚhasattrrE   r   r   r    )Údds    r#   Úget_dask_exprrH   h   s@   € å Ñ"Ô"Ð"ˆÐ/µG¸BÀÑ4LÔ4LÐ/ØŒ|ÐÝŒ;�?Š?˜;¨Ñ-Ô-Ð-r"   c                 óB   — t           j                             dd¦  «        S )z<Get pyspark module (if already imported - else return None).ÚpysparkNr   r!   r"   r#   Úget_pysparkrK   o   r5   r"   c                 óB   — t           j                             dd¦  «        S )z@Get pyspark.sql module (if already imported - else return None).zpyspark.sqlNr   r!   r"   r#   Úget_pyspark_sqlrM   t   s   € åŒ;�?Š?˜=¨$Ñ/Ô/Ð/r"   c                 óB   — t           j                             dd¦  «        S )zHGet pyspark.sql.connect module (if already imported - else return None).zpyspark.sql.connectNr   r!   r"   r#   Úget_pyspark_connectrO   y   s   € åŒ;�?Š?Ð0°$Ñ7Ô7Ð7r"   c                 óB   — t           j                             dd¦  «        S )z=Get sqlframe module (if already imported - else return None).ÚsqlframeNr   r!   r"   r#   Úget_sqlframerR   ~   s   € åŒ;�?Š?˜: tÑ,Ô,Ð,r"   ÚframeÚNonec          	     óè   — t          | ¦  «        st          | ¦  «        rSddlm} t	          j        d¦  «        j        j        }d || ¦  «        › d|› d|› d|› d�	}t          |t          ¦  «         d S d S )	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._utilsrW   r   Ú	_getframeÚf_codeÚco_namer   ÚUserWarning)rS   rW   ÚcallerÚmsgs       r#   Ú_warn_if_narwhals_df_or_lfre   ƒ   s¸   € Ý˜UÑ#Ô#ð 	(Õ'<¸UÑ'CÔ'Cð 	(Ø7Ð7Ð7Ð7Ð7Ð7å”˜qÑ!Ô!Ô(Ô0ˆð;Ð0Ð0°Ñ7Ô7ð ;ð ;¸vð ;ð ;Ø&,ð;ð ;à#ð;ð ;ð ;ð 	õ
 	�c�;Ñ'Ô'Ð'Ð'Ð'ð	(ð 	(r"   Úserc          	     óÊ   — t          | ¦  «        rSddlm} t          j        d¦  «        j        j        }d || ¦  «        › d|› d|› d|› d�	}t          |t          ¦  «         d S d S )	Nr   rV   rX   rY   rZ   r[   z(ser)`, did you mean `z(ser.to_native())`?)	Úis_narwhals_seriesr^   rW   r   r_   r`   ra   r   rb   )rf   rW   rc   rd   s       r#   Ú_warn_if_narwhals_seriesri   �   s¨   € Ý˜#ÑÔð 	(Ø7Ð7Ð7Ð7Ð7Ð7å”˜qÑ!Ô!Ô(Ô0ˆð9Ð0Ð0°Ñ5Ô5ð 9ð 9¸Vð 9ð 9Ø&,ð9ð 9à#ð9ð 9ð 9ð 	õ
 	�c�;Ñ'Ô'Ð'Ð'Ð'ð	(ð 	(r"   ÚdfúTypeIs[pd.DataFrame]c                ó–   ‡ ‡— t          ¦   «         x}durt          ‰ |j        ¦  «        p t          ˆ ˆfd„t          D ¦   «         ¦  «        S )zBCheck whether `df` is a pandas DataFrame without importing pandas.Nc              3  ó”   •K  — | ]B}t           j                             |d ¦  «        xŠd uot          ‰‰j        j        ¦  «        V — ŒCd S ©N)r   r   r    Ú
isinstancer'   r	   )Ú.0Úmodule_namerj   Úmods     €€r#   ú	<genexpr>z'_is_pandas_dataframe.<locals>.<genexpr>Ÿ   sr   øè è € ð Vð Vð õ ”—’ ¨TÑ2Ô2Ð	2ˆ¸4Ð?ð 	1Ý�r˜3œ:Ô/Ñ0Ô0ðVð Vð Vð Vð Vð Vr"   )r(   ro   r	   ÚanyÚIMPORT_HOOKS)rj   Úpdrr   s   ` @r#   Ú_is_pandas_dataframerw   �   st   øø€ å‘<”<ÐˆR¨Ð,ÐMµ¸BÀÄÑ1MÔ1Mð ÕRUð Vð Vð Vð Vð Võ (ðVñ Vô Vñ Sô 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.
    )re   rw   ©rj   s    r#   Úis_pandas_dataframerz   ¦   ó    € õ ˜rÑ"Ô"Ð"Ý Ñ#Ô#Ð#r"   úTypeIs[pd.Series[Any]]c                ó–   ‡ ‡— t          ¦   «         x}durt          ‰ |j        ¦  «        p t          ˆˆ fd„t          D ¦   «         ¦  «        S )z@Check whether `ser` is a pandas Series without importing pandas.Nc              3  ó”   •K  — | ]B}t           j                             |d ¦  «        xŠd uot          ‰‰j        j        ¦  «        V — ŒCd S rn   )r   r   r    ro   r'   r   )rp   rq   rr   rf   s     €€r#   rs   z$_is_pandas_series.<locals>.<genexpr>²   sr   øè è € ð Tð Tð õ ”—’ ¨TÑ2Ô2Ð	2ˆ¸4Ð?ð 	/Ý�s˜CœJÔ-Ñ.Ô.ðTð Tð Tð Tð Tð Tr"   )r(   ro   r   rt   ru   )rf   rv   rr   s   ` @r#   Ú_is_pandas_seriesr   °   st   øø€ å‘<”<ÐˆR¨Ð,ÐKµ¸CÀÄÑ1KÔ1Kð ÕPSð Tð Tð Tð Tð Tõ (ðTñ Tô Tñ Qô 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.
    )ri   r   ©rf   s    r#   Úis_pandas_seriesr‚   ¹   ó    € õ ˜SÑ!Ô!Ð!Ý˜SÑ!Ô!Ð!r"   ÚindexúTypeIs[pd.Index[Any]]c                ó–   ‡ ‡— t          ¦   «         x}durt          ‰ |j        ¦  «        p t          ˆ ˆfd„t          D ¦   «         ¦  «        S )zACheck whether `index` is a pandas Index without importing pandas.Nc              3  ó”   •K  — | ]B}t           j                             |d ¦  «        xŠd uot          ‰‰j        j        ¦  «        V — ŒCd S rn   )r   r   r    ro   r'   ÚIndex)rp   rq   r„   rr   s     €€r#   rs   z"is_pandas_index.<locals>.<genexpr>Å   sr   øè è € ð Uð Uð õ ”—’ ¨TÑ2Ô2Ð	2ˆ¸4Ð?ð 	0Ý�u˜cœjÔ.Ñ/Ô/ðUð Uð Uð Uð Uð Ur"   )r(   ro   rˆ   rt   ru   )r„   rv   rr   s   ` @r#   Úis_pandas_indexr‰   Ã   st   øø€ å‘<”<ÐˆR¨Ð,ÐLµ¸EÀ2Ä8Ñ1LÔ1Lð ÕQTð Uð Uð Uð Uð Uõ (ðUñ Uô Uñ Rô Rð r"   úTypeIs[mpd.DataFrame]c                óP   — t          ¦   «         x}duot          | |j        ¦  «        S )z@Check whether `df` is a modin DataFrame without importing modin.N)r*   ro   r	   )rj   Úmpds     r#   Ú_is_modin_dataframer�   Ì   s'   € å‘;”;ÐˆC tÐ+ÐMµ
¸2¸s¼}Ñ0MÔ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.
    )re   r�   ry   s    r#   Úis_modin_dataframer�   Ñ   ó    € õ ˜rÑ"Ô"Ð"Ý˜rÑ"Ô"Ð"r"   úTypeIs[mpd.Series]c                óP   — t          ¦   «         x}duot          | |j        ¦  «        S )z>Check whether `ser` is a modin Series without importing modin.N)r*   ro   r   )rf   rŒ   s     r#   Ú_is_modin_seriesr“   Û   s'   € å‘;”;ÐˆC tÐ+ÐKµ
¸3ÀÄ
Ñ0KÔ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.
    )ri   r“   r�   s    r#   Úis_modin_seriesr•   à   s    € õ ˜SÑ!Ô!Ð!Ý˜CÑ Ô Ð r"   úTypeIs[mpd.Index[Any]]c                óP   — t          ¦   «         x}duot          | |j        ¦  «        S )z?Check whether `index` is a modin Index without importing modin.N)r*   ro   rˆ   )r„   rŒ   s     r#   Úis_modin_indexr˜   ê   s'   € å‘;”;ÐˆC tÐ+ÐLµ
¸5À#Ä)Ñ0LÔ0LÐLr"   úTypeIs[cudf.DataFrame]c                óP   — t          ¦   «         x}duot          | |j        ¦  «        S )z>Check whether `df` is a cudf DataFrame without importing cudf.N)r-   ro   r	   )rj   r,   s     r#   Ú_is_cudf_dataframer›   ï   s'   € å‘J”JÐˆD tÐ+ÐNµ
¸2¸t¼~Ñ0NÔ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.
    )re   r›   ry   s    r#   Úis_cudf_dataframer�   ô   ó    € õ ˜rÑ"Ô"Ð"Ý˜bÑ!Ô!Ð!r"   úTypeIs[cudf.Series[Any]]c                óP   — t          ¦   «         x}duot          | |j        ¦  «        S )z<Check whether `ser` is a cudf Series without importing cudf.N)r-   ro   r   )rf   r,   s     r#   Ú_is_cudf_seriesr¡   þ   s'   € å‘J”JÐˆD tÐ+ÐLµ
¸3ÀÄÑ0LÔ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.
    )ri   r¡   r�   s    r#   Úis_cudf_seriesr£     s    € õ ˜SÑ!Ô!Ð!Ý˜3ÑÔÐr"   úTypeIs[cudf.Index]c                óP   — t          ¦   «         x}duot          | |j        ¦  «        S )z=Check whether `index` is a cudf Index without importing cudf.N)r-   ro   rˆ   )r„   r,   s     r#   Úis_cudf_indexr¦     s0   € å‘J”JÐˆD tÐ+ð µ
ØˆtŒzñ1ô 1ð r"   ÚobjÚboolc                óf   — t          ¦   «         x}d uot          | |j        ¦  «        o
| j        dk    S )NrX   )r1   ro   ÚndarrayÚsize)r§   r0   s     r#   Úis_cupy_scalarr¬     s:   € å‘”Ð	ˆ DÐ(ð 	Ý�s˜DœLÑ)Ô)ð	àŒH˜ŠMðr"   úTypeIs[dd.DataFrame]c                óP   — t          ¦   «         x}duot          | |j        ¦  «        S )z>Check whether `df` is a Dask DataFrame without importing Dask.N)r=   ro   r	   )rj   rG   s     r#   Ú_is_dask_dataframer¯     s)   € å$Ñ&Ô&Ð&ˆB¨tÐ3ÐT½
À2ÀrÄ|Ñ8TÔ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.
    )re   r¯   ry   s    r#   Úis_dask_dataframer±   !  rž   r"   úTypeIs[duckdb.DuckDBPyRelation]c                óP   — t          ¦   «         x}duot          | |j        ¦  «        S )zACheck whether `df` is a DuckDB Relation without importing DuckDB.N)r@   ro   ÚDuckDBPyRelation)rj   r?   s     r#   Ú_is_duckdb_relationrµ   +  s1   € å ‘l”lÐ"ˆF¨4Ð/ð µJØ
ˆFÔ#ñ5ô 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.
    )re   rµ   ry   s    r#   Úis_duckdb_relationr·   2  r�   r"   úTypeIs[ibis.Table]c                ód   — t          ¦   «         x}duot          | |j        j        j        ¦  «        S )z:Check whether `df` is a Ibis Table without importing Ibis.N)rC   ro   ÚexprÚtypesÚTable)rj   rB   s     r#   Ú_is_ibis_tabler½   <  s,   € å‘J”JÐˆD tÐ+ÐUµ
¸2¸t¼y¼Ô?TÑ0UÔ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.
    )re   r½   ry   s    r#   Úis_ibis_tabler¿   A  s    € õ ˜rÑ"Ô"Ð"Ý˜"ÑÔÐr"   úTypeIs[pl.DataFrame]c                óP   — t          ¦   «         x}duot          | |j        ¦  «        S )zBCheck whether `df` is a Polars DataFrame without importing Polars.N)r$   ro   r	   ©rj   Úpls     r#   Ú_is_polars_dataframerÄ   K  ó'   € å‘,”,ÐˆB tÐ+ÐLµ
¸2¸r¼|Ñ0LÔ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.
    )re   rÄ   ry   s    r#   Úis_polars_dataframerÇ   P  r{   r"   úTypeIs[pl.LazyFrame]c                óP   — t          ¦   «         x}duot          | |j        ¦  «        S )zBCheck whether `df` is a Polars LazyFrame without importing Polars.N)r$   ro   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.
    )re   rÊ   ry   s    r#   Úis_polars_lazyframerÌ   _  r{   r"   úTypeIs[pl.Series]c                óP   — t          ¦   «         x}duot          | |j        ¦  «        S )z@Check whether `ser` is a Polars Series without importing Polars.N)r$   ro   r   )rf   rÃ   s     r#   Ú_is_polars_seriesrÏ   i  s'   € å‘,”,ÐˆB tÐ+ÐJµ
¸3ÀÄ	Ñ0JÔ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.
    )ri   rÏ   r�   s    r#   Úis_polars_seriesrÑ   n  rƒ   r"   úTypeIs[pl.Schema]c                ó†   — t          t          ¦   «         x}¦  «        o$t          |d¦  «        ot          | |j        ¦  «        S )NÚSchema)r¨   r$   rF   ro   rÔ   ©r§   rÃ   s     r#   Úis_polars_schemarÖ   x  s;   € å•:‘<”<ÐˆRÑ Ô ÐY¥W¨R°Ñ%:Ô%:ÐY½zÈ#ÈrÌyÑ?YÔ?Yðr"   úTypeIs[pl.DataType]c                óf   — t          t          ¦   «         x}¦  «        ot          | |j        ¦  «        S rn   )r¨   r$   ro   ÚDataTyperÕ   s     r#   Úis_polars_data_typerÚ     s*   € Ý•j‘l”lÐ"�Ñ#Ô#ÐD­
°3¸¼Ñ(DÔ(DÐDr"   úTypeIs[pa.ChunkedArray[Any]]c                óP   — t          ¦   «         x}duot          | |j        ¦  «        S )zHCheck whether `ser` is a PyArrow ChunkedArray without importing PyArrow.N)r4   ro   ÚChunkedArray)rf   Úpas     r#   Ú_is_pyarrow_chunked_arrayrß   ƒ  s'   € å‘-”-ÐˆB¨Ð,ÐQµ¸CÀÄÑ1QÔ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.
    )ri   rß   r�   s    r#   Úis_pyarrow_chunked_arrayrá   ˆ  s    € õ ˜SÑ!Ô!Ð!Ý$ SÑ)Ô)Ð)r"   úTypeIs[pa.Table]c                óP   — t          ¦   «         x}duot          | |j        ¦  «        S )z@Check whether `df` is a PyArrow Table without importing PyArrow.N)r4   ro   r¼   )rj   rÞ   s     r#   Ú_is_pyarrow_tablerä   ’  s'   € å‘-”-ÐˆB¨Ð,ÐIµ¸BÀÄÑ1IÔ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.
    )re   rä   ry   s    r#   Úis_pyarrow_tableræ   —  s    € õ ˜rÑ"Ô"Ð"Ý˜RÑ Ô Ð r"   úTypeIs[pa.Scalar[Any]]c                óP   — t          ¦   «         x}d uot          | |j        ¦  «        S rn   )r4   ro   ÚScalar©r§   rÞ   s     r#   Úis_pyarrow_scalarrë   ¡  s'   € Ý‘-”-ÐˆB¨Ð,ÐKµ¸CÀÄÑ1KÔ1KÐKr"   úTypeIs[pa.Schema]c                óf   — t          t          ¦   «         x}¦  «        ot          | |j        ¦  «        S rn   )r¨   r4   ro   rÔ   rê   s     r#   Úis_pyarrow_schemarî   ¥  s*   € Ý•k‘m”mÐ#�Ñ$Ô$ÐC­°C¸¼Ñ)CÔ)CÐCr"   úTypeIs[pa.DataType]c                óf   — t          t          ¦   «         x}¦  «        ot          | |j        ¦  «        S rn   )r¨   r4   ro   rÙ   rê   s     r#   Úis_pyarrow_data_typerñ   ©  s*   € Ý•k‘m”mÐ#�Ñ$Ô$ÐE­°C¸¼Ñ)EÔ)EÐEr"   úTypeIs[pyspark_sql.DataFrame]c                ój   — t          t          ¦   «         x}duot          | |j        ¦  «        ¦  «        S )zDCheck whether `df` is a PySpark DataFrame without importing PySpark.N)r¨   rM   ro   r	   )rj   Úpyspark_sqls     r#   Ú_is_pyspark_dataframerõ   ­  s<   € åÝ'Ñ)Ô)Ð	)ˆ°$Ð6ð 	2Ý�r˜;Ô0Ñ1Ô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.
    )re   rõ   ry   s    r#   Úis_pyspark_dataframer÷   µ  s    € õ ˜rÑ"Ô"Ð"Ý  Ñ$Ô$Ð$r"   úTypeIs[PySparkConnectDataFrame]c                ót   — t          ¦   «         �)	 ddlm} n# t          $ r Y dS w xY wt	          | |¦  «        S dS )zLCheck whether `df` is a PySpark Connect DataFrame without importing PySpark.Nr   r   F)rO   Úpyspark.sql.connect.dataframer	   ÚImportErrorro   ©rj   r	   s     r#   Ú_is_pyspark_connect_dataframerý   ¿  s_   € åÑÔÐ(ð	Ø?Ð?Ð?Ð?Ð?Ð?Ð?øÝð 	ð 	ð 	Ø�5�5ð	øøøå˜"˜iÑ(Ô(Ð(Øˆ5s   � —
%¤%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.
    )re   rý   ry   s    r#   Úis_pyspark_connect_dataframerÿ   Ê  s    € õ ˜rÑ"Ô"Ð"Ý(¨Ñ,Ô,Ð,r"   úTypeIs[SQLFrameDataFrame]c                óN   — t          ¦   «         �ddlm} t          | |¦  «        S dS )zFCheck whether `df` is a SQLFrame DataFrame without importing SQLFrame.Nr   )ÚBaseDataFrameF)rR   Úsqlframe.base.dataframer  ro   )rj   r  s     r#   Ú_is_sqlframe_dataframer  Ô  s3   € å�~„~Ð!Ø9Ð9Ð9Ð9Ð9Ð9å˜"˜mÑ,Ô,Ð,Øˆ5r"   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.
    )re   r  ry   s    r#   Úis_sqlframe_dataframer  Ý  s    € õ ˜rÑ"Ô"Ð"Ý! "Ñ%Ô%Ð%r"   ÚarrúAny | _NDArray[_ShapeT]úTypeIs[_NDArray[_ShapeT]]c                óP   — t          ¦   «         x}duot          | |j        ¦  «        S )z=Check whether `arr` is a NumPy Array without importing NumPy.N)r8   ro   rª   ©r  Únps     r#   Úis_numpy_arrayr  ç  s'   € å‘+”+ÐˆB dÐ*ÐJ­z¸#¸r¼zÑ/JÔ/JÐJr"   úTypeIs[_1DArray]c                ó6   — t          | ¦  «        o
| j        dk    S )z@Check whether `arr` is a 1D NumPy Array without importing NumPy.rX   ©r  Úndim©r  s    r#   Úis_numpy_array_1dr  ì  ó   € å˜#ÑÔÐ0 3¤8¨q¢=Ð0r"   úTypeIs[_1DArrayInt]c                ó€   — t          ¦   «         x}o.t          | ¦  «        o|                     | j        |j        ¦  «        S rn   )r8   r  Ú
issubdtypeÚdtypeÚintegerr  s     r#   Úis_numpy_array_1d_intr  ñ  s=   € å‰{Œ{Ð	ˆð 	1Ý˜cÑ"Ô"ð	1à�MŠM˜#œ) R¤ZÑ0Ô0ðr"   c                ó€   — t          ¦   «         x}o.t          | ¦  «        o|                     | j        |j        ¦  «        S rn   )r8   r  r  r  Úbool_r  s     r#   Úis_numpy_array_1d_boolr  ù  s=   € å‰{Œ{Ð	ˆð 	/Ý˜cÑ"Ô"ð	/à�MŠM˜#œ) R¤XÑ.Ô.ðr"   úTypeIs[_2DArray]c                ó6   — t          | ¦  «        o
| 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"   ÚscalarúTypeGuard[_NumpyScalar]c                óP   — t          ¦   «         x}duot          | |j        ¦  «        S )zACheck whether `scalar` is a NumPy Scalar without importing NumPy.N)r8   ro   Úgeneric)r"  r  s     r#   Úis_numpy_scalarr&    s)   € õ
 ‘+”+ÐˆB dÐ*ÐM­z¸&À"Ä*Ñ/MÔ/MÐMr"   c                ó\   — t          | ¦  «        pt          | ¦  «        pt          | ¦  «        S )z‚Check whether `df` is a pandas-like DataFrame without doing any imports.

    By "pandas-like", we mean: pandas, Modin, cuDF.
    )rw   r�   r›   ry   s    r#   Ú_is_pandas_like_dataframer(    s/   € õ
   Ñ#Ô#ÐXÕ':¸2Ñ'>Ô'>ÐXÕBTÐUWÑBXÔ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.
    )re   r(  ry   s    r#   Úis_pandas_like_dataframer*    s    € õ ˜rÑ"Ô"Ð"Ý$ RÑ(Ô(Ð(r"   c                ó\   — t          | ¦  «        pt          | ¦  «        p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Ô>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.
    )ri   r,  r�   s    r#   Úis_pandas_like_seriesr.  *  s    € õ ˜SÑ!Ô!Ð!Ý! #Ñ&Ô&Ð&r"   c                ó\   — t          | ¦  «        pt          | ¦  «        p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_indexr0  6  s.   € õ 	˜ÑÔÐO¥.°Ñ"7Ô"7ÐO½=ÈÑ;OÔ;Oðr"   úTypeIs[PandasLikeDType]c                ó    — t          t          ¦   «         x}¦  «        o1t          | |j        j        j        t          ¦   «         j        f¦  «        S rn   )r¨   r(   ro   ÚapiÚ
extensionsÚExtensionDtyper8   r  ©r§   rv   s     r#   Úis_pandas_like_dtyper7  @  sE   € Ý•j‘l”lÐ"�Ñ#Ô#ð ­
ØˆbŒfÔÔ.µ	±´Ô0AÐBñ)ô )ð r"   ú(TypeIs[pd.api.extensions.ExtensionDtype]c                óš   — t          t          ¦   «         x}¦  «        o.t          | |j        j        j        ¦  «        ot          | d¦  «        S )NÚto_arrow)r¨   r(   ro   r3  r4  r5  rF   r6  s     r#   Úis_cudf_dtyper;  F  sI   € õ 	•:‘<”<ÐˆRÑ Ô ð 	%Ý�s˜RœVÔ.Ô=Ñ?Ô?ð	%å�C˜Ñ$Ô$ðr"   úAny | IntoSeriesTúTypeIs[IntoSeriesT]c                ó¶   — ddl m} ddlm}  || d¦  «        pAt	          | ¦  «        p2t          | ¦  «        p#t          | ¦  «        p|                     | ¦  «        S )Nr   ©Úplugins©Ú_hasattr_staticÚ__narwhals_series__)Únarwhalsr@  r^   rB  rÏ   rß   r,  Úis_native_series©r§   r@  rB  s      r#   Ú_is_native_seriesrG  P  s‡   € Ø Ð Ð Ð Ð Ð Ø/Ð/Ð/Ð/Ð/Ð/ð 	ˆ˜Ð2Ñ3Ô3ð 	)Ý˜SÑ!Ô!ð	)å$ SÑ)Ô)ð	)õ " #Ñ&Ô&ð	)ð ×#Ò# CÑ(Ô(ðr"   úAny | IntoDataFrameTúTypeIs[IntoDataFrameT]c                ó¶   — ddl m} ddlm}  || d¦  «        pAt	          | ¦  «        p2t          | ¦  «        p#t          | ¦  «        p|                     | ¦  «        S )Nr   r?  rA  Ú__narwhals_dataframe__)rD  r@  r^   rB  rÄ   rä   r(  Úis_native_dataframerF  s      r#   Ú_is_native_dataframerM  ]  s‡   € Ø Ð Ð Ð Ð Ð Ø/Ð/Ð/Ð/Ð/Ð/ð 	ˆ˜Ð5Ñ6Ô6ð 	,Ý Ñ$Ô$ð	,å˜SÑ!Ô!ð	,õ % SÑ)Ô)ð	,ð ×&Ò& sÑ+Ô+ðr"   úAny | IntoLazyFrameTúTypeIs[IntoLazyFrameT]c                ó.  — ddl m} ddlm}  || d¦  «        p}t	          | ¦  «        pnt          | ¦  «        p_t          | ¦  «        pPt          | ¦  «        pAt          | ¦  «        p2t          | ¦  «        p#t          | ¦  «        p|                     | ¦  «        S )Nr   r?  rA  Ú__narwhals_lazyframe__)rD  r@  r^   rB  rÊ   r¯   rµ   r½   rõ   rý   r  Úis_native_lazyframerF  s      r#   Ú_is_native_lazyframerS  j  sÏ   € Ø Ð Ð Ð Ð Ð Ø/Ð/Ð/Ð/Ð/Ð/ð 	ˆ˜Ð5Ñ6Ô6ð 	,Ý Ñ$Ô$ð	,å˜cÑ"Ô"ð	,õ ˜sÑ#Ô#ð	,õ ˜#ÑÔð		,õ
 ! Ñ%Ô%ð	,õ )¨Ñ-Ô-ð	,õ " #Ñ&Ô&ð	,ð ×&Ò& sÑ+Ô+ð
r"   Únative_seriesc                óL   — ddl m} t          | |¦  «        p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   ro   rG  )rT  r   s     r#   Úis_into_seriesrW  {  s4   € ð. 'Ð&Ð&Ð&Ð&Ð&å�m VÑ,Ô,ÐPÕ0AÀ-Ñ0PÔ0PÐPr"   Únative_dataframec                óL   — ddl m} t          | |¦  «        p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	   ro   rM  )rX  r	   s     r#   Úis_into_dataframer[  —  ó>   € ð. -Ð,Ð,Ð,Ð,Ð,åÐ&¨	Ñ2Ô2ð Õ6JØñ7ô 7ð r"   Únative_lazyframec                óL   — ddl m} t          | |¦  «        p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   )rZ  r   ro   rS  )r]  r   s     r#   Úis_into_lazyframer`  µ  r\  r"   úDataFrame[IntoDataFrameT] | Anyú!TypeIs[DataFrame[IntoDataFrameT]]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   )rZ  r	   ro   rü   s     r#   r\   r\   Ó  ó&   € ð -Ð,Ð,Ð,Ð,Ð,å�b˜)Ñ$Ô$Ð$r"   ÚlfúAny | LazyFrame[IntoLazyFrameT]ú!TypeIs[LazyFrame[IntoLazyFrameT]]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   r_  )rZ  r   ro   )re  r   s     r#   r]   r]   á  rd  r"   úAny | Series[IntoSeriesT]úTypeIs[Series[IntoSeriesT]]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   )rV  r   ro   )rf   r   s     r#   rh   rh   ï  s&   € ð 'Ð&Ð&Ð&Ð&Ð&å�c˜6Ñ"Ô"Ð"r"   c                óR   — t          | ¦  «        o| j                             ¦   «         S rn   )rh   r  Ú
is_integerr�   s    r#   Úis_narwhals_series_intrn  û  s#   € Ý˜cÑ"Ô"Ð= s¤y×';Ò';Ñ'=Ô'=Ð=r"   c                óR   — t          | ¦  «        o| j                             ¦   «         S rn   )rh   r  Ú
is_booleanr�   s    r#   Úis_narwhals_series_boolrq  ÿ  s%   € õ ˜cÑ"Ô"Ð= s¤y×';Ò';Ñ'=Ô'=Ð=r"   ),r-   r;   r=   r@   rC   r*   r8   r(   r$   r4   rK   rO   rM   rR   r�   r¦   r£   r±   r·   r¿   r[  r`  rW  r�   r˜   r•   r\   r]   rh   r  rz   r‰   r*  r0  r.  r‚   rÇ   rÌ   rÑ   rá   ræ   rÿ   r÷   r  )r   r   )rS   r   r   rT   )rf   r   r   rT   )rj   r   r   rk   )rf   r   r   r|   )r„   r   r   r…   )rj   r   r   rŠ   )rf   r   r   r‘   )r„   r   r   r–   )rj   r   r   r™   )rf   r   r   rŸ   )r„   r   r   r¤   )r§   r   r   r¨   )rj   r   r   r­   )rj   r   r   r²   )rj   r   r   r¸   )rj   r   r   rÀ   )rj   r   r   rÈ   )rf   r   r   rÍ   )r§   r   r   rÒ   )r§   r   r   r×   )rf   r   r   rÛ   )rj   r   r   râ   )r§   r   r   rç   )r§   r   r   rì   )r§   r   r   rï   )rj   r   r   rò   )rj   r   r   rø   )rj   r   r   r   )r  r  r   r	  )r  r   r   r  )r  r   r   r  )r  r   r   r  )r"  r   r   r#  )rj   r   r   r¨   )rf   r   r   r¨   )r„   r   r   r¨   )r§   r   r   r1  )r§   r   r   r8  )r§   r<  r   r=  )r§   rH  r   rI  )r§   rN  r   rO  )rT  r<  r   r=  )rX  rH  r   rI  )r]  rN  r   rO  )rj   ra  r   rb  )re  rf  r   rg  )rf   ri  r   rj  )ˆÚ
__future__r   r   Útypingr   r   Únarwhals._exceptionsr   r   r,   Údask.dataframeÚ	dataframerG   r?   rB   Úmodin.pandasr'   rŒ   rv   r   rÃ   r3   rÞ   Úpyspark.sqlÚsqlrô   rú   r	   ÚPySparkConnectDataFrameÚtyping_extensionsr
   Únarwhals._spark_like.dataframer   rZ  r   rV  r   Únarwhals.typingr   r   r   r   r   r   r   r   r   r   Ú	frozensetru   r$   r(   r*   r-   r1   r4   r8   r;   r=   r@   rC   rH   rK   rM   rO   rR   re   ri   rw   rz   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.  r0  r7  r;  rG  rM  rS  rW  r[  r`  r\   r]   rh   rn  rq  Ú__all__r!   r"   r#   ú<module>r€     sÓ  ðð #Ð "Ð "Ð "Ð "Ð "à 
€
€
€
Ø %Ð %Ð %Ð %Ð %Ð %Ð %Ð %à .Ð .Ð .Ð .Ð .Ð .àð Ø Ð Ð Ð Ð Ð à€K€K€KØÐÐÐÐÐØ€M€M€MØ€K€K€KØÐÐÐÐÐØÐÐÐØÐÐÐØÐÐÐØ%Ð%Ð%Ð%Ð%Ð%ØRÐRÐRÐRÐRÐRØ(Ð(Ð(Ð(Ð(Ð(à@Ð@Ð@Ð@Ð@Ð@Ø7Ð7Ð7Ð7Ð7Ð7Ð7Ð7Ø&Ð&Ð&Ð&Ð&Ð&ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð" ˆy˜+˜Ñ'Ô'€ð+ð +ð +ð +ð
+ð +ð +ð +ð
1ð 1ð 1ð 1ð
)ð )ð )ð )ð
)ð )ð )ð )ð
,ð ,ð ,ð ,ð
*ð *ð *ð *ð
)ð )ð )ð )ð
3ð 3ð 3ð 3ð
+ð +ð +ð +ð
)ð )ð )ð )ð
.ð .ð .ð .ð,ð ,ð ,ð ,ð
0ð 0ð 0ð 0ð
8ð 8ð 8ð 8ð
-ð -ð -ð -ð

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