Ë
    z�hÍõ  ã                  ó–  — 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 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 d dlm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 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$ 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* 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/ d d!l"m0Z0 d d"l"m1Z2 d d#l3m4Z5 d d$l6m7Z8 d d%l9m: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@ d d+l;mAZA d d,l;mBZB d d-l;mCZC d d.l;mDZD d d/l;mEZE d d0l;mFZF d d1l;mGZG d d2l;mHZH d d3l;mIZI d d4l;mJZJ d d5l;mKZK d d6l;mLZL d d7l;mMZM d d8l;mNZN d d9l;mOZO d d:l;mPZP d d;l;mQZQ d d<l;mRZR d d=l;mSZS d d>l;mTZT d d?l;mUZU d d@l;mVZV d dAl;mWZW d dBlXmYZY d dClXmZZZ d dDlXm[Z[ d dEl\m]Z] d dFl\m^Z^ d dGl_m`Z` d dHl_maZa d dIl_mbZb d dJl_mcZc d dKl_mdZd d dLl_meZe d dMl_mfZf d dNl_mgZg d dOl_mhZh d dPl_miZi d dQl_mjZj d dRl_mkZk d dSl_mlZl erÀd dTlmmnZn d dUlmoZo d dVlpmqZq d dWlpmrZr d dXlpmsZs d dYltmuZu d dZlmvZv d d[lmwZw d d\lxmyZy d d]l\mzZz d d^l\m{Z{ d d_l\m|Z| d d`l\m}Z} d dal\m~Z~ d dbl\mZ d dcl\m€Z€ d ddl\m�Z� d del\m‚Z‚ d dfl\mƒZƒ  esdgdhdi«      Z„ esdjdh¬k«      Z… esdldi¬k«      Z† esdmdn¬k«      Z‡ esdodpe¬q«      Zˆ esdre¬s«      Z‰ eqdt«      ZŠ esdu«      Z‹nd dXlmsZs  esdodp¬k«      Zˆ esdr«      Z‰ G dv„ dwee]   «      Z G dx„ dyee^   «      Z G dz„ d{e8eˆ   «      Z7 G d|„ d}e!«      Z  G d~„ de5«      Z4edõd€„«       ZŒedöd�„«       ZŒed÷d‚„«       ZŒedødƒ„«       ZŒedùd„„«       ZŒ	 	 	 	 dúd…„ZŒedûd†„«       Z�edüd‡„«       Z�edýdˆ„«       Z�e	 	 	 	 	 	 dþd‰„«       Z�edŠdŠd‹œ	 	 	 	 	 	 	 	 	 	 	 	 	 dÿdŒ„«       Z�edŠdŠd�œ	 	 	 	 	 	 	 	 	 	 	 	 	 �d dŽ„«       Z�edŠdŠdŠd�œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd�„«       Z�edŠdŠdŠd�œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd‘„«       Z�edŠdŠdŠd’œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd“„«       Z�edŠdŠdŠd’œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd”„«       Z�edŠdŠdŠd•œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd–„«       Z�edŠdŠdŠd—œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd˜„«       Z�edŠdŠdŠdŠd™œ	 	 	 	 	 	 	 	 	 	 	 	 	 �ddš„«       Z�edŠdŠdŠdŠd™œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd›„«       Z�edŠdŠdŠdŠdœœ	 	 	 	 	 	 	 	 	 	 	 	 	 �d	d�„«       Z�edŠdŠdŠdŠdžœ	 	 	 	 	 	 	 	 	 	 	 	 	 �d
dŸ„«       Z�edŠdŠdŠdŠd œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd¡„«       Z�edŠdŠdŠdŠd¢œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd£„«       Z�edŠdŠdŠdŠdŠd¤œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd¥„«       Z�edŠdŠdŠdŠdŠd¤œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd¦„«       Z�edŠdŠd‹œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd§„«       Z�edŠdŠd�œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd¨„«       Z�edŠdŠdŠd�œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd©„«       Z�edŠdŠdŠd�œ	 	 	 	 	 	 	 	 	 	 	 	 	 �ddª„«       Z�edŠdŠdŠd’œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd«„«       Z�edŠdŠdŠd’œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd¬„«       Z�edŠdŠdŠd•œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd­„«       Z�edŠdŠdŠd—œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd®„«       Z�edŠdŠdŠdŠd™œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd¯„«       Z�edŠdŠdŠdŠd™œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd°„«       Z�edŠdŠdŠdŠd±œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd²„«       Z�edŠdŠdŠdŠd³œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd´„«       Z�edŠdŠdŠdŠdµœ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd¶„«       Z�edŠdŠdŠdŠd·œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd¸„«       Z�edŠdŠdŠdŠdŠd¹œ	 	 	 	 	 	 	 	 	 	 	 	 	 �ddº„«       Z�ed»d¼œ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd½„«       Z�ddd»d»d»dd¾œ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 �dd¿„Z�edŠdÀœ	 	 	 	 	 �d dÁ„«       ZŽedŠdÀœ	 	 	 	 	 �d!dÂ„«       ZŽedŠdÀœ	 	 	 	 	 �d"dÃ„«       ZŽe�d#dÄ„«       ZŽedŠdÅœ	 	 	 	 	 �d$dÆ„«       ZŽedŠdÅœ	 	 	 	 	 �d%dÇ„«       ZŽedŠdÅœ	 	 	 	 	 �d&dÈ„«       ZŽe�d'dÉ„«       ZŽdddÊœ	 	 	 	 	 	 	 �d(dË„ZŽ	 �d)ddd»d»d»dÌd¾œ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 �d*dÍ„Z��d+dÎ„Z��d,dÏ„Z‘�d,dÐ„Z’�d-dÑ„Z“�d+dÒ„Z”�d)�d.dÓ„Z•�d/dÔ„Z–�d/dÕ„Z—�d/dÖ„Z˜�d/d×„Z™�d/dØ„Zš�d0dÙ„Z›�d0dÚ„Zœ�d0dÛ„Z��d0dÜ„Zž�d0dÝ„ZŸ�d0dÞ„Z dßdàœ�d1dá„Z¡dâd»dãœ	 	 	 	 	 	 	 	 	 �d2dä„Z¢ G då„ dæe&«      Z% G dç„ dèe$e «      Z#�d3dé„Z1 ebdÌ¬ê«      	 �d)dddëœ	 	 	 	 	 	 	 	 	 	 	 �d4dì„«       Z£ ebdÌ¬ê«      dddëœ	 	 	 	 	 	 	 �d5dí„«       Z¤ eb«       	 �d)dddëœ	 	 	 	 	 	 	 	 	 �d6dî„«       Z¥ ebdÌ¬ê«      	 �d)dddëœ	 	 	 	 	 	 	 	 	 �d7dï„«       Z¦ ebdÌ¬ê«      dddëœ	 	 	 	 	 	 	 	 	 �d8dð„«       Z§ ebdÌ¬ê«      dddëœ	 	 	 	 	 	 	 	 	 �d9dñ„«       Z¨ ebdÌ¬ê«      dddëœ	 	 	 	 	 	 	 	 	 �d8dò„«       Z© ebdÌ¬ê«      dddëœ	 	 	 	 	 	 	 	 	 �d9dó„«       Zªg dô¢Z«y(:  é    )Úannotations©Úwraps)ÚTYPE_CHECKING)ÚAny)ÚCallable)ÚIterable)ÚLiteral)ÚSequence)Úcast)Úoverload)ÚwarnN)Údependencies)Ú
exceptions)Ú	selectors)ÚExprKind©Ú	DataFrame)Ú	LazyFrame)Ú
get_polars)ÚInvalidIntoExprError©ÚExpr)ÚThen)ÚWhen)Ú_from_arrow_impl)Ú_from_dict_impl)Ú_from_numpy_impl)Ú_new_series_impl)Ú_read_csv_impl)Ú_read_parquet_impl)Ú_scan_csv_impl)Ú_scan_parquet_impl)Ú	get_level)Úshow_versions)Úwhen)ÚSchema©ÚSeries)Údtypes)ÚArray)ÚBinary)ÚBoolean)ÚCategorical)ÚDate)ÚDatetime)ÚDecimal)ÚDuration)ÚEnum)ÚField)ÚFloat32)ÚFloat64)ÚInt8)ÚInt16)ÚInt32)ÚInt64)ÚInt128)ÚList)ÚObject)ÚString)ÚStruct)ÚTime)ÚUInt8)ÚUInt16)ÚUInt32)ÚUInt64)ÚUInt128)ÚUnknown)Ú_from_native_impl)Úget_native_namespace)Úto_py_scalar)ÚIntoDataFrameT)Ú
IntoFrameT)ÚImplementation)ÚVersion)Údeprecate_native_namespace©Úfind_stacklevel)Úgenerate_temporary_column_name)Úinherit_doc)Úis_ordered_categorical)Úmaybe_align_index)Úmaybe_convert_dtypes)Úmaybe_get_index)Úmaybe_reset_index)Úmaybe_set_index©Úvalidate_strict_and_pass_though)Ú
ModuleType)ÚMapping)Ú	ParamSpec)ÚSelf)ÚTypeVar)ÚIntoArrowTable)ÚMultiColSelector)ÚMultiIndexSelector)ÚDType)ÚConcatMethod)ÚIntoExpr)Ú	IntoFrame)ÚIntoLazyFrameT)Ú
IntoSeries)ÚNonNestedLiteral)ÚSingleColSelector)ÚSingleIndexSelector)Ú_1DArray)Ú_2DArrayÚFrameTúDataFrame[Any]úLazyFrame[Any]Ú
DataFrameT)ÚboundÚ
LazyFrameTÚSeriesTúSeries[Any]ÚIntoSeriesTrh   )rr   ÚdefaultÚT)rw   ÚPÚRc                  óF  ‡ — e Zd Z ee«      dˆ fd„«       Zedd„«       Zedd„«       Ze	dd„«       Z
e		 	 	 	 dd„«       Z
e		 	 	 	 dd„«       Z
	 	 	 	 dˆ fd„Z
	 d	 	 	 dˆ fd„Ze	d	d
œdd„«       Ze	dd„«       Ze		 	 	 	 dd„«       Zdd
œ	 	 	 dˆ fd„Zdˆ fd„Zdˆ fd„Zd d„Zˆ xZS )!r   c               ó(   •— t         ‰| �  ||¬«       y ©N)Úlevel©ÚsuperÚ__init__©ÚselfÚdfr~   Ú	__class__s      €úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/narwhals/stable/v1/__init__.pyr�   zDataFrame.__init__~   ó   ø€ ä‰Ñ˜ 5ÐÕ)ó    c                ó"   — t        dt        «      S )Nútype[Series[Any]])r   r)   ©rƒ   s    r†   Ú_serieszDataFrame._series…   s   € äÐ'¬Ó0Ð0rˆ   c                ó"   — t        dt        «      S )Nútype[LazyFrame[Any]])r   r   r‹   s    r†   Ú
_lazyframezDataFrame._lazyframe‰   s   € äÐ*¬IÓ6Ð6rˆ   c                 ó   — y ©N© ©rƒ   Úitems     r†   Ú__getitem__zDataFrame.__getitem__�   s   € ØWZrˆ   c                 ó   — y r‘   r’   r“   s     r†   r•   zDataFrame.__getitem__�   s   € ð rˆ   c                 ó   — y r‘   r’   r“   s     r†   r•   zDataFrame.__getitem__•   s   € ð rˆ   c                ó"   •— t         ‰| �  |«      S r‘   )r€   r•   )rƒ   r”   r…   s     €r†   r•   zDataFrame.__getitem__    s   ø€ ô ‰wÑ" 4Ó(Ð(rˆ   c                ó$   •— t         ‰| �  |¬«      S )N)Úbackend)r€   Úlazy)rƒ   rš   r…   s     €r†   r›   zDataFrame.lazy¯   s   ø€ ô ‰w‰| Gˆ|Ó,Ð,rˆ   .©Ú	as_seriesc                ó   — y r‘   r’   ©rƒ   r�   s     r†   Úto_dictzDataFrame.to_dict·   s   € ØTWrˆ   c                ó   — y r‘   r’   rŸ   s     r†   r    zDataFrame.to_dict¹   s   € ØMPrˆ   c                ó   — y r‘   r’   rŸ   s     r†   r    zDataFrame.to_dict»   s   € ð 9<rˆ   Tc               ó$   •— t         ‰| �  |¬«      S )Nrœ   )r€   r    )rƒ   r�   r…   s     €r†   r    zDataFrame.to_dict¿   s   ø€ ô ‰w‰¨ˆÓ3Ð3rˆ   c                ó    •— t         ‰| �  «       S r‘   )r€   Úis_duplicated©rƒ   r…   s    €r†   r¥   zDataFrame.is_duplicatedÄ   ó   ø€ Ü‰wÑ$Ó&Ð&rˆ   c                ó    •— t         ‰| �  «       S r‘   )r€   Ú	is_uniquer¦   s    €r†   r©   zDataFrame.is_uniqueÇ   s   ø€ Ü‰wÑ Ó"Ð"rˆ   c                óP   — | j                  t        «       j                  «       «      S )zbPrivate, just used to test the stable API.

        Returns:
            A new DataFrame.
        ©ÚselectÚallÚ_l1_normr‹   s    r†   r®   zDataFrame._l1_normÊ   ó   € ð �{‰{œ3›5Ÿ>™>Ó+Ó,Ð,rˆ   ©r„   r   r~   ú&Literal['full', 'lazy', 'interchange']ÚreturnÚNone)r²   rŠ   )r²   rŽ   )r”   z-tuple[SingleIndexSelector, SingleColSelector]r²   r   )r”   z2str | tuple[MultiIndexSelector, SingleColSelector]r²   ru   )r”   z˜SingleIndexSelector | MultiIndexSelector | MultiColSelector | tuple[SingleIndexSelector, MultiColSelector] | tuple[MultiIndexSelector, MultiColSelector]r²   r^   )r”   a  SingleIndexSelector | SingleColSelector | MultiColSelector | MultiIndexSelector | tuple[SingleIndexSelector, SingleColSelector] | tuple[SingleIndexSelector, MultiColSelector] | tuple[MultiIndexSelector, SingleColSelector] | tuple[MultiIndexSelector, MultiColSelector]r²   zSeries[Any] | Self | Anyr‘   )rš   ú(ModuleType | Implementation | str | Noner²   rp   )r�   úLiteral[True]r²   zdict[str, Series[Any]])r�   úLiteral[False]r²   zdict[str, list[Any]])r�   Úboolr²   z-dict[str, Series[Any]] | dict[str, list[Any]])r²   ru   ©r²   r^   )Ú__name__Ú
__module__Ú__qualname__rR   ÚNwDataFramer�   ÚpropertyrŒ   r�   r   r•   r›   r    r¥   r©   r®   Ú__classcell__©r…   s   @r†   r   r   }   s>  ø„ Ù�Óô*ó ð*ð ò1ó ð1ð ò7ó ð7ð ÚZó ØZàðØFðà	òó ðð ð	ð:ð	ð 
ò	ó ð	ð)ð:ð)ð 
"õ)ð" =Að-à9ð-ð 
õ-ð Ø47ÔWó ØWØÚPó ØPØð<Ø ð<à	6ò<ó ð<ð $(ñ4Ø ð4à	6õ4õ
'õ#÷-rˆ   r   c                  óŠ   ‡ — e Zd Z ee«      dˆ fd„«       Zed	d„«       Zd
d„Z	 d	 	 	 	 	 dˆ fd„Z	dd„Z
ddˆ fd„Zddd„Zˆ xZS )r   c               ó(   •— t         ‰| �  ||¬«       y r}   r   r‚   s      €r†   r�   zLazyFrame.__init__Ô   r‡   rˆ   c                ó   — t         S r‘   r   r‹   s    r†   Ú
_dataframezLazyFrame._dataframeØ   ó   € äÐrˆ   c                óð  — ddl m} ddlm} ddlm} t        ||«      r|j                  S t        ||«      rd}t        |«      ‚t        ||«      r|j                  | j                  «       «      S t        |t        «      r!| j                  «       }|j                  |«      S t        «       �0dt        t        |«      «      v rdt        |«      › d�}t        |«      ‚t        j                   t        |«      «      ‚)	Nr   ©Ú	BaseFramer   r(   z.Mixing Series with LazyFrame is not supported.ÚpolarszExpected Narwhals object, got: z[.

Perhaps you:
- Forgot a `nw.from_native` somewhere?
- Used `pl.col` instead of `nw.col`?)Únarwhals.dataframerÇ   Únarwhals.exprr   Únarwhals.seriesr)   Ú
isinstanceÚ_compliant_frameÚ	TypeErrorÚ_to_compliant_exprÚ__narwhals_namespace__ÚstrÚcolr   Útyper   Úfrom_invalid_type)rƒ   ÚargrÇ   r   r)   ÚmsgÚplxs          r†   Ú_extract_compliantzLazyFrame._extract_compliantÜ   sØ   € õ 	1Ý&Ý*ä�c˜9Ô%Ø×'Ñ'Ð'Ü�c˜6Ô"ØBˆCÜ˜C“.Ð Ü�c˜4Ô à×)Ñ)¨$×*EÑ*EÓ*GÓHÐHÜ�cœ3ÔØ×-Ñ-Ó/ˆCØ—7‘7˜3“<ÐÜ‹<Ð#¨´C¼¸S»	³NÑ(Bà1´$°s³)°ð =7ð 7ð ô ˜C“.Ð Ü"×4Ñ4´T¸#³YÓ?Ð?rˆ   c                ó&   •— t        ‰| �  dd|i|¤ŽS )Nrš   r’   )r€   Úcollect)rƒ   rš   Úkwargsr…   s      €r†   rÚ   zLazyFrame.collectø   s   ø€ ô
 ‰w‰Ñ9 wÐ9°&Ñ9Ð9rˆ   c                óP   — | j                  t        «       j                  «       «      S )zbPrivate, just used to test the stable API.

        Returns:
            A new lazyframe.
        r«   r‹   s    r†   r®   zLazyFrame._l1_normÿ   r¯   rˆ   c                ó"   •— t         ‰| �  |«      S )z­Get the last `n` rows.

        Arguments:
            n: Number of rows to return.

        Returns:
            A subset of the LazyFrame of shape (n, n_columns).
        )r€   Útail)rƒ   Únr…   s     €r†   rÞ   zLazyFrame.tail  s   ø€ ô ‰w‰|˜A‹Ðrˆ   c                óZ   — | j                  | j                  j                  ||¬«      «      S )zúTake every nth row in the DataFrame and return as a new DataFrame.

        Arguments:
            n: Gather every *n*-th row.
            offset: Starting index.

        Returns:
            The LazyFrame containing only the selected rows.
        ©rß   Úoffset)Ú_with_compliantrÍ   Úgather_every©rƒ   rß   râ   s      r†   rä   zLazyFrame.gather_every  s0   € ð ×#Ñ#Ø×!Ñ!×.Ñ.°¸6Ð.ÓBó
ð 	
rˆ   r°   ©r²   ztype[DataFrame[Any]])rÕ   r   r²   r   r‘   )rš   r´   rÛ   r   r²   ro   r¸   )é   ©rß   Úintr²   r^   ©r   ©rß   ré   râ   ré   r²   r^   )r¹   rº   r»   rR   ÚNwLazyFramer�   r½   rÃ   rØ   rÚ   r®   rÞ   rä   r¾   r¿   s   @r†   r   r   Ó   so   ø„ Ù�Óô*ó ð*ð òó ðó@ð< =Að:à9ð:ð ð:ð 
õ	:ó-ö	÷
ð 
rˆ   r   c                  ó°   ‡ — e Zd Z ee«      	 	 	 	 	 	 dˆ fd„«       Zedd„«       Zdˆ fd„Zdddddœ	 	 	 	 	 	 	 	 	 dˆ fd„Z		 dddd	œ	 	 	 	 	 	 	 dˆ fd
„Z
ˆ xZS )r)   c               ó(   •— t         ‰| �  ||¬«       y r}   r   )rƒ   Úseriesr~   r…   s      €r†   r�   zSeries.__init__"  s   ø€ ô 	‰Ñ˜ uÐÕ-rˆ   c                ó   — t         S r‘   r   r‹   s    r†   rÃ   zSeries._dataframe+  rÄ   rˆ   c                ó    •— t         ‰| �  «       S r‘   )r€   Úto_framer¦   s    €r†   rò   zSeries.to_frame/  s   ø€ Ü‰wÑÓ!Ð!rˆ   FN©ÚsortÚparallelÚnameÚ	normalizec               ó*   •— t         ‰| �  ||||¬«      S )Nró   )r€   Úvalue_counts)rƒ   rô   rõ   rö   r÷   r…   s        €r†   rù   zSeries.value_counts2  s%   ø€ ô ‰wÑ#Ø ¨t¸yð $ó 
ð 	
rˆ   T)Ú	bin_countÚinclude_breakpointc               ój   •— ddl m} ddlm} d}t	        || |«       ¬«       t
        ‰| �  |||¬«      S )Nr   )ÚNarwhalsUnstableWarningrO   zZ`Series.hist` is being called from the stable API although considered an unstable feature.©ÚmessageÚcategoryÚ
stacklevel)Úbinsrú   rû   )Únarwhals.exceptionsrý   Únarwhals.utilsrP   r   r€   Úhist)rƒ   r  rú   rû   rý   rP   rÖ   r…   s          €r†   r  zSeries.hist>  sG   ø€ õ 	@Ý2ð#ð 	ô 	�SÐ#:ÁÓGXÕYÜ‰w‰|ØØØ1ð ó 
ð 	
rˆ   )rï   r   r~   r±   r²   r³   ræ   )r²   ro   )
rô   r·   rõ   r·   rö   z
str | Noner÷   r·   r²   ro   r‘   )r  zlist[float | int] | Nonerú   ú
int | Nonerû   r·   r²   ro   )r¹   rº   r»   rR   ÚNwSeriesr�   r½   rÃ   rò   rù   r  r¾   r¿   s   @r†   r)   r)   !  sÒ   ø„ Ù�Óð.Øð.Ø%Kð.à	ô.ó ð.ð òó ðõ"ð ØØØñ

ð ð

ð ð	

ð
 ð

ð ð

ð 
õ

ð *.ð
ð !%Ø#'ñ
à&ð
ð ð	
ð
 !ð
ð 
÷
ñ 
rˆ   r)   c                  óŒ   ‡ — e Zd Zdˆ fd„Zddd„Zddd„Zddd„Zddœdd„Zddd	œdd
„Zdd„Z		 dddddœ	 	 	 	 	 	 	 	 	 dd„Z
ˆ xZS )r   c                ó    •— t         ‰| �  «       S r‘   )r€   Ú_taxicab_normr¦   s    €r†   r®   zExpr._l1_normU  r§   rˆ   c                ó€   ‡ ‡— ‰ j                  ˆˆ fd„‰ j                  j                  t        j                  «      «      S )z�Get the first `n` rows.

        Arguments:
            n: Number of rows to return.

        Returns:
            A new expression.
        c                óD   •— ‰j                  | «      j                  ‰«      S r‘   )rÏ   Úhead©r×   rß   rƒ   s    €€r†   ú<lambda>zExpr.head.<locals>.<lambda>b  ó   ø€ ˜×/Ñ/°Ó4×9Ñ9¸!Ó<€ rˆ   ©r…   Ú	_metadataÚwith_kind_and_closeable_windowr   Ú
FILTRATION©rƒ   rß   s   ``r†   r  z	Expr.headX  ó1   ù€ ð �~‰~Ü<Ø�N‰N×9Ñ9¼(×:MÑ:MÓNó
ð 	
rˆ   c                ó€   ‡ ‡— ‰ j                  ˆˆ fd„‰ j                  j                  t        j                  «      «      S )zŒGet the last `n` rows.

        Arguments:
            n: Number of rows to return.

        Returns:
            A new expression.
        c                óD   •— ‰j                  | «      j                  ‰«      S r‘   )rÏ   rÞ   r  s    €€r†   r  zExpr.tail.<locals>.<lambda>p  r  rˆ   r  r  s   ``r†   rÞ   z	Expr.tailf  r  rˆ   c                ó„   ‡ ‡‡— ‰ j                  ˆˆˆ fd„‰ j                  j                  t        j                  «      «      S )zÕTake every nth value in the Series and return as new Series.

        Arguments:
            n: Gather every *n*-th row.
            offset: Starting index.

        Returns:
            A new expression.
        c                óH   •— ‰j                  | «      j                  ‰‰¬«      S )Nrá   )rÏ   rä   )r×   rß   râ   rƒ   s    €€€r†   r  z#Expr.gather_every.<locals>.<lambda>  s"   ø€ ˜×/Ñ/°Ó4×AÑAÀAÈfÐAÓU€ rˆ   r  rå   s   ```r†   rä   zExpr.gather_everyt  s1   ú€ ð �~‰~ÝUØ�N‰N×9Ñ9¼(×:MÑ:MÓNó
ð 	
rˆ   N)Úmaintain_orderc               ó¸   ‡ — |�d}t        |t        t        «       ¬«       ‰ j                  ˆ fd„‰ j                  j                  t        j                  «      «      S )aT  Return unique values of this expression.

        Arguments:
            maintain_order: Keep the same order as the original expression.
                This is deprecated and will be removed in a future version,
                but will still be kept around in `narwhals.stable.v1`.

        Returns:
            A new expression.
        zx`maintain_order` has no effect and is only kept around for backwards-compatibility. You can safely remove this argument.rþ   c                óB   •— ‰j                  | «      j                  «       S r‘   )rÏ   Úunique©r×   rƒ   s    €r†   r  zExpr.unique.<locals>.<lambda>•  s   ø€ ˜×/Ñ/°Ó4×;Ñ;Ó=€ rˆ   )r   ÚUserWarningrP   r…   r  Ú	with_kindr   r  )rƒ   r  rÖ   s   `  r†   r  zExpr.uniqueƒ  sR   ø€ ð Ð%ð7ð ô ˜¤{¼Ó?PÕQØ�~‰~Û=Ø�N‰N×$Ñ$¤X×%8Ñ%8Ó9ó
ð 	
rˆ   F©Ú
descendingÚ
nulls_lastc               óf   ‡ ‡‡— ‰ j                  ˆˆˆ fd„‰ j                  j                  «       «      S )zêSort this column. Place null values first.

        Arguments:
            descending: Sort in descending order.
            nulls_last: Place null values last instead of first.

        Returns:
            A new expression.
        c                óH   •— ‰j                  | «      j                  ‰‰¬«      S )Nr"  )rÏ   rô   )r×   r#  r$  rƒ   s    €€€r†   r  zExpr.sort.<locals>.<lambda>¤  s'   ø€ ˜×/Ñ/°Ó4×9Ñ9Ø%°*ð :ó € rˆ   )r…   r  Úwith_uncloseable_window)rƒ   r#  r$  s   ```r†   rô   z	Expr.sort™  s-   ú€ ð �~‰~õð �N‰N×2Ñ2Ó4ó	
ð 	
rˆ   c                ó|   ‡ — ‰ j                  ˆ fd„‰ j                  j                  t        j                  «      «      S )zhFind elements where boolean expression is True.

        Returns:
            A new expression.
        c                óB   •— ‰j                  | «      j                  «       S r‘   )rÏ   Úarg_truer  s    €r†   r  zExpr.arg_true.<locals>.<lambda>±  s   ø€ ˜×/Ñ/°Ó4×=Ñ=Ó?€ rˆ   r  r‹   s   `r†   r*  zExpr.arg_trueª  s1   ø€ ð �~‰~Û?Ø�N‰N×9Ñ9¼(×:MÑ:MÓNó
ð 	
rˆ   ©ÚfractionÚwith_replacementÚseedc               óŒ   ‡ ‡‡‡‡— ‰ j                  ˆˆˆˆ ˆfd„‰ j                  j                  t        j                  «      «      S )aå  Sample randomly from this expression.

        Arguments:
            n: Number of items to return. Cannot be used with fraction.
            fraction: Fraction of items to return. Cannot be used with n.
            with_replacement: Allow values to be sampled more than once.
            seed: Seed for the random number generator. If set to None (default), a random
                seed is generated for each sample operation.

        Returns:
            A new expression.
        c                óL   •— ‰j                  | «      j                  ‰‰‰‰¬«      S )Nr+  )rÏ   Úsample)r×   r,  rß   r.  rƒ   r-  s    €€€€€r†   r  zExpr.sample.<locals>.<lambda>Ê  s,   ø€ ˜×/Ñ/°Ó4×;Ñ;Ø˜HÐ7GÈdð <ó € rˆ   )r…   r  r!  r   r  )rƒ   rß   r,  r-  r.  s   `````r†   r1  zExpr.sampleµ  s5   ü€ ð( �~‰~÷ð �N‰N×$Ñ$¤X×%8Ñ%8Ó9ó	
ð 	
rˆ   r¸   )é
   rè   rê   rë   )r  úbool | Noner²   r^   )r#  r·   r$  r·   r²   r^   r‘   )
rß   r  r,  zfloat | Noner-  r·   r.  r  r²   r^   )r¹   rº   r»   r®   r  rÞ   rä   r  rô   r*  r1  r¾   r¿   s   @r†   r   r   T  s|   ø„ õ'ô
ô
ô
ð 7;õ 
ð, */À5õ 
ó"	
ð ð
ð "&Ø!&Øñ
àð
ð ð	
ð
 ð
ð ð
ð 
÷
rˆ   r   c                  óX   ‡ — e Zd Zej                  Z ee«      	 d	 	 	 dˆ fd„«       Zˆ xZ	S )r'   c                ó$   •— t         ‰| �  |«       y r‘   r   )rƒ   Úschemar…   s     €r†   r�   zSchema.__init__Ô  s   ø€ ô 	‰Ñ˜Õ rˆ   r‘   )r6  z8Mapping[str, DType] | Iterable[tuple[str, DType]] | Noner²   r³   )
r¹   rº   r»   rM   ÚV1Ú_versionrR   ÚNwSchemar�   r¾   r¿   s   @r†   r'   r'   Ñ  s6   ø„ Ø�z‰z€Há�ÓàQUð!ØNð!à	ô!ó ô!rˆ   r'   c                 ó   — y r‘   r’   ©Úobjs    r†   Ú
_stableifyr=  Û  ó   € ØGJrˆ   c                 ó   — y r‘   r’   r;  s    r†   r=  r=  Ý  r>  rˆ   c                 ó   — y r‘   r’   r;  s    r†   r=  r=  ß  ó   € ØCFrˆ   c                 ó   — y r‘   r’   r;  s    r†   r=  r=  á  s   € Ø%(rˆ   c                 ó   — y r‘   r’   r;  s    r†   r=  r=  ã  s   € Ø!$rˆ   c                ó:  — t        | t        «      r>t        | j                  j	                  t
        j                  «      | j                  ¬«      S t        | t        «      r>t        | j                  j	                  t
        j                  «      | j                  ¬«      S t        | t        «      r>t        | j                  j	                  t
        j                  «      | j                  ¬«      S t        | t        «      r t        | j                  | j                   «      S | S r}   )rÌ   r¼   r   rÍ   Ú_with_versionrM   r7  Ú_levelrì   r   r  r)   Ú_compliant_seriesÚNwExprr   rÏ   r  r;  s    r†   r=  r=  ç  sº   € ô �#”{Ô#Ü˜×-Ñ-×;Ñ;¼G¿J¹JÓGÈsÏzÉzÔZÐZÜ�#”{Ô#Ü˜×-Ñ-×;Ñ;¼G¿J¹JÓGÈsÏzÉzÔZÐZÜ�#”xÔ Ü�c×+Ñ+×9Ñ9¼'¿*¹*ÓEÈSÏZÉZÔXÐXÜ�#”vÔÜ�C×*Ñ*¨C¯M©MÓ:Ð:Ø€Jrˆ   c                 ó   — y r‘   r’   ©Únative_objectÚkwdss     r†   Úfrom_nativerM  ù  s   € ØADrˆ   c                 ó   — y r‘   r’   rJ  s     r†   rM  rM  ý  r>  rˆ   c                 ó   — y r‘   r’   rJ  s     r†   rM  rM    r>  rˆ   c                 ó   — y r‘   r’   rJ  s     r†   rM  rM    s   € ð "rˆ   .)Ú
eager_onlyÚseries_onlyc                ó   — y r‘   r’   ©rK  ÚstrictrQ  Úeager_or_interchange_onlyrR  Úallow_seriess         r†   rM  rM    ó   € ð 7:rˆ   )rV  rR  c                ó   — y r‘   r’   rT  s         r†   rM  rM    rX  rˆ   )rQ  rR  rW  c                ó   — y r‘   r’   rT  s         r†   rM  rM  #  ó   € ð !$rˆ   c                ó   — y r‘   r’   rT  s         r†   rM  rM  /  ó   € ð 	rˆ   )rV  rR  rW  c                ó   — y r‘   r’   rT  s         r†   rM  rM  ;  r[  rˆ   c                ó   — y r‘   r’   rT  s         r†   rM  rM  G  r]  rˆ   )rQ  rV  rR  c                ó   — y r‘   r’   rT  s         r†   rM  rM  S  ó	   € ð KNrˆ   )rQ  rV  rW  c                ó   — y r‘   r’   rT  s         r†   rM  rM  _  ó   € ð rˆ   )rQ  rV  rR  rW  c                ó   — y r‘   r’   rT  s         r†   rM  rM  k  ó   € ð 58rˆ   c                ó   — y r‘   r’   rT  s         r†   rM  rM  w  r]  rˆ   )rU  rQ  rR  rW  c                ó   — y r‘   r’   rT  s         r†   rM  rM  ƒ  r[  rˆ   )rU  rV  rR  rW  c                ó   — y r‘   r’   rT  s         r†   rM  rM  �  r[  rˆ   )rU  rQ  rV  rR  c                ó   — y r‘   r’   rT  s         r†   rM  rM  ›  re  rˆ   )rU  rQ  rV  rW  c                ó   — y r‘   r’   rT  s         r†   rM  rM  §  rc  rˆ   )rU  rQ  rV  rR  rW  c                ó   — y r‘   r’   rT  s         r†   rM  rM  ³  r[  rˆ   c                ó   — y r‘   r’   rT  s         r†   rM  rM  À  re  rˆ   c                ó   — y r‘   r’   ©rK  Úpass_throughrQ  rV  rR  rW  s         r†   rM  rM  Ì  r[  rˆ   c                ó   — y r‘   r’   rn  s         r†   rM  rM  Ø  rX  rˆ   c                ó   — y r‘   r’   rn  s         r†   rM  rM  ä  r[  rˆ   c                ó   — y r‘   r’   rn  s         r†   rM  rM  ð  r]  rˆ   c                ó   — y r‘   r’   rn  s         r†   rM  rM  ü  r[  rˆ   c                ó   — y r‘   r’   rn  s         r†   rM  rM    r]  rˆ   c                ó   — y r‘   r’   rn  s         r†   rM  rM    ra  rˆ   c                ó   — y r‘   r’   rn  s         r†   rM  rM     rc  rˆ   c                ó   — y r‘   r’   rn  s         r†   rM  rM  ,  re  rˆ   c                ó   — y r‘   r’   rn  s         r†   rM  rM  8  r]  rˆ   )ro  rQ  rR  rW  c                ó   — y r‘   r’   rn  s         r†   rM  rM  D  r[  rˆ   )ro  rV  rR  rW  c                ó   — y r‘   r’   rn  s         r†   rM  rM  P  r[  rˆ   )ro  rQ  rV  rR  c                ó   — y r‘   r’   rn  s         r†   rM  rM  \  re  rˆ   )ro  rQ  rV  rW  c                ó   — y r‘   r’   rn  s         r†   rM  rM  h  rc  rˆ   ©ro  rQ  rV  rR  rW  c                ó   — y r‘   r’   rn  s         r†   rM  rM  t  re  rˆ   F)rV  c                ó   — y r‘   r’   rn  s         r†   rM  rM  �  s   € ð rˆ   )rU  ro  rQ  rV  rR  rW  c          	     ó  — t        | t        t        f«      r|s| S t        | t        «      r|s|r| S t	        ||dd¬«      }|r"dt        t        |«      «      ›�}t        |«      ‚t        | |||||t        j                  ¬«      }	t        |	«      S )a¢	  Convert `native_object` to Narwhals Dataframe, Lazyframe, or Series.

    Arguments:
        native_object: Raw object from user.
            Depending on the other arguments, input object can be:

            - a Dataframe / Lazyframe / Series supported by Narwhals (pandas, Polars, PyArrow, ...)
            - an object which implements `__narwhals_dataframe__`, `__narwhals_lazyframe__`,
              or `__narwhals_series__`
        strict: Determine what happens if the object can't be converted to Narwhals:

            - `True` or `None` (default): raise an error
            - `False`: pass object through as-is

            **Deprecated** (v1.13.0):
                Please use `pass_through` instead. Note that `strict` is still available
                (and won't emit a deprecation warning) if you use `narwhals.stable.v1`,
                see [perfect backwards compatibility policy](../backcompat.md/).
        pass_through: Determine what happens if the object can't be converted to Narwhals:

            - `False` or `None` (default): raise an error
            - `True`: pass object through as-is
        eager_only: Whether to only allow eager objects:

            - `False` (default): don't require `native_object` to be eager
            - `True`: only convert to Narwhals if `native_object` is eager
        eager_or_interchange_only: Whether to only allow eager objects or objects which
            have interchange-level support in Narwhals:

            - `False` (default): don't require `native_object` to either be eager or to
              have interchange-level support in Narwhals
            - `True`: only convert to Narwhals if `native_object` is eager or has
              interchange-level support in Narwhals

            See [interchange-only support](../extending.md/#interchange-only-support)
            for more details.
        series_only: Whether to only allow Series:

            - `False` (default): don't require `native_object` to be a Series
            - `True`: only convert to Narwhals if `native_object` is a Series
        allow_series: Whether to allow Series (default is only Dataframe / Lazyframe):

            - `False` or `None` (default): don't convert to Narwhals if `native_object` is a Series
            - `True`: allow `native_object` to be a Series

    Returns:
        DataFrame, LazyFrame, Series, or original object, depending
            on which combination of parameters was passed.
    F©Úpass_through_defaultÚemit_deprecation_warningz1from_native() got an unexpected keyword argument )ro  rQ  rV  rR  rW  Úversion)rÌ   r   r   r)   rZ   ÚnextÚiterrÎ   rG   rM   r7  r=  )
rK  rU  ro  rQ  rV  rR  rW  rL  rÖ   Úresults
             r†   rM  rM  �  s™   € ôz �-¤)¬YÐ!7Ô8ÁØÐÜ�-¤Ô(©k¹\ØÐä2Ø�°5ÐSXô€Lñ ØAÄ$ÄtÈDÃzÓBRÐAUÐVˆÜ˜‹nÐäØØ!ØØ";ØØ!Ü—
‘
ô€Fô �fÓÐrˆ   )rU  c                ó   — y r‘   r’   ©Únarwhals_objectrU  s     r†   Ú	to_nativer‹  â  ó   € ð rˆ   c                ó   — y r‘   r’   r‰  s     r†   r‹  r‹  æ  ó   € ð rˆ   c                ó   — y r‘   r’   r‰  s     r†   r‹  r‹  ê  ó   € ð rˆ   c                ó   — y r‘   r’   r‰  s     r†   r‹  r‹  î  s   € Ø=@rˆ   ©ro  c                ó   — y r‘   r’   ©rŠ  ro  s     r†   r‹  r‹  ð  rŒ  rˆ   c                ó   — y r‘   r’   r”  s     r†   r‹  r‹  ô  rŽ  rˆ   c                ó   — y r‘   r’   r”  s     r†   r‹  r‹  ø  r�  rˆ   c                ó   — y r‘   r’   r”  s     r†   r‹  r‹  ü  rA  rˆ   )rU  ro  c               ó  — ddl m} ddlm} ddlm}  |||dd¬«      }t        | |«      r| j                  j                  S t        | |«      r| j                  j                  S |sdt        | «      › d�}t        |«      ‚| S )	a<  Convert Narwhals object to native one.

    Arguments:
        narwhals_object: Narwhals object.
        strict: Determine what happens if `narwhals_object` isn't a Narwhals class:

            - `True` (default): raise an error
            - `False`: pass object through as-is

            **Deprecated** (v1.13.0):
                Please use `pass_through` instead. Note that `strict` is still available
                (and won't emit a deprecation warning) if you use `narwhals.stable.v1`,
                see [perfect backwards compatibility policy](../backcompat.md/).
        pass_through: Determine what happens if `narwhals_object` isn't a Narwhals class:

            - `False` (default): raise an error
            - `True`: pass object through as-is

    Returns:
        Object of class that user started with.
    r   rÆ   r(   rY   Fr�  zExpected Narwhals object, got ú.)rÉ   rÇ   rË   r)   r  rZ   rÌ   rÍ   Ú_native_framerG  ÚnativerÓ   rÎ   )rŠ  rU  ro  rÇ   r)   rZ   rÖ   s          r†   r‹  r‹     s‚   € õ: -Ý&Ý>á2Ø�°5ÐSXô€Lô �/ 9Ô-Ø×/Ñ/×=Ñ=Ð=Ü�/ 6Ô*Ø×0Ñ0×7Ñ7Ð7áØ.¬t°OÓ/DÐ.EÀQÐGˆÜ˜‹nÐØÐrˆ   Tc               óV   ‡‡‡‡‡— t        |‰dd¬«      Šdˆˆˆˆˆfd„}| €|S  || «      S )a
  Decorate function so it becomes dataframe-agnostic.

    This will try to convert any dataframe/series-like object into the Narwhals
    respective DataFrame/Series, while leaving the other parameters as they are.
    Similarly, if the output of the function is a Narwhals DataFrame or Series, it will be
    converted back to the original dataframe/series type, while if the output is another
    type it will be left as is.
    By setting `pass_through=False`, then every input and every output will be required to be a
    dataframe/series-like object.

    Arguments:
        func: Function to wrap in a `from_native`-`to_native` block.
        strict: **Deprecated** (v1.13.0):
            Please use `pass_through` instead. Note that `strict` is still available
            (and won't emit a deprecation warning) if you use `narwhals.stable.v1`,
            see [perfect backwards compatibility policy](../backcompat.md/).

            Determine what happens if the object can't be converted to Narwhals:

            - `True` or `None` (default): raise an error
            - `False`: pass object through as-is
        pass_through: Determine what happens if the object can't be converted to Narwhals:

            - `False` or `None` (default): raise an error
            - `True`: pass object through as-is
        eager_only: Whether to only allow eager objects:

            - `False` (default): don't require `native_object` to be eager
            - `True`: only convert to Narwhals if `native_object` is eager
        eager_or_interchange_only: Whether to only allow eager objects or objects which
            have interchange-level support in Narwhals:

            - `False` (default): don't require `native_object` to either be eager or to
              have interchange-level support in Narwhals
            - `True`: only convert to Narwhals if `native_object` is eager or has
              interchange-level support in Narwhals

            See [interchange-only support](../extending.md/#interchange-only-support)
            for more details.
        series_only: Whether to only allow Series:

            - `False` (default): don't require `native_object` to be a Series
            - `True`: only convert to Narwhals if `native_object` is a Series
        allow_series: Whether to allow Series (default is only Dataframe / Lazyframe):

            - `False` or `None`: don't convert to Narwhals if `native_object` is a Series
            - `True` (default): allow `native_object` to be a Series

    Returns:
        Decorated function.
    TFr�  c                ó<   •‡ — t        ‰ «      dˆˆˆˆ ˆˆfd„«       }|S )Nc                 óš  •— | D �cg c]  }t        |‰‰‰‰‰
¬«      ‘Œ } }|j                  «       D ��ci c]  \  }}|t        |‰‰‰‰‰
¬«      “Œ }}}g | ¢|j                  «       ¢­D �ch c]  }t        |dd «      x}r |«       ’Œ }}|j	                  «       dkD  rd}t        |«      ‚ ‰| i |¤Ž}	t        |	‰¬«      S c c}w c c}}w c c}w )Nr}  Ú__native_namespace__é   z_Found multiple backends. Make sure that all dataframe/series inputs come from the same backend.r’  )rM  ÚitemsÚvaluesÚgetattrÚ__len__Ú
ValueErrorr‹  )ÚargsrÛ   rÕ   rö   ÚvalueÚvÚbÚbackendsrÖ   r‡  rW  rQ  rV  Úfuncro  rR  s             €€€€€€r†   Úwrapperz.narwhalify.<locals>.decorator.<locals>.wrapperr  s  ø€ ð  ö
ð ô ØØ!-Ø)Ø.GØ +Ø!-öð
ˆDð 
ð* $*§<¡<£>÷
ñ  �D˜%ð ”kØØ!-Ø)Ø.GØ +Ø!-ôñ ð
ˆFñ 
ð 3˜4Ð2 &§-¡-£/Ñ2öàÜ  Ð$:¸DÓAÐA�AÐAñ •ðˆHð ð ×ÑÓ! AÒ%Øw�Ü  “oÐ%á˜4Ð* 6Ñ*ˆFä˜V°,Ô?Ð?ùòI
ùó
ùòs   †B=³CÁ)C)r¦  r   rÛ   r   r²   r   r   )r«  r¬  rW  rQ  rV  ro  rR  s   ` €€€€€r†   Ú	decoratorznarwhalify.<locals>.decoratorq  s)   ù€ Ü	ˆt‹÷%	@ñ %	@ó 
ð%	@ðN ˆrˆ   )r«  úCallable[..., Any]r²   r®  rY   )r«  rU  ro  rQ  rV  rR  rW  r­  s     ````` r†   Ú
narwhalifyr¯  0  s>   ü€ ôz 3Ø�°4ÐRWô€L÷)ñ )ðV €|ØÐñ ˜‹Ðrˆ   c                 ó<   — t        t        j                  «       «      S )z`Instantiate an expression representing all columns.

    Returns:
        A new expression.
    )r=  Únwr­   r’   rˆ   r†   r­   r­   £  ó   € ô ”b—f‘f“hÓÐrˆ   c                 ó8   — t        t        j                  | Ž «      S )z¶Creates an expression that references one or more columns by their name(s).

    Arguments:
        names: Name(s) of the columns to use.

    Returns:
        A new expression.
    )r=  r±  rÒ   ©Únamess    r†   rÒ   rÒ   ¬  s   € ô ”b—f‘f˜e�nÓ%Ð%rˆ   c                 ó8   — t        t        j                  | Ž «      S )z¬Creates an expression that excludes columns by their name(s).

    Arguments:
        names: Name(s) of the columns to exclude.

    Returns:
        A new expression.
    )r=  r±  Úexcluder´  s    r†   r·  r·  ¸  s   € ô ”b—j‘j %Ð(Ó)Ð)rˆ   c                 ó8   — t        t        j                  | Ž «      S )aI  Creates an expression that references one or more columns by their index(es).

    Notes:
        `nth` is not supported for Polars version<1.0.0. Please use
        [`narwhals.col`][] instead.

    Arguments:
        indices: One or more indices representing the columns to retrieve.

    Returns:
        A new expression.
    )r=  r±  Únth)Úindicess    r†   r¹  r¹  Ä  s   € ô ”b—f‘f˜gÐ&Ó'Ð'rˆ   c                 ó<   — t        t        j                  «       «      S )zGReturn the number of rows.

    Returns:
        A new expression.
    )r=  r±  Úlenr’   rˆ   r†   r¼  r¼  Ô  r²  rˆ   c                ó@   — t        t        j                  | |«      «      S )a!  Return an expression representing a literal value.

    Arguments:
        value: The value to use as literal.
        dtype: The data type of the literal value. If not provided, the data type will
            be inferred by the native library.

    Returns:
        A new expression.
    )r=  r±  Úlit)r§  Údtypes     r†   r¾  r¾  Ý  s   € ô ”b—f‘f˜U EÓ*Ó+Ð+rˆ   c                 ó8   — t        t        j                  | Ž «      S )zãReturn the minimum value.

    Note:
       Syntactic sugar for ``nw.col(columns).min()``.

    Arguments:
        columns: Name(s) of the columns to use in the aggregation function.

    Returns:
        A new expression.
    )r=  r±  Úmin©Úcolumnss    r†   rÁ  rÁ  ë  ó   € ô ”b—f‘f˜gÐ&Ó'Ð'rˆ   c                 ó8   — t        t        j                  | Ž «      S )zãReturn the maximum value.

    Note:
       Syntactic sugar for ``nw.col(columns).max()``.

    Arguments:
        columns: Name(s) of the columns to use in the aggregation function.

    Returns:
        A new expression.
    )r=  r±  ÚmaxrÂ  s    r†   rÆ  rÆ  ú  rÄ  rˆ   c                 ó8   — t        t        j                  | Ž «      S )zÝGet the mean value.

    Note:
        Syntactic sugar for ``nw.col(columns).mean()``

    Arguments:
        columns: Name(s) of the columns to use in the aggregation function

    Returns:
        A new expression.
    )r=  r±  ÚmeanrÂ  s    r†   rÈ  rÈ  	  s   € ô ”b—g‘g˜wÐ'Ó(Ð(rˆ   c                 ó8   — t        t        j                  | Ž «      S )at  Get the median value.

    Notes:
        - Syntactic sugar for ``nw.col(columns).median()``
        - Results might slightly differ across backends due to differences in the
            underlying algorithms used to compute the median.

    Arguments:
        columns: Name(s) of the columns to use in the aggregation function

    Returns:
        A new expression.
    )r=  r±  ÚmedianrÂ  s    r†   rÊ  rÊ    s   € ô ”b—i‘i Ð)Ó*Ð*rˆ   c                 ó8   — t        t        j                  | Ž «      S )zØSum all values.

    Note:
        Syntactic sugar for ``nw.col(columns).sum()``

    Arguments:
        columns: Name(s) of the columns to use in the aggregation function

    Returns:
        A new expression.
    )r=  r±  ÚsumrÂ  s    r†   rÌ  rÌ  )  rÄ  rˆ   c                 ó8   — t        t        j                  | Ž «      S )a2  Sum all values horizontally across columns.

    Warning:
        Unlike Polars, we support horizontal sum over numeric columns only.

    Arguments:
        exprs: Name(s) of the columns to use in the aggregation function. Accepts
            expression input.

    Returns:
        A new expression.
    )r=  r±  Úsum_horizontal©Úexprss    r†   rÎ  rÎ  8  ó   € ô ”b×'Ñ'¨Ð/Ó0Ð0rˆ   c                 ó8   — t        t        j                  | Ž «      S )záCompute the bitwise AND horizontally across columns.

    Arguments:
        exprs: Name(s) of the columns to use in the aggregation function. Accepts
            expression input.

    Returns:
        A new expression.
    )r=  r±  Úall_horizontalrÏ  s    r†   rÓ  rÓ  H  ó   € ô ”b×'Ñ'¨Ð/Ó0Ð0rˆ   c                 ó8   — t        t        j                  | Ž «      S )zàCompute the bitwise OR horizontally across columns.

    Arguments:
        exprs: Name(s) of the columns to use in the aggregation function. Accepts
            expression input.

    Returns:
        A new expression.
    )r=  r±  Úany_horizontalrÏ  s    r†   rÖ  rÖ  U  rÔ  rˆ   c                 ó8   — t        t        j                  | Ž «      S )zèCompute the mean of all values horizontally across columns.

    Arguments:
        exprs: Name(s) of the columns to use in the aggregation function. Accepts
            expression input.

    Returns:
        A new expression.
    )r=  r±  Úmean_horizontalrÏ  s    r†   rØ  rØ  b  s   € ô ”b×(Ñ(¨%Ð0Ó1Ð1rˆ   c                 ó8   — t        t        j                  | Ž «      S )a*  Get the minimum value horizontally across columns.

    Notes:
        We support `min_horizontal` over numeric columns only.

    Arguments:
        exprs: Name(s) of the columns to use in the aggregation function. Accepts
            expression input.

    Returns:
        A new expression.
    )r=  r±  Úmin_horizontalrÏ  s    r†   rÚ  rÚ  o  rÑ  rˆ   c                 ó8   — t        t        j                  | Ž «      S )a*  Get the maximum value horizontally across columns.

    Notes:
        We support `max_horizontal` over numeric columns only.

    Arguments:
        exprs: Name(s) of the columns to use in the aggregation function. Accepts
            expression input.

    Returns:
        A new expression.
    )r=  r±  Úmax_horizontalrÏ  s    r†   rÜ  rÜ    rÑ  rˆ   Úvertical©Úhowc          	     óV   — t        dt        t        j                  | |¬«      «      «      S )a  Concatenate multiple DataFrames, LazyFrames into a single entity.

    Arguments:
        items: DataFrames, LazyFrames to concatenate.
        how: concatenating strategy:

            - vertical: Concatenate vertically. Column names must match.
            - horizontal: Concatenate horizontally. If lengths don't match, then
                missing rows are filled with null values. This is only supported
                when all inputs are (eager) DataFrames.
            - diagonal: Finds a union between the column schemas and fills missing column
                values with null.

    Returns:
        A new DataFrame or LazyFrame resulting from the concatenation.

    Raises:
        TypeError: The items to concatenate should either all be eager, or all lazy
    rn   rÞ  )r   r=  r±  Úconcat)r¡  rß  s     r†   rá  rá  �  s!   € ô( �œ*¤R§Y¡Y¨u¸#Ô%>Ó?Ó@Ð@rˆ   Ú ©Ú	separatorÚignore_nullsc               óH   — t        t        j                  | g|¢­||dœŽ«      S )a  Horizontally concatenate columns into a single string column.

    Arguments:
        exprs: Columns to concatenate into a single string column. Accepts expression
            input. Strings are parsed as column names, other non-expression inputs are
            parsed as literals. Non-`String` columns are cast to `String`.
        *more_exprs: Additional columns to concatenate into a single string column,
            specified as positional arguments.
        separator: String that will be used to separate the values of each column.
        ignore_nulls: Ignore null values (default is `False`).
            If set to `False`, null values will be propagated and if the row contains any
            null values, the output is null.

    Returns:
        A new expression.
    rã  )r=  r±  Ú
concat_str)rÐ  rä  rå  Ú
more_exprss       r†   rç  rç  ¦  s)   € ô, Ü
�‰�eÐY˜jÑY°IÈLÒYóð rˆ   c                  ó2   ‡ — e Zd Zedd„«       Zdˆ fd„Zˆ xZS )r   c                ó&   —  | |j                   «      S r‘   )Ú
_predicate)Úclsr&   s     r†   Ú	from_whenzWhen.from_whenÂ  s   € á�4—?‘?Ó#Ð#rˆ   c                óH   •— t         j                  t        ‰| �  |«      «      S r‘   )r   Ú	from_thenr€   Úthen©rƒ   r§  r…   s     €r†   rð  z	When.thenÆ  s   ø€ Ü�~‰~œe™g™l¨5Ó1Ó2Ð2rˆ   )r&   ÚNwWhenr²   r   )r§  ú&IntoExpr | NonNestedLiteral | _1DArrayr²   r   )r¹   rº   r»   Úclassmethodrí  rð  r¾   r¿   s   @r†   r   r   Á  s   ø„ Øò$ó ð$÷3ñ 3rˆ   r   c                  ó2   ‡ — e Zd Zedd„«       Zdˆ fd„Zˆ xZS )r   c                ó<   —  | |j                   |j                  «      S r‘   )rÏ   r  )rì  rð  s     r†   rï  zThen.from_thenË  s   € á�4×*Ñ*¨D¯N©NÓ;Ð;rˆ   c                ó4   •— t        t        ‰| �	  |«      «      S r‘   )r=  r€   Ú	otherwiserñ  s     €r†   rø  zThen.otherwiseÏ  s   ø€ Üœ%™'Ñ+¨EÓ2Ó3Ð3rˆ   )rð  ÚNwThenr²   r   )r§  ró  r²   r   )r¹   rº   r»   rô  rï  rø  r¾   r¿   s   @r†   r   r   Ê  s   ø„ Øò<ó ð<÷4ñ 4rˆ   r   c                 ó8   — t         j                  t        | Ž «      S )aƒ  Start a `when-then-otherwise` expression.

    Expression similar to an `if-else` statement in Python. Always initiated by a
    `pl.when(<condition>).then(<value if condition>)`, and optionally followed by a
    `.otherwise(<value if condition is false>)` can be appended at the end. If not
    appended, and the condition is not `True`, `None` will be returned.

    !!! info

        Chaining multiple `.when(<condition>).then(<value>)` statements is currently
        not supported.
        See [Narwhals#668](https://github.com/narwhals-dev/narwhals/issues/668).

    Arguments:
        predicates: Condition(s) that must be met in order to apply the subsequent
            statement. Accepts one or more boolean expressions, which are implicitly
            combined with `&`. String input is parsed as a column name.

    Returns:
        A "when" object, which `.then` can be called on.
    )r   rí  Únw_when)Ú
predicatess    r†   r&   r&   Ó  s   € ô, �>‰>œ' :Ð.Ó/Ð/rˆ   )Úrequired)rš   Únative_namespacec          	     óh   — t        d|«      }t        t        | |||t        j                  ¬«      «      S )a_  Instantiate Narwhals Series from iterable (e.g. list or array).

    Arguments:
        name: Name of resulting Series.
        values: Values of make Series from.
        dtype: (Narwhals) dtype. If not provided, the native library
            may auto-infer it from `values`.
        backend: specifies which eager backend instantiate to.

            `backend` can be specified in various ways:

            - As `Implementation.<BACKEND>` with `BACKEND` being `PANDAS`, `PYARROW`,
                `POLARS`, `MODIN` or `CUDF`.
            - As a string: `"pandas"`, `"pyarrow"`, `"polars"`, `"modin"` or `"cudf"`.
            - Directly as a module `pandas`, `pyarrow`, `polars`, `modin` or `cudf`.
        native_namespace: The native library to use for DataFrame creation.

            **Deprecated** (v1.31.0):
                Please use `backend` instead. Note that `native_namespace` is still available
                (and won't emit a deprecation warning) if you use `narwhals.stable.v1`,
                see [perfect backwards compatibility policy](../backcompat.md/).

    Returns:
        A new Series
    ú!ModuleType | Implementation | str©rš   r„  )r   r=  r   rM   r7  )rö   r¢  r¿  rš   rþ  s        r†   Ú
new_seriesr  ì  s3   € ôD Ð6¸Ó@€GÜÜ˜˜v u°gÄwÇzÁzÔRóð rˆ   c               ód   — t        d|«      }t        t        | |t        j                  ¬«      «      S )aî  Construct a DataFrame from an object which supports the PyCapsule Interface.

    Arguments:
        native_frame: Object which implements `__arrow_c_stream__`.
        backend: specifies which eager backend instantiate to.

            `backend` can be specified in various ways:

            - As `Implementation.<BACKEND>` with `BACKEND` being `PANDAS`, `PYARROW`,
                `POLARS`, `MODIN` or `CUDF`.
            - As a string: `"pandas"`, `"pyarrow"`, `"polars"`, `"modin"` or `"cudf"`.
            - Directly as a module `pandas`, `pyarrow`, `polars`, `modin` or `cudf`.
        native_namespace: The native library to use for DataFrame creation.

            **Deprecated** (v1.31.0):
                Please use `backend` instead. Note that `native_namespace` is still available
                (and won't emit a deprecation warning) if you use `narwhals.stable.v1`,
                see [perfect backwards compatibility policy](../backcompat.md/).

    Returns:
        A new DataFrame.
    r   r  )r   r=  r   rM   r7  )Únative_framerš   rþ  s      r†   Ú
from_arrowr    s.   € ô: Ð6¸Ó@€GÜÜ˜¨wÄÇ
Á
ÔKóð rˆ   c               óN   — t        t        | ||t        j                  ¬«      «      S )aŽ  Instantiate DataFrame from dictionary.

    Indexes (if present, for pandas-like backends) are aligned following
    the [left-hand-rule](../pandas_like_concepts/pandas_index.md/).

    Notes:
        For pandas-like dataframes, conversion to schema is applied after dataframe
        creation.

    Arguments:
        data: Dictionary to create DataFrame from.
        schema: The DataFrame schema as Schema or dict of {name: type}. If not
            specified, the schema will be inferred by the native library.
        backend: specifies which eager backend instantiate to. Only
            necessary if inputs are not Narwhals Series.

            `backend` can be specified in various ways:

            - As `Implementation.<BACKEND>` with `BACKEND` being `PANDAS`, `PYARROW`,
                `POLARS`, `MODIN` or `CUDF`.
            - As a string: `"pandas"`, `"pyarrow"`, `"polars"`, `"modin"` or `"cudf"`.
            - Directly as a module `pandas`, `pyarrow`, `polars`, `modin` or `cudf`.
        native_namespace: The native library to use for DataFrame creation.

            **Deprecated** (v1.26.0):
                Please use `backend` instead. Note that `native_namespace` is still available
                (and won't emit a deprecation warning) if you use `narwhals.stable.v1`,
                see [perfect backwards compatibility policy](../backcompat.md/).

    Returns:
        A new DataFrame.
    r  )r=  r   rM   r7  ©Údatar6  rš   rþ  s       r†   Ú	from_dictr	  7  s$   € ôP Ü˜˜f¨g¼w¿z¹zÔJóð rˆ   c               óf   — t        d|«      }t        t        | ||t        j                  ¬«      «      S )aÐ  Construct a DataFrame from a NumPy ndarray.

    Notes:
        Only row orientation is currently supported.

        For pandas-like dataframes, conversion to schema is applied after dataframe
        creation.

    Arguments:
        data: Two-dimensional data represented as a NumPy ndarray.
        schema: The DataFrame schema as Schema, dict of {name: type}, or a sequence of str.
        backend: specifies which eager backend instantiate to.

            `backend` can be specified in various ways:

            - As `Implementation.<BACKEND>` with `BACKEND` being `PANDAS`, `PYARROW`,
                `POLARS`, `MODIN` or `CUDF`.
            - As a string: `"pandas"`, `"pyarrow"`, `"polars"`, `"modin"` or `"cudf"`.
            - Directly as a module `pandas`, `pyarrow`, `polars`, `modin` or `cudf`.
        native_namespace: The native library to use for DataFrame creation.

            **Deprecated** (v1.31.0):
                Please use `backend` instead. Note that `native_namespace` is still available
                (and won't emit a deprecation warning) if you use `narwhals.stable.v1`,
                see [perfect backwards compatibility policy](../backcompat.md/).

    Returns:
        A new DataFrame.
    r   r  )r   r=  r   rM   r7  r  s       r†   Ú
from_numpyr  d  s-   € ôJ Ð6¸Ó@€GÜÔ& t¨V¸WÌgÏjÉjÔYÓZÐZrˆ   c               óH   — t        d|«      }t        t        | fd|i|¤Ž«      S )aY  Read a CSV file into a DataFrame.

    Arguments:
        source: Path to a file.
        backend: The eager backend for DataFrame creation.
            `backend` can be specified in various ways:

            - As `Implementation.<BACKEND>` with `BACKEND` being `PANDAS`, `PYARROW`,
                `POLARS`, `MODIN` or `CUDF`.
            - As a string: `"pandas"`, `"pyarrow"`, `"polars"`, `"modin"` or `"cudf"`.
            - Directly as a module `pandas`, `pyarrow`, `polars`, `modin` or `cudf`.
        native_namespace: The native library to use for DataFrame creation.

            **Deprecated** (v1.27.2):
                Please use `backend` instead. Note that `native_namespace` is still available
                (and won't emit a deprecation warning) if you use `narwhals.stable.v1`,
                see [perfect backwards compatibility policy](../backcompat.md/).
        kwargs: Extra keyword arguments which are passed to the native CSV reader.
            For example, you could use
            `nw.read_csv('file.csv', backend='pandas', engine='pyarrow')`.

    Returns:
        DataFrame.
    r   rš   )r   r=  r    ©Úsourcerš   rþ  rÛ   s       r†   Úread_csvr  �  s1   € ô@ Ð6¸Ó@€GÜÜ�vÑ9 wÐ9°&Ñ9óð rˆ   c               óH   — t        d|«      }t        t        | fd|i|¤Ž«      S )aî  Lazily read from a CSV file.

    For the libraries that do not support lazy dataframes, the function reads
    a csv file eagerly and then converts the resulting dataframe to a lazyframe.

    Arguments:
        source: Path to a file.
        backend: The eager backend for DataFrame creation.
            `backend` can be specified in various ways:

            - As `Implementation.<BACKEND>` with `BACKEND` being `PANDAS`, `PYARROW`,
                `POLARS`, `MODIN` or `CUDF`.
            - As a string: `"pandas"`, `"pyarrow"`, `"polars"`, `"modin"` or `"cudf"`.
            - Directly as a module `pandas`, `pyarrow`, `polars`, `modin` or `cudf`.
        native_namespace: The native library to use for DataFrame creation.

            **Deprecated** (v1.31.0):
                Please use `backend` instead. Note that `native_namespace` is still available
                (and won't emit a deprecation warning) if you use `narwhals.stable.v1`,
                see [perfect backwards compatibility policy](../backcompat.md/).
        kwargs: Extra keyword arguments which are passed to the native CSV reader.
            For example, you could use
            `nw.scan_csv('file.csv', backend=pd, engine='pyarrow')`.

    Returns:
        LazyFrame.
    r   rš   )r   r=  r"   r  s       r†   Úscan_csvr  ³  s1   € ôF Ð6¸Ó@€GÜÜ�vÑ9 wÐ9°&Ñ9óð rˆ   c               óH   — t        d|«      }t        t        | fd|i|¤Ž«      S )ah  Read into a DataFrame from a parquet file.

    Arguments:
        source: Path to a file.
        backend: The eager backend for DataFrame creation.
            `backend` can be specified in various ways:

            - As `Implementation.<BACKEND>` with `BACKEND` being `PANDAS`, `PYARROW`,
                `POLARS`, `MODIN` or `CUDF`.
            - As a string: `"pandas"`, `"pyarrow"`, `"polars"`, `"modin"` or `"cudf"`.
            - Directly as a module `pandas`, `pyarrow`, `polars`, `modin` or `cudf`.
        native_namespace: The native library to use for DataFrame creation.

            **Deprecated** (v1.31.0):
                Please use `backend` instead. Note that `native_namespace` is still available
                (and won't emit a deprecation warning) if you use `narwhals.stable.v1`,
                see [perfect backwards compatibility policy](../backcompat.md/).
        kwargs: Extra keyword arguments which are passed to the native parquet reader.
            For example, you could use
            `nw.read_parquet('file.parquet', backend=pd, engine='pyarrow')`.

    Returns:
        DataFrame.
    r   rš   )r   r=  r!   r  s       r†   Úread_parquetr  Ü  s1   € ô@ Ð6¸Ó@€GÜÜ˜6Ñ=¨7Ð=°fÑ=óð rˆ   c               óH   — t        d|«      }t        t        | fd|i|¤Ž«      S )aœ  Lazily read from a parquet file.

    For the libraries that do not support lazy dataframes, the function reads
    a parquet file eagerly and then converts the resulting dataframe to a lazyframe.

    !!! note
        Spark like backends require a session object to be passed in `kwargs`.

        For instance:

        ```py
        import narwhals as nw
        from sqlframe.duckdb import DuckDBSession

        nw.scan_parquet(source, backend="sqlframe", session=DuckDBSession())
        ```

    Arguments:
        source: Path to a file.
        backend: The eager backend for DataFrame creation.
            `backend` can be specified in various ways:

            - As `Implementation.<BACKEND>` with `BACKEND` being `PANDAS`, `PYARROW`,
                `POLARS`, `MODIN`, `CUDF`, `PYSPARK` or `SQLFRAME`.
            - As a string: `"pandas"`, `"pyarrow"`, `"polars"`, `"modin"`, `"cudf"`,
                `"pyspark"` or `"sqlframe"`.
            - Directly as a module `pandas`, `pyarrow`, `polars`, `modin`, `cudf`,
                `pyspark.sql` or `sqlframe`.
        native_namespace: The native library to use for DataFrame creation.

            **Deprecated** (v1.31.0):
                Please use `backend` instead. Note that `native_namespace` is still available
                (and won't emit a deprecation warning) if you use `narwhals.stable.v1`,
                see [perfect backwards compatibility policy](../backcompat.md/).
        kwargs: Extra keyword arguments which are passed to the native parquet reader.
            For example, you could use
            `nw.scan_parquet('file.parquet', backend=pd, engine='pyarrow')`.

    Returns:
        LazyFrame.
    r   rš   )r   r=  r#   r  s       r†   Úscan_parquetr    s1   € ôb Ð6¸Ó@€GÜÜ˜6Ñ=¨7Ð=°fÑ=óð rˆ   )Pr+   r,   r-   r.   r   r/   r0   r1   r2   r3   r   r4   r5   r6   rL   r7   r8   r9   r:   r;   r   r<   r=   r'   r)   r>   r?   r@   rA   rB   rC   rD   rE   rF   r­   rÓ  rÖ  rÒ   rá  rç  r   r*   r   r·  r  r	  rM  r  rQ   r$   rH   rS   r¼  r¾  rÆ  rÜ  rT   rU   rV   rW   rX   rÈ  rØ  rÊ  rÁ  rÚ  r¯  r  r¹  r  r  r  r  r   r%   rÌ  rÎ  r‹  rI   r&   )r<  zNwDataFrame[IntoFrameT]r²   zDataFrame[IntoFrameT])r<  zNwLazyFrame[IntoFrameT]r²   úLazyFrame[IntoFrameT])r<  zNwSeries[IntoSeriesT]r²   úSeries[IntoSeriesT])r<  rH  r²   r   )r<  r   r²   r   )r<  zXNwDataFrame[IntoFrameT] | NwLazyFrame[IntoFrameT] | NwSeries[IntoSeriesT] | NwExpr | Anyr²   zPDataFrame[IntoFrameT] | LazyFrame[IntoFrameT] | Series[IntoSeriesT] | Expr | Any)rK  rt   rL  r   r²   rt   )rK  rq   rL  r   r²   rq   )rK  rs   rL  r   r²   rs   )rK  úDataFrameT | LazyFrameTrL  r   r²   r  )rK  úIntoDataFrameT | IntoSeriesTrU  r¶   rQ  r¶   rV  rµ   rR  r¶   rW  rµ   r²   ú/DataFrame[IntoDataFrameT] | Series[IntoSeriesT])rK  r  rU  r¶   rQ  rµ   rV  r¶   rR  r¶   rW  rµ   r²   r  )rK  rJ   rU  r¶   rQ  r¶   rV  rµ   rR  r¶   rW  r³   r²   úDataFrame[IntoDataFrameT])rK  rx   rU  r¶   rQ  r¶   rV  rµ   rR  r¶   rW  r³   r²   rx   )rK  rJ   rU  r¶   rQ  rµ   rV  r¶   rR  r¶   rW  r³   r²   r  )rK  rx   rU  r¶   rQ  rµ   rV  r¶   rR  r¶   rW  r³   r²   rx   )rK  úIntoFrameT | IntoSeriesTrU  r¶   rQ  r¶   rV  r¶   rR  r¶   rW  rµ   r²   úCDataFrame[IntoFrameT] | LazyFrame[IntoFrameT] | Series[IntoSeriesT])rK  rv   rU  r¶   rQ  r¶   rV  r¶   rR  rµ   rW  r³   r²   r  )rK  rK   rU  r¶   rQ  r¶   rV  r¶   rR  r¶   rW  r³   r²   ú-DataFrame[IntoFrameT] | LazyFrame[IntoFrameT])rK  rx   rU  r¶   rQ  r¶   rV  r¶   rR  r¶   rW  r³   r²   rx   )rK  rJ   rU  rµ   rQ  r¶   rV  rµ   rR  r¶   rW  r³   r²   r  )rK  rJ   rU  rµ   rQ  rµ   rV  r¶   rR  r¶   rW  r³   r²   r  )rK  úIntoFrame | IntoSeriesrU  rµ   rQ  r¶   rV  r¶   rR  r¶   rW  rµ   r²   ú-DataFrame[Any] | LazyFrame[Any] | Series[Any])rK  rv   rU  rµ   rQ  r¶   rV  r¶   rR  rµ   rW  r³   r²   r  )rK  rg   rU  rµ   rQ  r¶   rV  r¶   rR  r¶   rW  r³   r²   zLazyFrame[IntoLazyFrameT])rK  rK   rU  rµ   rQ  r¶   rV  r¶   rR  r¶   rW  r³   r²   r  )rK  zIntoDataFrameT | IntoSeriesro  rµ   rQ  r¶   rV  rµ   rR  r¶   rW  rµ   r²   r  )rK  r  ro  rµ   rQ  rµ   rV  r¶   rR  r¶   rW  rµ   r²   r  )rK  rJ   ro  rµ   rQ  r¶   rV  rµ   rR  r¶   rW  r³   r²   r  )rK  rx   ro  rµ   rQ  r¶   rV  rµ   rR  r¶   rW  r³   r²   rx   )rK  rJ   ro  rµ   rQ  rµ   rV  r¶   rR  r¶   rW  r³   r²   r  )rK  rx   ro  rµ   rQ  rµ   rV  r¶   rR  r¶   rW  r³   r²   rx   )rK  r  ro  rµ   rQ  r¶   rV  r¶   rR  r¶   rW  rµ   r²   r  )rK  rv   ro  rµ   rQ  r¶   rV  r¶   rR  rµ   rW  r³   r²   r  )rK  rK   ro  rµ   rQ  r¶   rV  r¶   rR  r¶   rW  r³   r²   r  )rK  rx   ro  rµ   rQ  r¶   rV  r¶   rR  r¶   rW  r³   r²   rx   )rK  rJ   ro  r¶   rQ  r¶   rV  rµ   rR  r¶   rW  r³   r²   r  )rK  rJ   ro  r¶   rQ  rµ   rV  r¶   rR  r¶   rW  r³   r²   r  )rK  r  ro  r¶   rQ  r¶   rV  r¶   rR  r¶   rW  rµ   r²   r   )rK  rv   ro  r¶   rQ  r¶   rV  r¶   rR  rµ   rW  r³   r²   r  )rK  rK   ro  r¶   rQ  r¶   rV  r¶   rR  r¶   rW  r³   r²   r  )rK  r   ro  r·   rQ  r·   rV  r·   rR  r·   rW  r3  r²   r   )rK  z5IntoFrameT | IntoFrame | IntoSeriesT | IntoSeries | TrU  r3  ro  r3  rQ  r·   rV  r·   rR  r·   rW  r3  rL  r   r²   zGLazyFrame[IntoFrameT] | DataFrame[IntoFrameT] | Series[IntoSeriesT] | T)rŠ  r  rU  rµ   r²   rJ   )rŠ  r  rU  rµ   r²   rK   )rŠ  r  rU  rµ   r²   rv   )rŠ  r   rU  r·   r²   r   )rŠ  r  ro  r¶   r²   rJ   )rŠ  r  ro  r¶   r²   rK   )rŠ  r  ro  r¶   r²   rv   )rŠ  r   ro  r·   r²   r   )rŠ  zGDataFrame[IntoDataFrameT] | LazyFrame[IntoFrameT] | Series[IntoSeriesT]rU  r3  ro  r3  r²   zIntoFrameT | IntoSeriesT | Anyr‘   )r«  zCallable[..., Any] | NonerU  r3  ro  r3  rQ  r·   rV  r·   rR  r·   rW  r3  r²   r®  )r²   r   )rµ  zstr | Iterable[str]r²   r   )rº  zint | Sequence[int]r²   r   )r§  ri   r¿  úDType | type[DType] | Noner²   r   )rÃ  rÑ   r²   r   )rÐ  úIntoExpr | Iterable[IntoExpr]r²   r   )r¡  zIterable[FrameT]rß  rd   r²   rn   )
rÐ  r"  rè  re   rä  rÑ   rå  r·   r²   r   )rü  r"  r²   r   )rö   rÑ   r¢  r   r¿  r!  rš   r´   rþ  úModuleType | Noner²   ru   )r  r`   rš   r´   rþ  r#  r²   ro   )
r  zMapping[str, Any]r6  z#Mapping[str, DType] | Schema | Nonerš   r´   rþ  r#  r²   ro   )
r  rm   r6  z3Mapping[str, DType] | Schema | Sequence[str] | Nonerš   r´   rþ  r#  r²   ro   )
r  rÑ   rš   r´   rþ  r#  rÛ   r   r²   ro   )
r  rÑ   rš   r´   rþ  r#  rÛ   r   r²   rp   )¬Ú
__future__r   Ú	functoolsr   Útypingr   r   r   r	   r
   r   r   r   Úwarningsr   Únarwhalsr±  r   r   r   Únarwhals._expression_parsingr   rÉ   r   r¼   r   rì   Únarwhals.dependenciesr   r  r   rÊ   r   rH  Únarwhals.functionsr   rù  r   rò  r   r   r   r   r    r!   r"   r#   r$   r%   r&   rû  Únarwhals.schemar'   r9  rË   r)   r  Únarwhals.stable.v1r*   Únarwhals.stable.v1.dtypesr+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   Únarwhals.translaterG   rH   rI   Únarwhals.typingrJ   rK   r  rL   rM   rN   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rZ   Útypesr[   r\   Útyping_extensionsr]   r^   r_   Únarwhals._translater`   ra   rb   Únarwhals.dtypesrc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   rq   rs   rt   rv   rx   ry   rz   r=  rM  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  Ú__all__r’   rˆ   r†   ú<module>r6     s9  ðÝ "å Ý  Ý Ý Ý Ý Ý Ý Ý Ý ã Ý !Ý Ý Ý 1Ý 7Ý 7Ý ,Ý 4Ý (Ý -Ý -Ý /Ý .Ý /Ý /Ý -Ý 1Ý -Ý 1Ý (Ý ,Ý .Ý .Ý .Ý %Ý +Ý ,Ý -Ý 1Ý *Ý .Ý -Ý .Ý *Ý +Ý -Ý -Ý *Ý +Ý +Ý +Ý ,Ý *Ý ,Ý ,Ý ,Ý *Ý +Ý ,Ý ,Ý ,Ý -Ý -Ý 0Ý 3Ý +Ý *Ý &Ý )Ý "Ý 5Ý *Ý 9Ý &Ý 1Ý ,Ý /Ý *Ý ,Ý *Ý :áÝ Ýå+Ý&Ý)å2Ý3Ý5Ý%Ý,Ý(Ý)Ý.Ý*Ý0Ý1Ý3Ý(Ý(á�XÐ/Ð1AÓB€FÙ˜Ð-=Ô>€JÙ˜Ð-=Ô>€JÙ�i }Ô5€GÙ˜-¨|ÀSÔI€KÙ�˜SÔ!€AÙ�#‹€AÙ�‹�Aåá˜-¨|Ô<€KÙ�‹€AôS-�˜NÑ+ô S-ôlK
�˜JÑ'ô K
ô\0
ˆX�kÑ"ô 0
ôfz
ˆ6ô z
ôz!ˆXô !ð 
Ú Jó 
Ø JØ	Ú Jó 
Ø JØ	Ú Fó 
Ø FØ	Ú (ó 
Ø (Ø	Ú $ó 
Ø $ðð

ðð Vóð$ 
Ú Dó 
Ø Dð 
Ú Jó 
Ø Jð 
Ú Jó 
Ø Jð 
ð"Ø*ð"Ø47ð"àò"ó 
ð"ð
 
ð
 "%à"%ñ:Ø/ð:ð ð:ð ð	:ð
  -ð:ð  ð:ð  ð:ð 5ò:ó 
ð:ð 
ð 14Ø"%ñ:Ø/ð:ð ð:ð ð	:ð
  .ð:ð  ð:ð  ð:ð 5ó:ó 
ð:ð 
ð
 "%à"%Øñ$Ø!ð$ð ð$ð ð	$ð
  -ð$ð  ð$ð ð$ð ó$ó 
ð$ð 
ð
 "%à"%ØñØðð ðð ð	ð
  -ðð  ðð ðð óó 
ðð 
ð 14Ø"%Øñ$Ø!ð$ð ð$ð ð	$ð
  .ð$ð  ð$ð ð$ð ó$ó 
ð$ð 
ð 14Ø"%ØñØðð ðð ð	ð
  .ðð  ðð ðð óó 
ðð 
ð
 "%Ø03Ø"%ñNØ+ðNð ðNð ð	Nð
  .ðNð  ðNð  ðNð IóNó 
ðNð 
ð
 "%Ø03àñØðð ðð ð	ð
  .ðð ðð ðð óó 
ðð 
ð
 "%Ø03Ø"%Øñ8Øð8ð ð8ð ð	8ð
  .ð8ð  ð8ð ð8ð 3ó8ó 
ð8ð 
ð
 "%Ø03Ø"%ØñØðð ðð ð	ð
  .ðð  ðð ðð óó 
ðð 
ð  Ø!$à"%Øñ$Ø!ð$ð ð$ð ð	$ð
  -ð$ð  ð$ð ð$ð ó$ó 
ð$ð 
ð  à03Ø"%Øñ$Ø!ð$ð ð$ð ð	$ð
  .ð$ð  ð$ð ð$ð ó$ó 
ð$ð 
ð  Ø!$Ø03Ø"%ñ8Ø)ð8ð ð8ð ð	8ð
  .ð8ð  ð8ð  ð8ð 3ó8ó 
ð8ð 
ð  Ø!$Ø03àñØðð ðð ð	ð
  .ðð ðð ðð óó 
ðð 
ð  Ø!$Ø03Ø"%Øñ$Ø!ð$ð ð$ð ð	$ð
  .ð$ð  ð$ð ð$ð ó$ó 
ð$ð 
ð  Ø!$Ø03Ø"%Øñ8Øð8ð ð8ð ð	8ð
  .ð8ð  ð8ð ð8ð 3ó8ó 
ð8ð 
ð
 "%à"%ñ$Ø.ð$ð  ð$ð ð	$ð
  -ð$ð  ð$ð  ð$ð ó$ó 
ð$ð 
ð 14Ø"%ñ:Ø/ð:ð  ð:ð ð	:ð
  .ð:ð  ð:ð  ð:ð 5ó:ó 
ð:ð 
ð
 "%à"%Øñ$Ø!ð$ð  ð$ð ð	$ð
  -ð$ð  ð$ð ð$ð ó$ó 
ð$ð 
ð
 "%à"%ØñØðð  ðð ð	ð
  -ðð  ðð ðð óó 
ðð 
ð 14Ø"%Øñ$Ø!ð$ð  ð$ð ð	$ð
  .ð$ð  ð$ð ð$ð ó$ó 
ð$ð 
ð 14Ø"%ØñØðð  ðð ð	ð
  .ðð  ðð ðð óó 
ðð 
ð
 "%Ø03Ø"%ñNØ+ðNð  ðNð ð	Nð
  .ðNð  ðNð  ðNð IóNó 
ðNð 
ð
 "%Ø03àñØðð  ðð ð	ð
  .ðð ðð ðð óó 
ðð 
ð
 "%Ø03Ø"%Øñ8Øð8ð  ð8ð ð	8ð
  .ð8ð  ð8ð ð8ð 3ó8ó 
ð8ð 
ð
 "%Ø03Ø"%ØñØðð  ðð ð	ð
  .ðð  ðð ðð óó 
ðð 
ð $'Ø!$à"%Øñ$Ø!ð$ð !ð$ð ð	$ð
  -ð$ð  ð$ð ð$ð ó$ó 
ð$ð 
ð $'à03Ø"%Øñ$Ø!ð$ð !ð$ð ð	$ð
  .ð$ð  ð$ð ð$ð ó$ó 
ð$ð 
ð $'Ø!$Ø03Ø"%ñ8Ø)ð8ð !ð8ð ð	8ð
  .ð8ð  ð8ð  ð8ð 3ó8ó 
ð8ð 
ð $'Ø!$Ø03àñØðð !ðð ð	ð
  .ðð ðð ðð óó 
ðð 
ð $'Ø!$Ø03Ø"%Øñ8Øð8ð !ð8ð ð	8ð
  .ð8ð  ð8ð ð8ð 3ó8ó 
ð8ð 
ð ',ñØðð ðð ð	ð
  $ðð ðð ðð 	óó 
ðð Ø $ØØ&+ØØ $ñRØHðRð ðRð ð	Rð
 ðRð  $ðRð ðRð ðRð ðRð MôRðj 
àKNñØ.ðØ;Hðàóó 
ðð 
àGJñØ*ðØ7Dðàóó 
ðð 
àEHñØ(ðØ5Bðàóó 
ðð 
Û @ó 
Ø @Ø	àRUñØ.ðØAOðàóó 
ðð 
àNQñØ*ðØ=Kðàóó 
ðð 
àLOñØ(ðØ;Iðàóó 
ðð 
Û Fó 
Ø Fð Ø $ñ-ðð-ð
 ð-ð ð-ð $ô-ðb '+ñpð Ø $ØØ&+ØØ $ñpØ
#ðpð ðpð ð	pð
 ðpð  $ðpð ðpð ðpð ôpôf ô	&ô	*ô(ô  ö,ô(ô(ô)ô+ô"(ô1ô 
1ô
1ô
2ô1ô 1ð  <Fö Að4 Øñ	Ø(ðàðð ðð ð	ð
 
ôô63ˆ6ô 3ô4ˆ6�4ô 4ô0ñ2  TÔ*ð )-ñ$ð
 9=Ø*.ñ$Ø
ð$àð$ð &ð$ð
 6ð$ð (ð$ð ó$ó +ð$ñN  TÔ*ð 9=Ø*.ñ	Ø ðð 6ðð (ð	ð
 óó +ðñD Óð 37ñ)ð 9=Ø*.ñ)Ø
ð)à/ð)ð 6ð	)ð
 (ð)ð ó)ó ð)ñX  TÔ*ð CGñ%[ð 9=Ø*.ñ%[Ø
ð%[à?ð%[ð 6ð	%[ð
 (ð%[ð ó%[ó +ð%[ñP  TÔ*ð 9=Ø*.ñ	"Øð"ð 6ð"ð (ð	"ð
 ð"ð ó"ó +ð"ñJ  TÔ*ð 9=Ø*.ñ	%Øð%ð 6ð%ð (ð	%ð
 ð%ð ó%ó +ð%ñP  TÔ*ð 9=Ø*.ñ	"Øð"ð 6ð"ð (ð	"ð
 ð"ð ó"ó +ð"ñJ  TÔ*ð 9=Ø*.ñ	3Øð3ð 6ð3ð (ð	3ð
 ð3ð ó3ó +ð3òlQ�rˆ   