ó
    - jöd  ã                  óž  • S SK Jr  S SKrS SKJrJr  S SKJr  \(       ah  S SKJr  S SK	r	S SK
Jr  S SKrS SKrS SKJ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J"r"  S S
K#J$r$  S SK%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/  \0" S/5      r1ScS jr2ScS jr3ScS jr4ScS jr5ScS jr6ScS jr7ScS jr8ScS jr9ScS jr:ScS jr;ScS jr<ScS jr=ScS jr>ScS jr?ScS jr@ScS jrASdS jrBSeS jrCSfS jrDSfS  jrESgS! jrFSgS" jrGShS# jrHSiS$ jrISiS% jrJSjS& jrKSjS' jrLSkS( jrMSlS) jrNSlS* jrOSmS+ jrPSmS, jrQSnS- jrRSoS. jrSSpS/ jrTSpS0 jrUSqS1 jrVSqS2 jrWSrS3 jrXSrS4 jrYSsS5 jrZSsS6 jr[StS7 jr\StS8 jr]SuS9 jr^SuS: jr_SvS; jr`SwS< jraSxS= jrbSxS> jrcSyS? jrdSyS@ jreSzSA jrfS{SB jrgS|SC jrhS}SD jriS}SE jrjS~SF jrkS~SG jrlSSH jrmSSI jrnS€SJ jroS�SK jrpS‚SL jrqS‚SM jrrSƒSN jrsS„SO jrtS…SP jruS…SQ jrvS†SR jrwS†SS jrxS‡ST jrySˆSU jrz    S‰SV jr{SŠSW jr|S‹SX jr}SŒSY jr~S�SZ jrSŽS[ jr€S�S\ jr�    S�S] jr‚    S‘S^ jrƒS’S_ jr„S’S` jr…    S’Sa jr†/ SbQr‡g)“é    )Ú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   • [         R                  R                  SS5      $ )z;Get Polars module (if already imported - else return None).ÚpolarsN©ÚsysÚmodulesÚget© ó    Ú£C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\narwhals/dependencies.pyÚ
get_polarsr#   1   ó   € ä�;‰;�?‰?˜8 TÓ*Ð*r!   c                 óB   • [         R                  R                  SS5      $ )z;Get pandas module (if already imported - else return None).ÚpandasNr   r    r!   r"   Ú
get_pandasr'   6   r$   r!   c                 óB   • [         R                  R                  SS5      $ )zAGet modin.pandas module (if already imported - else return None).zmodin.pandasNr   r    r!   r"   Ú	get_modinr)   ;   s   € ä�;‰;�?‰?˜>¨4Ó0Ð0r!   c                 óB   • [         R                  R                  SS5      $ )z9Get cudf module (if already imported - else return None).ÚcudfNr   r    r!   r"   Úget_cudfr,   @   ó   € ä�;‰;�?‰?˜6 4Ó(Ð(r!   c                 óB   • [         R                  R                  SS5      $ )z9Get cupy module (if already imported - else return None).ÚcupyNr   r    r!   r"   Úget_cupyr0   E   r-   r!   c                 óB   • [         R                  R                  SS5      $ )z<Get pyarrow module (if already imported - else return None).ÚpyarrowNr   r    r!   r"   Úget_pyarrowr3   J   ó   € ä�;‰;�?‰?˜9 dÓ+Ð+r!   c                 óB   • [         R                  R                  SS5      $ )z:Get numpy module (if already imported - else return None).ÚnumpyNr   r    r!   r"   Ú	get_numpyr7   O   s   € ä�;‰;�?‰?˜7 DÓ)Ð)r!   c                 óB   • [         R                  R                  SS5      $ )z2Get dask (if already imported - else return None).ÚdaskNr   r    r!   r"   Úget_daskr:   T   r-   r!   c                 óB   • [         R                  R                  SS5      $ )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   • [         R                  R                  SS5      $ )z;Get duckdb module (if already imported - else return None).ÚduckdbNr   r    r!   r"   Ú
get_duckdbr?   ^   r$   r!   c                 óB   • [         R                  R                  SS5      $ )z9Get ibis module (if already imported - else return None).ÚibisNr   r    r!   r"   Úget_ibisrB   c   r-   r!   c                 ó–   • [        5       =n b  [        U S5      (       a  U R                  $ [        R                  R                  SS5      $ )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   s;   € ä Ó"Ð"ˆÑ/´G¸BÀ×4LÑ4LØ�|‰|ÐÜ�;‰;�?‰?˜;¨Ó-Ð-r!   c                 óB   • [         R                  R                  SS5      $ )z<Get pyspark module (if already imported - else return None).ÚpysparkNr   r    r!   r"   Úget_pysparkrJ   o   r4   r!   c                 óB   • [         R                  R                  SS5      $ )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   • [         R                  R                  SS5      $ )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   • [         R                  R                  SS5      $ )z=Get sqlframe module (if already imported - else return None).ÚsqlframeNr   r    r!   r"   Úget_sqlframerQ   ~   s   € ä�;‰;�?‰?˜: tÓ,Ð,r!   c          	     óð   • [        U 5      (       d  [        U 5      (       aV  SSKJn  [        R
                  " S5      R                  R                  nSU" U 5       SU SU SU S3	n[        U[        5        g g )	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   ƒ   s}   € Ü˜U×#Ñ#Ô'<¸U×'CÑ'CÝ7ä—’˜qÓ!×(Ñ(×0Ñ0ˆàÑ0°Ó7Ð8¸¸v¸hð G&Ø&, Xð .Ø#˜HÐ$9ð;ð 	ô
 	�cœ;Õ'ð (Dr!   c          	     óÐ   • [        U 5      (       aV  SSKJn  [        R                  " S5      R
                  R                  nSU" U 5       SU SU SU S3	n[        U[        5        g g )	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   �   sq   € Ü˜#×ÑÝ7ä—’˜qÓ!×(Ñ(×0Ñ0ˆàÑ0°Ó5Ð6°f¸V¸Hð E&Ø&, Xð .Ø#˜HÐ$7ð9ð 	ô
 	�cœ;Õ'ð r!   c                óž   ^ ^• [        5       =nSL=(       a    [        T UR                  5      =(       d    [        U U4S j[         5       5      $ )zBCheck whether `df` is a pandas DataFrame without importing pandas.Nc              3  óº   >#   • U  HP  n[         R                  R                  US 5      =mS L=(       a     [        TTR                  R
                  5      v •  MR     g 7f©N)r   r   r   Ú
isinstancer&   r	   )Ú.0Úmodule_nameÚdfÚmods     €€r"   Ú	<genexpr>Ú'_is_pandas_dataframe.<locals>.<genexpr>Ÿ   sR   øé € ð Vò (ˆKô —‘—‘ ¨TÓ2Ð	2ˆ¸4Ð?÷ 	1Ü�r˜3Ÿ:™:×/Ñ/Ó0ô	1â'ùó   ƒAA)r'   rk   r	   ÚanyÚIMPORT_HOOKS)rn   Úpdro   s   ` @r"   Ú_is_pandas_dataframerv   �   sF   ù€ ä“<ÐˆR¨Ð,×M´¸BÀÇÁÓ1M÷ ÔRUõ Võ (óVó Sð r!   c                ó.   • [        U 5        [        U 5      $ )z‘Check whether `df` is a pandas DataFrame without importing pandas.

Warning:
    This method cannot be called on a Narwhals DataFrame/LazyFrame.
)rc   rv   ©rn   s    r"   Úis_pandas_dataframery   ¦   ó   € ô ˜rÔ"Ü Ó#Ð#r!   c                óž   ^ ^• [        5       =nSL=(       a    [        T UR                  5      =(       d    [        UU 4S j[         5       5      $ )z@Check whether `ser` is a pandas Series without importing pandas.Nc              3  óº   >#   • U  HP  n[         R                  R                  US 5      =mS L=(       a     [        TTR                  R
                  5      v •  MR     g 7frj   )r   r   r   rk   r&   r   )rl   rm   ro   rf   s     €€r"   rp   Ú$_is_pandas_series.<locals>.<genexpr>²   sR   øé € ð Tò (ˆKô —‘—‘ ¨TÓ2Ð	2ˆ¸4Ð?÷ 	/Ü�s˜CŸJ™J×-Ñ-Ó.ô	/â'ùrr   )r'   rk   r   rs   rt   )rf   ru   ro   s   ` @r"   Ú_is_pandas_seriesr~   °   sF   ù€ ä“<ÐˆR¨Ð,×K´¸CÀÇÁÓ1K÷ ÔPSõ Tõ (óTó Qð r!   c                ó.   • [        U 5        [        U 5      $ )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                óž   ^ ^• [        5       =nSL=(       a    [        T UR                  5      =(       d    [        U U4S j[         5       5      $ )zACheck whether `index` is a pandas Index without importing pandas.Nc              3  óº   >#   • U  HP  n[         R                  R                  US 5      =mS L=(       a     [        TTR                  R
                  5      v •  MR     g 7frj   )r   r   r   rk   r&   ÚIndex)rl   rm   Úindexro   s     €€r"   rp   Ú"is_pandas_index.<locals>.<genexpr>Å   sR   øé € ð Uò (ˆKô —‘—‘ ¨TÓ2Ð	2ˆ¸4Ð?÷ 	0Ü�u˜cŸj™j×.Ñ.Ó/ô	0â'ùrr   )r'   rk   r…   rs   rt   )r†   ru   ro   s   ` @r"   Úis_pandas_indexrˆ   Ã   sF   ù€ ä“<ÐˆR¨Ð,×L´¸EÀ2Ç8Á8Ó1L÷ ÔQTõ Uõ (óUó Rð r!   c                óV   • [        5       =nSL=(       a    [        XR                  5      $ )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¿}¹}Ó0MÐMr!   c                ó.   • [        U 5        [        U 5      $ )z�Check whether `df` is a modin DataFrame without importing modin.

Warning:
    This method cannot be called on a Narwhals DataFrame/LazyFrame.
)rc   r‹   rx   s    r"   Úis_modin_dataframer�   Ñ   ó   € ô ˜rÔ"Ü˜rÓ"Ð"r!   c                óV   • [        5       =nSL=(       a    [        XR                  5      $ )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                ó.   • [        U 5        [        U 5      $ )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                óV   • [        5       =nSL=(       a    [        XR                  5      $ )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                óV   • [        5       =nSL=(       a    [        XR                  5      $ )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¿~¹~Ó0NÐNr!   c                ó.   • [        U 5        [        U 5      $ )z�Check whether `df` is a cudf DataFrame without importing cudf.

Warning:
    This method cannot be called on a Narwhals DataFrame/LazyFrame.
)rc   r–   rx   s    r"   Úis_cudf_dataframer˜   ô   ó   € ô ˜rÔ"Ü˜bÓ!Ð!r!   c                óV   • [        5       =nSL=(       a    [        XR                  5      $ )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                ó.   • [        U 5        [        U 5      $ )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                óV   • [        5       =nSL=(       a    [        XR                  5      $ )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Ð+÷ ´
Ø�z‰zó1ð r!   c                ó‚   • [        5       =nS L=(       a+    [        XR                  5      =(       a    U R                  S:H  $ )NrU   )r0   rk   ÚndarrayÚsize)Úobjr/   s     r"   Úis_cupy_scalarr¤     s7   € ä“Ð	ˆ DÐ(÷ 	Ü�sŸL™LÓ)÷	à�H‰H˜‰Mðr!   c                óV   • [        5       =nSL=(       a    [        XR                  5      $ )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Ç|Á|Ó8TÐTr!   c                ó.   • [        U 5        [        U 5      $ )z�Check whether `df` is a Dask DataFrame without importing Dask.

Warning:
    This method cannot be called on a Narwhals DataFrame/LazyFrame.
)rc   r¦   rx   s    r"   Úis_dask_dataframer¨   !  r™   r!   c                óV   • [        5       =nSL=(       a    [        XR                  5      $ )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Ø
×#Ñ#ó5ð r!   c                ó.   • [        U 5        [        U 5      $ )zŽCheck whether `df` is a DuckDB Relation without importing DuckDB.

Warning:
    This method cannot be called on Narwhals DataFrame/LazyFrame.
)rc   r«   rx   s    r"   Úis_duckdb_relationr­   2  rŽ   r!   c                ó~   • [        5       =nSL=(       a)    [        XR                  R                  R                  5      $ )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¿y¹y¿¹×?TÑ?TÓ0UÐUr!   c                ó.   • [        U 5        [        U 5      $ )z‡Check whether `df` is a Ibis Table without importing Ibis.

Warning:
    This method cannot be called on Narwhals DataFrame/LazyFrame.
)rc   r²   rx   s    r"   Úis_ibis_tabler´   A  s   € ô ˜rÔ"Ü˜"ÓÐr!   c                óV   • [        5       =nSL=(       a    [        XR                  5      $ )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¿|¹|Ó0LÐLr!   c                ó.   • [        U 5        [        U 5      $ )z‘Check whether `df` is a Polars DataFrame without importing Polars.

Warning:
    This method cannot be called on a Narwhals DataFrame/LazyFrame.
)rc   r¸   rx   s    r"   Úis_polars_dataframer»   P  rz   r!   c                óV   • [        5       =nSL=(       a    [        XR                  5      $ )zBCheck whether `df` is a Polars LazyFrame without importing Polars.N)r#   rk   r   r¶   s     r"   Ú_is_polars_lazyframer½   Z  r¹   r!   c                ó.   • [        U 5        [        U 5      $ )z�Check whether `df` is a Polars LazyFrame without importing Polars.

Warning:
    This method cannot be called on Narwhals DataFrame/LazyFrame.
)rc   r½   rx   s    r"   Úis_polars_lazyframer¿   _  rz   r!   c                óV   • [        5       =nSL=(       a    [        XR                  5      $ )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                ó.   • [        U 5        [        U 5      $ )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                óŠ   • [        [        5       =n5      =(       a(    [        US5      =(       a    [        XR                  5      $ )NÚSchema)Úboolr#   rE   rk   rÅ   ©r£   r·   s     r"   Úis_polars_schemarÈ   x  s0   € ä”:“<ÐˆRÓ ×Y¤W¨R°Ó%:×Y¼zÈ#ÏyÉyÓ?Yðr!   c                ód   • [        [        5       =n5      =(       a    [        XR                  5      $ rj   )rÆ   r#   rk   ÚDataTyperÇ   s     r"   Úis_polars_data_typerË     s"   € Ü”j“lÐ"�Ó#×D¬
°3¿¹Ó(DÐDr!   c                óV   • [        5       =nSL=(       a    [        XR                  5      $ )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                ó.   • [        U 5        [        U 5      $ )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                óV   • [        5       =nSL=(       a    [        XR                  5      $ )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                ó.   • [        U 5        [        U 5      $ )z�Check whether `df` is a PyArrow Table without importing PyArrow.

Warning:
    This method cannot be called on a Narwhals DataFrame/LazyFrame.
)rc   rÓ   rx   s    r"   Úis_pyarrow_tablerÕ   —  s   € ô ˜rÔ"Ü˜RÓ Ð r!   c                óV   • [        5       =nS L=(       a    [        XR                  5      $ rj   )r3   rk   ÚScalar©r£   rÎ   s     r"   Úis_pyarrow_scalarrÙ   ¡  s"   € Ü“-ÐˆB¨Ð,×K´¸CÇÁÓ1KÐKr!   c                ód   • [        [        5       =n5      =(       a    [        XR                  5      $ rj   )rÆ   r3   rk   rÅ   rØ   s     r"   Úis_pyarrow_schemarÛ   ¥  s"   € Ü”k“mÐ#�Ó$×C¬°C¿¹Ó)CÐCr!   c                ód   • [        [        5       =n5      =(       a    [        XR                  5      $ rj   )rÆ   r3   rk   rÊ   rØ   s     r"   Úis_pyarrow_data_typerÝ   ©  s"   € Ü”k“mÐ#�Ó$×E¬°C¿¹Ó)EÐEr!   c                óh   • [        [        5       =nSL=(       a    [        XR                  5      5      $ )zDCheck whether `df` is a PySpark DataFrame without importing PySpark.N)rÆ   rL   rk   r	   )rn   Úpyspark_sqls     r"   Ú_is_pyspark_dataframerà   ­  s2   € äÜ'Ó)Ð	)ˆ°$Ð6÷ 	2Ü�r×0Ñ0Ó1óð r!   c                ó.   • [        U 5        [        U 5      $ )z“Check whether `df` is a PySpark DataFrame without importing PySpark.

Warning:
    This method cannot be called on a Narwhals DataFrame/LazyFrame.
)rc   rà   rx   s    r"   Úis_pyspark_dataframerâ   µ  s   € ô ˜rÔ"Ü  Ó$Ð$r!   c                ó^   • [        5       b   SSKJn  [	        X5      $ g! [         a     gf = f)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ç   ¿  s7   € äÓÑ(ð	Ý?ô ˜"Ó(Ð(Øøô ó 	Ùð	ús   � Ÿ
,«,c                ó.   • [        U 5        [        U 5      $ )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ç   rx   s    r"   Úis_pyspark_connect_dataframeré   Ê  s   € ô ˜rÔ"Ü(¨Ó,Ð,r!   c                ó<   • [        5       b  SSKJn  [        X5      $ g)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ä˜"Ó,Ð,Ør!   c                ó.   • [        U 5        [        U 5      $ )z•Check whether `df` is a SQLFrame DataFrame without importing SQLFrame.

Warning:
    This method cannot be called on a Narwhals DataFrame/LazyFrame.
)rc   rí   rx   s    r"   Úis_sqlframe_dataframerï   Ý  s   € ô ˜rÔ"Ü! "Ó%Ð%r!   c                óV   • [        5       =nSL=(       a    [        XR                  5      $ )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¸#¿z¹zÓ/JÐJr!   c                óD   • [        U 5      =(       a    U R                  S:H  $ )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                ó˜   • [        5       =n=(       a8    [        U 5      =(       a&    UR                  U R                  UR                  5      $ 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                ó˜   • [        5       =n=(       a8    [        U 5      =(       a&    UR                  U R                  UR                  5      $ rj   )r7   rù   rü   rý   Úbool_rñ   s     r"   Úis_numpy_array_1d_boolr  ù  s9   € ä‹{Ð	ˆ÷ 	/Ü˜cÓ"÷	/à�M‰M˜#Ÿ)™) R§X¡XÓ.ðr!   c                óD   • [        U 5      =(       a    U R                  S:H  $ )z@Check whether `arr` is a 2D NumPy Array without importing NumPy.é   rö   rø   s    r"   Úis_numpy_array_2dr    rú   r!   c                óV   • [        5       =nSL=(       a    [        XR                  5      $ )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                ó`   • [        U 5      =(       d    [        U 5      =(       d    [        U 5      $ )zzCheck whether `df` is a pandas-like DataFrame without doing any imports.

By "pandas-like", we mean: pandas, Modin, cuDF.
)rv   r‹   r–   rx   s    r"   Ú_is_pandas_like_dataframer    s&   € ô
   Ó#×XÔ':¸2Ó'>×XÔBTÐUWÓBXÐXr!   c                ó.   • [        U 5        [        U 5      $ )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  rx   s    r"   Úis_pandas_like_dataframer    s   € ô ˜rÔ"Ü$ RÓ(Ð(r!   c                ó`   • [        U 5      =(       d    [        U 5      =(       d    [        U 5      $ )zxCheck 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                ó.   • [        U 5        [        U 5      $ )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                ó`   • [        U 5      =(       d    [        U 5      =(       d    [        U 5      $ )zyCheck 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                ó´   • [        [        5       =n5      =(       a=    [        XR                  R                  R
                  [        5       R                  45      $ rj   )rÆ   r'   rk   ÚapiÚ
extensionsÚExtensionDtyper7   rý   ©r£   ru   s     r"   Úis_pandas_like_dtyper  @  sB   € Ü”j“lÐ"�Ó#÷ ¬
Ø�f‰f×Ñ×.Ñ.´	³×0AÑ0AÐBó)ð r!   c                ó²   • [        [        5       =n5      =(       a<    [        XR                  R                  R
                  5      =(       a    [        U S5      $ )NÚto_arrow)rÆ   r'   rk   r  r  r  rE   r  s     r"   Úis_cudf_dtyper  F  sD   € ô 	”:“<ÐˆRÓ ÷ 	%Ü�sŸV™V×.Ñ.×=Ñ=Ó?÷	%ä�C˜Ó$ðr!   c                óÈ   • SSK Jn  SSKJn  U" U S5      =(       dG    [	        U 5      =(       d5    [        U 5      =(       d#    [        U 5      =(       d    UR                  U 5      $ )Nr   ©Úplugins©Ú_hasattr_staticÚ__narwhals_series__)Únarwhalsr  r[   r!  rÁ   rÏ   r  Úis_native_series©r£   r  r!  s      r"   Ú_is_native_seriesr&  P  sX   € Ý Ý/ñ 	˜Ð2Ó3÷ 	)Ü˜SÓ!÷	)ä$ SÓ)÷	)ô " #Ó&÷	)ð ×#Ñ# CÓ(ðr!   c                óÈ   • SSK Jn  SSKJn  U" U S5      =(       dG    [	        U 5      =(       d5    [        U 5      =(       d#    [        U 5      =(       d    UR                  U 5      $ )Nr   r  r   Ú__narwhals_dataframe__)r#  r  r[   r!  r¸   rÓ   r  Úis_native_dataframer%  s      r"   Ú_is_native_dataframer*  ]  sX   € Ý Ý/ñ 	˜Ð5Ó6÷ 	,Ü Ó$÷	,ä˜SÓ!÷	,ô % SÓ)÷	,ð ×&Ñ& sÓ+ðr!   c                óX  • SSK Jn  SSKJn  U" U S5      =(       d�    [	        U 5      =(       d}    [        U 5      =(       dk    [        U 5      =(       dY    [        U 5      =(       dG    [        U 5      =(       d5    [        U 5      =(       d#    [        U 5      =(       d    UR                  U 5      $ )Nr   r  r   Ú__narwhals_lazyframe__)r#  r  r[   r!  r½   r¦   r«   r²   rà   rç   rí   Úis_native_lazyframer%  s      r"   Ú_is_native_lazyframer.  j  s”   € Ý Ý/ñ 	˜Ð5Ó6÷ 	,Ü Ó$÷	,ä˜cÓ"÷	,ô ˜sÓ#÷	,ô ˜#Ó÷		,ô
 ! Ó%÷	,ô )¨Ó-÷	,ô " #Ó&÷	,ð ×&Ñ& sÓ+ð
r!   c                óH   • SSK Jn  [        X5      =(       d    [        U 5      $ )a	  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_seriesr2  {  s   € õ. 'ä�mÓ,×PÔ0AÀ-Ó0PÐPr!   c                óH   • SSK Jn  [        X5      =(       d    [        U 5      $ )aP  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_dataframer6  —  ó%   € õ. -äÐ&Ó2÷ Ô6JØó7ð r!   c                óH   • SSK Jn  [        X5      =(       d    [        U 5      $ )aQ  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   )r4  r   rk   r.  )Únative_lazyframer   s     r"   Úis_into_lazyframer;  µ  r7  r!   c                ó$   • SSK Jn  [        X5      $ )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   )r4  r	   rk   ræ   s     r"   rY   rY   Ó  ó   € õ -ä�bÓ$Ð$r!   c                ó$   • SSK Jn  [        X5      $ )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   r9  )r4  r   rk   )Úlfr   s     r"   rZ   rZ   á  r=  r!   c                ó$   • SSK Jn  [        X5      $ )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   )r0  r   rk   )rf   r   s     r"   re   re   ï  s   € õ 'ä�cÓ"Ð"r!   c                óZ   • [        U 5      =(       a    U R                  R                  5       $ rj   )re   rý   Ú
is_integerr€   s    r"   Úis_narwhals_series_intrC  û  s   € Ü˜cÓ"×= s§y¡y×';Ñ';Ó'=Ð=r!   c                óZ   • [        U 5      =(       a    U R                  R                  5       $ rj   )re   rý   Ú
is_booleanr€   s    r"   Úis_narwhals_series_boolrF  ÿ  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´   r6  r;  r2  r�   r”   r’   rY   rZ   re   rô   ry   rˆ   r  r  r  r�   r»   r¿   rÃ   rÑ   rÕ   ré   râ   rï   )Úreturnr   )r`   r   rG  ÚNone)rf   r   rG  rH  )rn   r   rG  zTypeIs[pd.DataFrame])rf   r   rG  zTypeIs[pd.Series[Any]])r†   r   rG  zTypeIs[pd.Index[Any]])rn   r   rG  zTypeIs[mpd.DataFrame])rf   r   rG  zTypeIs[mpd.Series])r†   r   rG  zTypeIs[mpd.Index[Any]])rn   r   rG  zTypeIs[cudf.DataFrame])rf   r   rG  zTypeIs[cudf.Series[Any]])r†   r   rG  zTypeIs[cudf.Index])r£   r   rG  rÆ   )rn   r   rG  zTypeIs[dd.DataFrame])rn   r   rG  zTypeIs[duckdb.DuckDBPyRelation])rn   r   rG  zTypeIs[ibis.Table])rn   r   rG  zTypeIs[pl.DataFrame])rn   r   rG  zTypeIs[pl.LazyFrame])rf   r   rG  zTypeIs[pl.Series])r£   r   rG  zTypeIs[pl.Schema])r£   r   rG  zTypeIs[pl.DataType])rf   r   rG  zTypeIs[pa.ChunkedArray[Any]])rn   r   rG  zTypeIs[pa.Table])r£   r   rG  zTypeIs[pa.Scalar[Any]])r£   r   rG  zTypeIs[pa.Schema])r£   r   rG  zTypeIs[pa.DataType])rn   r   rG  zTypeIs[pyspark_sql.DataFrame])rn   r   rG  zTypeIs[PySparkConnectDataFrame])rn   r   rG  zTypeIs[SQLFrameDataFrame])rò   zAny | _NDArray[_ShapeT]rG  zTypeIs[_NDArray[_ShapeT]])rò   r   rG  zTypeIs[_1DArray])rò   r   rG  zTypeIs[_1DArrayInt])rò   r   rG  zTypeIs[_2DArray])r  r   rG  zTypeGuard[_NumpyScalar])rn   r   rG  rÆ   )rf   r   rG  rÆ   )r†   r   rG  rÆ   )r£   r   rG  zTypeIs[PandasLikeDType])r£   r   rG  z(TypeIs[pd.api.extensions.ExtensionDtype])r£   úAny | IntoSeriesTrG  úTypeIs[IntoSeriesT])r£   úAny | IntoDataFrameTrG  úTypeIs[IntoDataFrameT])r£   úAny | IntoLazyFrameTrG  úTypeIs[IntoLazyFrameT])r1  rI  rG  rJ  )r5  rK  rG  rL  )r:  rM  rG  rN  )rn   zDataFrame[IntoDataFrameT] | AnyrG  z!TypeIs[DataFrame[IntoDataFrameT]])r?  zAny | LazyFrame[IntoLazyFrameT]rG  z!TypeIs[LazyFrame[IntoLazyFrameT]])rf   zAny | Series[IntoSeriesT]rG  zTypeIs[Series[IntoSeriesT]])ˆÚ
__future__r   r   Útypingr   r   Únarwhals._exceptionsr   r   r+   Údask.dataframeÚ	dataframerF   r>   rA   Úmodin.pandasr&   rŠ   ru   r   r·   r2   rÎ   Úpyspark.sqlÚsqlrß   rä   r	   ÚPySparkConnectDataFrameÚtyping_extensionsr
   Únarwhals._spark_like.dataframer   r4  r   r0  r   Únarwhals.typingr   r   r   r   r   r   r   r   r   r   Ú	frozensetrt   r#   r'   r)   r,   r0   r3   r7   r:   r<   r?   rB   rG   rJ   rL   rN   rQ   rc   rg   rv   ry   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  r6  r;  rY   rZ   re   rC  rF  Ú__all__r    r!   r"   Ú<module>r]     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!   