§
    Šhþh�œ  ã                  ó*  — U d dl mZ d dlmZ d dlmZmZmZmZm	Z	m
Z
mZ d dlZd dlmZmZ d dlmZmZ d dlmZmZmZmZmZmZmZmZmZmZmZ d dl m!Z"m#Z$ d d	l%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZA d d
lBmCZD d dlEmFZFmGZGmHZH d dlImJZK d dlLmMZN d dlOmPZPmQZQmRZR d dlSmTZTmUZUmVZV d dlWmXZXmYZY eršd dlZm[Z[m\Z\m]Z] d dl^m_Z_m`Z` d dlambZb d dlcmdZdmeZemfZfmgZgmhZhmiZimjZj d dl mkZkmlZl d dl%mmZm d dlWmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZw  edd¬¦  «        Zx edd¬¦  «        Zy edd¬¦  «        Zz ede¬ ¦  «        Z{ e_d!¦  «        Z| ed"¦  «        Z} ed#d$e¬%¦  «        Z~ G d&„ d'e"eX         ¦  «        Z! G d(„ d)e$eY         ¦  «        Z# G d*„ d+eNe~         ¦  «        ZM G d,„ d-eD¦  «        ZC G d.„ d/eK¦  «        ZJedËd4„¦   «         ZedÌd7„¦   «         ZedÍd:„¦   «         ZedÎd<„¦   «         ZdÏd?„ZedÐdC„¦   «         Z€edÑdD„¦   «         Z€edÒdE„¦   «         Z€edÓdG„¦   «         Z€edHdHdIœdÔdQ„¦   «         Z€edHdRœdÕdU„¦   «         Z€edHdHdHdVœdÖdY„¦   «         Z€edHdHdHdVœd×dZ„¦   «         Z€edHdHd[œdØd\„¦   «         Z€edHdHd[œdÙd]„¦   «         Z€edHdHd^œdÚd_„¦   «         Z€edHdHdHdHd`œdÛda„¦   «         Z€edHdHdHdHd`œdÜdc„¦   «         Z€edHdHdHddœdÝde„¦   «         Z€edHdHdHdfœdÞdi„¦   «         Z€edHdHdHdjœdßdk„¦   «         Z€edàdn„¦   «         Z€dodododd`œdádr„Z€edHdsœdâdu„¦   «         Z�edHdsœdãdv„¦   «         Z�edHdsœdädw„¦   «         Z�edådx„¦   «         Z�dodsœdæd{„Z�	 dçd|dodod|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�dîd˜„ZŽdïdš„Z�dïd›„Z�dîdœ„Z‘dîd�„Z’dîdž„Z“dŸdod œdðd¤„Z”dñd§„Z•dòd¨„Z– G d©„ dªej—        ¦  «        Z— G d«„ d¬ej˜        eC¦  «        Z˜dód®„Z™	 dçdôd³„Zšdõd¶„Z›	 dçdd·œdöd½„Zœe!j�        Z�d¾ežd¿<   	 dçd÷dÂ„ZŸdødÅ„Z dùdÇ„Z¡dødÈ„Z¢dùdÉ„Z£g dÊ¢Z¤dS )úé    )Úannotations©Úwraps)ÚTYPE_CHECKINGÚAnyÚCallableÚFinalÚLiteralÚcastÚoverloadN)Ú
exceptionsÚ	functions)ÚTypeVarÚassert_never)ÚImplementationÚVersionÚgenerate_temporary_column_nameÚinherit_docÚis_ordered_categoricalÚmaybe_align_indexÚmaybe_convert_dtypesÚmaybe_get_indexÚmaybe_reset_indexÚmaybe_set_indexÚnot_implemented)Ú	DataFrameÚ	LazyFrame)Ú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)ÚExpr)Ú_new_series_implÚconcatÚshow_versions)ÚSchema)ÚSeries)ÚdependenciesÚdtypesÚ	selectors)Ú_from_native_implÚget_native_namespaceÚto_py_scalar)ÚIntoDataFrameTÚIntoLazyFrameT)ÚIterableÚMappingÚSequence)Ú	ParamSpecÚSelf)ÚIntoArrowTable)ÚArrowÚBackendÚEagerAllowedÚIntoBackendÚLazyAllowedÚPandasÚPolars)ÚMultiColSelectorÚMultiIndexSelector)ÚDType)
Ú	IntoDTypeÚIntoExprÚ	IntoFrameÚ
IntoSchemaÚ
IntoSeriesÚNonNestedLiteralÚSingleColSelectorÚSingleIndexSelectorÚ_1DArrayÚ_2DArrayÚ
DataFrameTúDataFrame[Any])ÚboundÚ
LazyFrameTúLazyFrame[Any]ÚSeriesTúSeries[Any]ÚT)ÚdefaultÚPÚRÚIntoSeriesTr\   )rd   rj   c                  óö  ‡ — e Zd Zej        Z ee¦  «        dFˆ fd„¦   «         Ze	dGˆ fd„¦   «         Z
e		 dHddœdIˆ fd„¦   «         Ze		 dHdJˆ fd„¦   «         Ze		 dHdKˆ fd„¦   «         ZedLd„¦   «         ZedMd„¦   «         ZedNd"„¦   «         ZedOd%„¦   «         ZedPd(„¦   «         ZdQˆ fd+„ZdRˆ fd/„Z	 dHdd0œdSˆ fd5„Zed6d7œdTd;„¦   «         ZedUd>„¦   «         Zed?d7œdVdB„¦   «         Zd?d7œdVˆ fdC„ZdWˆ fdD„ZdWˆ fdE„Zˆ xZS )Xr   Údfr   Úlevelú&Literal['full', 'lazy', 'interchange']ÚreturnÚNonec               óx   •— |j         t          j        u sJ ‚t          ¦   «                              ||¬¦  «         d S ©N)rp   ©Ú_versionr   ÚV2ÚsuperÚ__init__©Úselfro   rp   Ú	__class__s      €úR/var/www/histauto/venv/lib/python3.11/site-packages/narwhals/stable/v2/__init__.pyrz   zDataFrame.__init__h   ó;   ø€ àŒ{�gœjÐ(Ð(Ð(Ð(Ý‰Œ×Ò˜ 5ÐÑ)Ô)Ð)Ð)Ð)ó    Únative_framerM   ÚbackendúIntoBackend[EagerAllowed]rc   c               ój   •— t          ¦   «                              ||¬¦  «        }t          d|¦  «        S ©N©r‚   rc   )ry   Ú
from_arrowr   )Úclsr�   r‚   Úresultr}   s       €r~   r‡   zDataFrame.from_arrowp   s2   ø€ õ ‘”×#Ò# L¸'Ð#ÑBÔBˆÝÐ$ fÑ-Ô-Ð-r€   Nr†   ÚdataúMapping[str, Any]Úschemaú#Mapping[str, DType] | Schema | Noneú IntoBackend[EagerAllowed] | Nonec               ól   •— t          ¦   «                              |||¬¦  «        }t          d|¦  «        S r…   )ry   Ú	from_dictr   ©rˆ   rŠ   rŒ   r‚   r‰   r}   s        €r~   r�   zDataFrame.from_dictw   s4   ø€ õ ‘”×"Ò" 4¨¸Ð"ÑAÔAˆÝÐ$ fÑ-Ô-Ð-r€   úSequence[Mapping[str, Any]]úIntoSchema | Nonec               ól   •— t          ¦   «                              |||¬¦  «        }t          d|¦  «        S r…   )ry   Ú
from_dictsr   r‘   s        €r~   r•   zDataFrame.from_dicts‚   ó4   ø€ õ ‘”×#Ò# D¨&¸'Ð#ÑBÔBˆÝÐ$ fÑ-Ô-Ð-r€   ra   ú3Mapping[str, DType] | Schema | Sequence[str] | Nonec               ól   •— t          ¦   «                              |||¬¦  «        }t          d|¦  «        S r…   ©ry   Ú
from_numpyr   r‘   s        €r~   rš   zDataFrame.from_numpy�   r–   r€   útype[Series[Any]]c                ó,   — t          dt          ¦  «        S )Nr›   )r   r?   ©r|   s    r~   Ú_serieszDataFrame._series˜   s   € åÐ'­Ñ0Ô0Ð0r€   útype[LazyFrame[Any]]c                ó,   — t          dt          ¦  «        S )NrŸ   )r   r   r�   s    r~   Ú
_lazyframezDataFrame._lazyframeœ   s   € åÐ*­IÑ6Ô6Ð6r€   Úitemú-tuple[SingleIndexSelector, SingleColSelector]c                ó   — d S ©N© ©r|   r¢   s     r~   Ú__getitem__zDataFrame.__getitem__    s   € ØWZÐWZr€   ú2str | tuple[MultiIndexSelector, SingleColSelector]rh   c                ó   — d S r¥   r¦   r§   s     r~   r¨   zDataFrame.__getitem__£   s	   € ð �cr€   ú˜SingleIndexSelector | MultiIndexSelector | MultiColSelector | tuple[SingleIndexSelector, MultiColSelector] | tuple[MultiIndexSelector, MultiColSelector]rL   c                ó   — d S r¥   r¦   r§   s     r~   r¨   zDataFrame.__getitem__¨   s	   € ð ˆsr€   á  SingleIndexSelector | SingleColSelector | MultiColSelector | MultiIndexSelector | tuple[SingleIndexSelector, SingleColSelector] | tuple[SingleIndexSelector, MultiColSelector] | tuple[MultiIndexSelector, SingleColSelector] | tuple[MultiIndexSelector, MultiColSelector]úSeries[Any] | Self | Anyc                óF   •— t          ¦   «                              |¦  «        S r¥   )ry   r¨   )r|   r¢   r}   s     €r~   r¨   zDataFrame.__getitem__³   s   ø€ õ ‰wŒw×"Ò" 4Ñ(Ô(Ð(r€   ÚnameÚstrr?   c                óF   •— t          ¦   «                              |¦  «        S r¥   )ry   Ú
get_column)r|   r°   r}   s     €r~   r³   zDataFrame.get_columnÂ   s   ø€ õ ‰wŒw×!Ò! $Ñ'Ô'Ð'r€   )ÚsessionúIntoBackend[LazyAllowed] | Noner´   ú
Any | Nonerf   c               ód   •— t          t          ¦   «                              ||¬¦  «        ¦  «        S )N)r‚   r´   )Ú
_stableifyry   Úlazy)r|   r‚   r´   r}   s      €r~   r¹   zDataFrame.lazyÇ   s'   ø€ õ �%™'œ'Ÿ,š,¨wÀ˜,ÑHÔHÑIÔIÐIr€   .©Ú	as_seriesr»   úLiteral[True]údict[str, Series[Any]]c               ó   — d S r¥   r¦   ©r|   r»   s     r~   Úto_dictzDataFrame.to_dictÏ   s   € ØTWÐTWr€   úLiteral[False]údict[str, list[Any]]c               ó   — d S r¥   r¦   r¿   s     r~   rÀ   zDataFrame.to_dictÑ   s   € ØMPÈSr€   TÚboolú-dict[str, Series[Any]] | dict[str, list[Any]]c               ó   — d S r¥   r¦   r¿   s     r~   rÀ   zDataFrame.to_dictÓ   s	   € ð 9<¸r€   c               óH   •— t          ¦   «                              |¬¦  «        S )Nrº   )ry   rÀ   )r|   r»   r}   s     €r~   rÀ   zDataFrame.to_dict×   s   ø€ õ
 ‰wŒw�Š¨ˆÑ3Ô3Ð3r€   c                ó^   •— t          t          ¦   «                              ¦   «         ¦  «        S r¥   )r¸   ry   Úis_duplicated©r|   r}   s    €r~   rÉ   zDataFrame.is_duplicatedÞ   s!   ø€ Ý�%™'œ'×/Ò/Ñ1Ô1Ñ2Ô2Ð2r€   c                ó^   •— t          t          ¦   «                              ¦   «         ¦  «        S r¥   )r¸   ry   Ú	is_uniquerÊ   s    €r~   rÌ   zDataFrame.is_uniqueá   s!   ø€ Ý�%™'œ'×+Ò+Ñ-Ô-Ñ.Ô.Ð.r€   ©ro   r   rp   rq   rr   rs   ©r�   rM   r‚   rƒ   rr   rc   r¥   ©rŠ   r‹   rŒ   r�   r‚   rŽ   rr   rc   )rŠ   r’   rŒ   r“   r‚   rƒ   rr   rc   ©rŠ   ra   rŒ   r—   r‚   rƒ   rr   rc   )rr   r›   )rr   rŸ   )r¢   r£   rr   r   )r¢   r©   rr   rh   )r¢   r«   rr   rL   )r¢   r­   rr   r®   )r°   r±   rr   r?   )r‚   rµ   r´   r¶   rr   rf   )r»   r¼   rr   r½   )r»   rÁ   rr   rÂ   )r»   rÄ   rr   rÅ   )rr   rh   )Ú__name__Ú
__module__Ú__qualname__r   rx   rw   r   ÚNwDataFramerz   Úclassmethodr‡   r�   r•   rš   Úpropertyrž   r¡   r   r¨   r³   r¹   rÀ   rÉ   rÌ   Ú__classcell__©r}   s   @r~   r   r   e   s  ø€ € € € € ØŒz€Hà€[�ÑÔð*ð *ð *ð *ð *ñ Ôð*ð ð.ð .ð .ð .ð .ñ „[ð.ð ð 7;ð.ð
 59ð.ð .ð .ð .ð .ð .ð .ñ „[ð.ð ð %)ð.ð .ð .ð .ð .ð .ñ „[ð.ð ð GKð.ð .ð .ð .ð .ð .ñ „[ð.ð ð1ð 1ð 1ñ „Xð1ð ð7ð 7ð 7ñ „Xð7ð ØZÐZÐZñ „XØZàðð ð ñ „Xðð ð	ð 	ð 	ñ „Xð	ð)ð )ð )ð )ð )ð )ð(ð (ð (ð (ð (ð (ð 48ðJð #ð	Jð Jð Jð Jð Jð Jð Jð Jð Ø47ÐWÐWÐWÐWÐWñ „XØWØØPÐPÐPñ „XØPØà#'ð<ð <ð <ð <ð <ñ „Xð<ð $(ð4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð3ð 3ð 3ð 3ð 3ð 3ð/ð /ð /ð /ð /ð /ð /ð /ð /ð /r€   r   c                  ój   ‡ — e Zd Z ee¦  «        dˆ fd„¦   «         Zedd	„¦   «         Z	 ddˆ fd„Zˆ xZ	S )r   ro   r   rp   rq   rr   rs   c               óx   •— |j         t          j        u sJ ‚t          ¦   «                              ||¬¦  «         d S ru   rv   r{   s      €r~   rz   zLazyFrame.__init__æ   r   r€   útype[DataFrame[Any]]c                ó   — t           S r¥   ©r   r�   s    r~   Ú
_dataframezLazyFrame._dataframeë   ó   € åÐr€   Nr‚   ú+IntoBackend[Polars | Pandas | Arrow] | NoneÚkwargsrc   c                óT   •— t           t          ¦   «         j        dd|i|¤Ž¦  «        S )Nr‚   r¦   )r¸   ry   Úcollect)r|   r‚   rá   r}   s      €r~   rã   zLazyFrame.collectï   s.   ø€ õ ˜/�%™'œ'œ/ÐDÐD°'ÐD¸VÐDÐDÑEÔEÐEr€   rÍ   ©rr   rÛ   r¥   )r‚   rà   rá   r   rr   rc   )
rÑ   rÒ   rÓ   r   ÚNwLazyFramerz   rÖ   rÞ   rã   r×   rØ   s   @r~   r   r   å   s§   ø€ € € € € Ø€[�ÑÔð*ð *ð *ð *ð *ñ Ôð*ð ðð ð ñ „Xðð FJðFð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fr€   r   c                  óì   ‡ — e Zd ZU ej        Z ee¦  «        d"ˆ fd„¦   «         Ze	d#d	„¦   «         Z
e	 d$d%ˆ fd„¦   «         Ze	 d$d&ˆ fd„¦   «         Zd'ˆ fd„Zddd
ddœd(ˆ fd „Z e¦   «         Zded!<   ˆ xZS ))r?   Úseriesr   rp   rq   rr   rs   c               óx   •— |j         t          j        u sJ ‚t          ¦   «                              ||¬¦  «         d S ru   rv   )r|   rç   rp   r}   s      €r~   rz   zSeries.__init__ø   s=   ø€ ð Œ¥'¤*Ð,Ð,Ð,Ð,Ý‰Œ×Ò˜ uÐÑ-Ô-Ð-Ð-Ð-r€   rÛ   c                ó   — t           S r¥   rÝ   r�   s    r~   rÞ   zSeries._dataframe  rß   r€   Nr°   r±   Úvaluesr`   ÚdtypeúIntoDType | Noner‚   rƒ   rh   c               ón   •— t          ¦   «                              ||||¬¦  «        }t          d|¦  «        S ©Nr†   rh   r™   ©rˆ   r°   rê   rë   r‚   r‰   r}   s         €r~   rš   zSeries.from_numpy  s5   ø€ õ ‘”×#Ò# D¨&°%ÀÐ#ÑIÔIˆÝ�M 6Ñ*Ô*Ð*r€   úIterable[Any]c               ón   •— t          ¦   «                              ||||¬¦  «        }t          d|¦  «        S rî   )ry   Úfrom_iterabler   rï   s         €r~   rò   zSeries.from_iterable  s5   ø€ õ ‘”×&Ò& t¨V°UÀGÐ&ÑLÔLˆÝ�M 6Ñ*Ô*Ð*r€   rc   c                ó^   •— t          t          ¦   «                              ¦   «         ¦  «        S r¥   )r¸   ry   Úto_framerÊ   s    €r~   rô   zSeries.to_frame  s!   ø€ Ý�%™'œ'×*Ò*Ñ,Ô,Ñ-Ô-Ð-r€   F©ÚsortÚparallelr°   Ú	normalizerö   rÄ   r÷   ú
str | Nonerø   c               óh   •— t          t          ¦   «                              ||||¬¦  «        ¦  «        S )Nrõ   )r¸   ry   Úvalue_counts)r|   rö   r÷   r°   rø   r}   s        €r~   rû   zSeries.value_counts!  s<   ø€ õ Ý‰GŒG× Ò Ø H°4À9ð !ñ ô ñ
ô 
ð 	
r€   Úhist)rç   r   rp   rq   rr   rs   rä   r¥   )
r°   r±   rê   r`   rë   rì   r‚   rƒ   rr   rh   )
r°   r±   rê   rð   rë   rì   r‚   rƒ   rr   rh   )rr   rc   )
rö   rÄ   r÷   rÄ   r°   rù   rø   rÄ   rr   rc   )rÑ   rÒ   rÓ   r   rx   rw   r   ÚNwSeriesrz   rÖ   rÞ   rÕ   rš   rò   rô   rû   r   rü   Ú__annotations__r×   rØ   s   @r~   r?   r?   õ   sJ  ø€ € € € € € ØŒz€Hà€[�ÑÔð.ð .ð .ð .ð .ñ Ôð.ð ðð ð ñ „Xðð ð
 #'ð		+ð 	+ð 	+ð 	+ð 	+ð 	+ñ „[ð	+ð ð
 #'ð		+ð 	+ð 	+ð 	+ð 	+ð 	+ñ „[ð	+ð.ð .ð .ð .ð .ð .ð ØØØð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð  �Ñ!Ô!€DÐ!Ð!Ð!Ñ!Ð!Ð!Ð!Ð!r€   r?   c                  ó   — e Zd ZdS )r:   N)rÑ   rÒ   rÓ   r¦   r€   r~   r:   r:   3  s   € € € € € € € r€   r:   c                  óT   ‡ — e Zd Zej        Z ee¦  «        	 ddˆ fd„¦   «         Zˆ xZ	S )	r>   NrŒ   ú8Mapping[str, DType] | Iterable[tuple[str, DType]] | Nonerr   rs   c                óJ   •— t          ¦   «                              |¦  «         d S r¥   )ry   rz   )r|   rŒ   r}   s     €r~   rz   zSchema.__init__9  s#   ø€ õ 	‰Œ×Ò˜Ñ Ô Ð Ð Ð r€   r¥   )rŒ   r  rr   rs   )
rÑ   rÒ   rÓ   r   rx   rw   r   ÚNwSchemarz   r×   rØ   s   @r~   r>   r>   6  sa   ø€ € € € € ØŒz€Hà€[�ÑÔàQUð!ð !ð !ð !ð !ð !ñ Ôð!ð !ð !ð !ð !r€   r>   ÚobjúNwDataFrame[IntoDataFrameT]rr   úDataFrame[IntoDataFrameT]c                ó   — d S r¥   r¦   ©r  s    r~   r¸   r¸   @  ó   € ØORÈsr€   úNwLazyFrame[IntoLazyFrameT]úLazyFrame[IntoLazyFrameT]c                ó   — d S r¥   r¦   r  s    r~   r¸   r¸   B  r	  r€   úNwSeries[IntoSeriesT]úSeries[IntoSeriesT]c                ó   — d S r¥   r¦   r  s    r~   r¸   r¸   D  ó   € ØCFÀ3r€   ÚNwExprc                ó   — d S r¥   r¦   r  s    r~   r¸   r¸   F  s   € Ø%( Sr€   úZNwDataFrame[IntoDataFrameT] | NwLazyFrame[IntoLazyFrameT] | NwSeries[IntoSeriesT] | NwExprúRDataFrame[IntoDataFrameT] | LazyFrame[IntoLazyFrameT] | Series[IntoSeriesT] | Exprc                óP  — t          | t          ¦  «        r8t          | j                             t
          j        ¦  «        | j        ¬¦  «        S t          | t          ¦  «        r8t          | j                             t
          j        ¦  «        | j        ¬¦  «        S t          | t          ¦  «        r8t          | j                             t
          j        ¦  «        | j        ¬¦  «        S t          | t          ¦  «        rt          | j        | j        ¦  «        S t#          | ¦  «         d S ru   )Ú
isinstancerÔ   r   Ú_compliant_frameÚ_with_versionr   rx   Ú_levelrå   r   rý   r?   Ú_compliant_seriesr  r:   Ú_to_compliant_exprÚ	_metadatar   r  s    r~   r¸   r¸   J  sð   € õ �#•{Ñ#Ô#ð [Ý˜Ô-×;Ò;½G¼JÑGÔGÈsÌzÐZÑZÔZÐZÝ�#•{Ñ#Ô#ð [Ý˜Ô-×;Ò;½G¼JÑGÔGÈsÌzÐZÑZÔZÐZÝ�#•xÑ Ô ð YÝ�cÔ+×9Ò9½'¼*ÑEÔEÈSÌZÐXÑXÔXÐXÝ�#•vÑÔð ;Ý�CÔ*¨C¬MÑ:Ô:Ð:Ý�ÑÔÐÐÐr€   Únative_objectÚkwdsr   c                ó   — d S r¥   r¦   ©r  r  s     r~   Úfrom_nativer!  [  s   € ØADÀr€   c                ó   — d S r¥   r¦   r   s     r~   r!  r!  _  ó   € ØGJÀsr€   c                ó   — d S r¥   r¦   r   s     r~   r!  r!  c  r#  r€   úDataFrameT | LazyFrameTc                ó   — d S r¥   r¦   r   s     r~   r!  r!  g  s	   € ð "˜cr€   .)Ú
eager_onlyÚseries_onlyúIntoDataFrameT | IntoSeriesÚpass_throughr¼   r'  rÁ   r(  Úallow_seriesc               ó   — d S r¥   r¦   ©r  r*  r'  r(  r+  s        r~   r!  r!  m  ó	   € ð !$ r€   )r(  úIntoDataFrameT | IntoSeriesTú/DataFrame[IntoDataFrameT] | Series[IntoSeriesT]c               ó   — d S r¥   r¦   r-  s        r~   r!  r!  x  s	   € ð 7:°cr€   )r'  r(  r+  rF   rs   c               ó   — d S r¥   r¦   r-  s        r~   r!  r!  ƒ  r.  r€   c               ó   — d S r¥   r¦   r-  s        r~   r!  r!  Ž  ó	   € ð 	ˆr€   )r(  r+  c               ó   — d S r¥   r¦   r-  s        r~   r!  r!  ™  r.  r€   c               ó   — d S r¥   r¦   r-  s        r~   r!  r!  ¤  r4  r€   )r'  r+  c               ó   — d S r¥   r¦   r-  s        r~   r!  r!  ¯  ó	   € ð ˜#r€   ©r*  r'  r(  r+  c               ó   — d S r¥   r¦   r-  s        r~   r!  r!  º  r.  r€   rG   c               ó   — d S r¥   r¦   r-  s        r~   r!  r!  Å  r.  r€   )r*  r(  r+  c               ó   — d S r¥   r¦   r-  s        r~   r!  r!  Ð  r.  r€   )r*  r'  r(  úIntoFrame | IntoSeriesú-DataFrame[Any] | LazyFrame[Any] | Series[Any]c               ó   — d S r¥   r¦   r-  s        r~   r!  r!  Û  s	   € ð 58°Cr€   )r*  r'  r+  c               ó   — d S r¥   r¦   r-  s        r~   r!  r!  æ  r8  r€   rÄ   úbool | Nonec               ó   — d S r¥   r¦   r-  s        r~   r!  r!  ò  s	   € ð ˆ#r€   FúJIntoDataFrameT | IntoLazyFrameT | IntoFrame | IntoSeriesT | IntoSeries | TúOLazyFrame[IntoLazyFrameT] | DataFrame[IntoDataFrameT] | Series[IntoSeriesT] | Tc               ó  — t          | t          t          f¦  «        r|s| S t          | t          ¦  «        r|s|r| S |r.dt	          t          |¦  «        ¦  «        ›�}t          |¦  «        ‚t          | ||||t          j	        ¬¦  «        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__`
        pass_through: Determine what happens if the object can't be converted to Narwhals

            - `False` (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
        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.
    z1from_native() got an unexpected keyword argument )r*  r'  r(  r+  Úversion)
r  r   r   r?   ÚnextÚiterÚ	TypeErrorrC   r   rx   )r  r*  r'  r(  r+  r  Úmsgs          r~   r!  r!  ý  s©   € õZ �-¥)­YÐ!7Ñ8Ô8ð Àð ØÐÝ�-¥Ñ(Ô(ð ¨kð ¸\ð ØÐàð ØVÅ$ÅtÈDÁzÄzÑBRÔBRÐVÐVˆÝ˜‰nŒnÐåØØ!ØØØ!Ý”
ðñ ô ð r€   ©r*  Únarwhals_objectc               ó   — d S r¥   r¦   ©rL  r*  s     r~   Ú	to_nativerO  =  ó	   € ð �Sr€   c               ó   — d S r¥   r¦   rN  s     r~   rO  rO  A  rP  r€   c               ó   — d S r¥   r¦   rN  s     r~   rO  rO  E  s	   € ð �#r€   c               ó   — d S r¥   r¦   rN  s     r~   rO  rO  I  r  r€   úKDataFrame[IntoDataFrameT] | LazyFrame[IntoLazyFrameT] | Series[IntoSeriesT]ú3IntoDataFrameT | IntoLazyFrameT | IntoSeriesT | Anyc               ó.   — t          j        | |¬¦  «        S )a]  Convert Narwhals object to native one.

    Arguments:
        narwhals_object: Narwhals object.
        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.
    rK  )ÚnwrO  rN  s     r~   rO  rO  M  s   € õ& Œ<˜°lÐCÑCÔCÐCr€   TÚfuncúCallable[..., Any] | NoneúCallable[..., Any]c               ó:   ‡‡‡‡— 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.
        pass_through: Determine what happens if the object can't be converted to Narwhals

            - `False`: raise an error
            - `True` (default): 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
        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.
    rX  rZ  rr   c                óH   •‡ — t          ‰ ¦  «        dˆˆˆ ˆˆfd„¦   «         }|S )NÚargsr   rá   rr   c                 ó<  •‡— ˆˆˆ	ˆ
fd„| D ¦   «         } ˆˆˆ	ˆ
fd„|                      ¦   «         D ¦   «         }ˆfd„g | ¢|                     ¦   «         ¢R D ¦   «         }|                     ¦   «         dk    rd}t          |¦  «        ‚ ‰| i |¤Ž}t	          |‰	¬¦  «        S )Nc           	     ó8   •— g | ]}t          |‰‰‰‰¬ ¦  «        ‘ŒS ©r9  ©r!  )Ú.0Úargr+  r'  r*  r(  s     €€€€r~   ú
<listcomp>zBnarwhalify.<locals>.decorator.<locals>.wrapper.<locals>.<listcomp>�  sI   ø€ ð 	ð 	ð 	ð õ ØØ!-Ø)Ø +Ø!-ðñ ô ð	ð 	ð 	r€   c           
     ó@   •— i | ]\  }}|t          |‰‰‰‰¬ ¦  «        “ŒS r`  ra  )rb  r°   Úvaluer+  r'  r*  r(  s      €€€€r~   ú
<dictcomp>zBnarwhalify.<locals>.decorator.<locals>.wrapper.<locals>.<dictcomp>š  sO   ø€ ð 	ð 	ð 	ñ  �D˜%ð •kØØ!-Ø)Ø +Ø!-ðñ ô ð	ð 	ð 	r€   c                óJ   •— h | ]}t          |d d¦  «        xŠ¯ ‰¦   «         ’Œ S )Ú__native_namespace__N)Úgetattr)rb  ÚvÚbs     €r~   ú	<setcomp>zAnarwhalify.<locals>.decorator.<locals>.wrapper.<locals>.<setcomp>¥  sG   ø€ ð ð ð àÝ  Ð$:¸DÑAÔAÐA�AðØ�‘”ðð ð r€   é   z_Found multiple backends. Make sure that all dataframe/series inputs come from the same backend.rK  )Úitemsrê   Ú__len__Ú
ValueErrorrO  )r]  rá   ÚbackendsrJ  r‰   rl  r+  r'  rX  r*  r(  s        @€€€€€r~   Úwrapperz.narwhalify.<locals>.decorator.<locals>.wrapper�  s  øø€ ð	ð 	ð 	ð 	ð 	ð 	ð 	ð  ð	ñ 	ô 	ˆDð	ð 	ð 	ð 	ð 	ð 	ð 	ð $*§<¢<¡>¤>ð	ñ 	ô 	ˆFðð ð ð à2˜4Ð2 &§-¢-¡/¤/Ð2Ð2ðñ ô ˆHð ×ÒÑ!Ô! AÒ%Ð%Øw�Ý  ‘o”oÐ%à�T˜4Ð* 6Ð*Ð*ˆFå˜V°,Ð?Ñ?Ô?Ð?r€   )r]  r   rá   r   rr   r   r   )rX  rs  r+  r'  r*  r(  s   ` €€€€r~   Ú	decoratorznarwhalify.<locals>.decoratorŒ  sX   øø€ Ý	ˆt‰Œð#	@ð #	@ð #	@ð #	@ð #	@ð #	@ð #	@ð #	@ð #	@ñ 
Œð#	@ðJ ˆr€   N)rX  rZ  rr   rZ  r¦   )rX  r*  r'  r(  r+  rt  s    ```` r~   Ú
narwhalifyru  c  sP   øøøø€ ðR'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ðR €|ØÐàˆ9�T‰?Œ?Ðr€   c                 óB   — t          t          j        ¦   «         ¦  «        S )z3Instantiate an expression representing all columns.)r¸   rW  Úallr¦   r€   r~   rw  rw  »  ó   € å•b”f‘h”hÑÔÐr€   Únamesústr | Iterable[str]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.
    )r¸   rW  Úcol©ry  s    r~   r|  r|  À  s   € õ •b”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.
    )r¸   rW  Úexcluder}  s    r~   r  r  É  s   € õ •b”j %Ð(Ñ)Ô)Ð)r€   Úindicesúint | Sequence[int]c                 ó8   — t          t          j        | Ž ¦  «        S )a!  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.
    )r¸   rW  Únth)r€  s    r~   rƒ  rƒ  Ò  s   € õ •b”f˜gÐ&Ñ'Ô'Ð'r€   c                 óB   — t          t          j        ¦   «         ¦  «        S )zReturn the number of rows.)r¸   rW  Úlenr¦   r€   r~   r…  r…  ß  rx  r€   rf  r]   rë   rì   c                óF   — t          t          j        | |¦  «        ¦  «        S )zù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.
    )r¸   rW  Úlit)rf  rë   s     r~   r‡  r‡  ä  s   € õ •b”f˜U EÑ*Ô*Ñ+Ô+Ð+r€   Úcolumnsr±   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.
    )r¸   rW  Úmin©rˆ  s    r~   rŠ  rŠ  ï  ó   € õ •b”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.
    )r¸   rW  Ú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
    )r¸   rW  Úmeanr‹  s    r~   r�  r�    s   € õ •b”g˜wÐ'Ñ(Ô(Ð(r€   c                 ó8   — t          t          j        | Ž ¦  «        S )aL  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
    )r¸   rW  Úmedianr‹  s    r~   r’  r’    s   € õ •b”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
    )r¸   rW  Úsumr‹  s    r~   r”  r”  !  rŒ  r€   ÚexprsúIntoExpr | Iterable[IntoExpr]c                 ó8   — t          t          j        | Ž ¦  «        S )a
  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.
    )r¸   rW  Úsum_horizontal©r•  s    r~   r˜  r˜  -  ó   € õ •bÔ'¨Ð/Ñ0Ô0Ð0r€   Úignore_nullsc                ó>   — t          t          j        |d| iŽ¦  «        S )aþ  Compute the bitwise AND horizontally across columns.

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

            - If `True`, null values are ignored. If there are no elements, the result
              is `True`.
            - If `False`, Kleene logic is followed. Note that this is not allowed for
              pandas with classical NumPy dtypes when null values are present.
    r›  )r¸   rW  Úall_horizontal©r›  r•  s     r~   r�  r�  :  ó"   € õ •bÔ'¨ÐJ¸\ÐJÐJÑKÔKÐKr€   c                ó>   — t          t          j        |d| iŽ¦  «        S )aþ  Compute the bitwise OR horizontally across columns.

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

            - If `True`, null values are ignored. If there are no elements, the result
              is `False`.
            - If `False`, Kleene logic is followed. Note that this is not allowed for
              pandas with classical NumPy dtypes when null values are present.
    r›  )r¸   rW  Úany_horizontalrž  s     r~   r¡  r¡  J  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.
    )r¸   rW  Úmean_horizontalr™  s    r~   r£  r£  Z  s   € õ •bÔ(¨%Ð0Ñ1Ô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.
    )r¸   rW  Úmin_horizontalr™  s    r~   r¥  r¥  d  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.
    )r¸   rW  Úmax_horizontalr™  s    r~   r§  r§  q  rš  r€   Ú ©Ú	separatorr›  Ú
more_exprsrY   rª  c               óH   — t          t          j        | g|¢R ||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.
    r©  )r¸   rW  Ú
concat_str)r•  rª  r›  r«  s       r~   r­  r­  ~  s5   € õ& Ý
Œ�eÐY˜jÐYÐY°IÈLÐYÐYÐYñô ð r€   Úf_stringr]  c                ó@   — t          t          j        | g|¢R Ž ¦  «        S )zŸFormat expressions as a string.

    Arguments:
        f_string: A string that with placeholders.
        args: Expression(s) that fill the placeholders.
    )r¸   rW  Úformat)r®  r]  s     r~   r°  r°  –  s$   € õ •b”i Ð0¨4Ð0Ð0Ð0Ñ1Ô1Ð1r€   c                ó@   — t          t          j        | g|¢R Ž ¦  «        S )aú  Folds the columns from left to right, keeping the first non-null value.

    Arguments:
        exprs: Columns to coalesce, must be a str, nw.Expr, or nw.Series
            where strings are parsed as column names and both nw.Expr/nw.Series
            are passed through as-is. Scalar values must be wrapped in `nw.lit`.

        *more_exprs: Additional columns to coalesce, specified as positional arguments.

    Raises:
        TypeError: If any of the inputs are not a str, nw.Expr, or nw.Series.
    )r¸   rW  Úcoalesce)r•  r«  s     r~   r²  r²     s$   € õ •b”k %Ð5¨*Ð5Ð5Ð5Ñ6Ô6Ð6r€   c                  ó8   ‡ — e Zd Zed	d„¦   «         Zd
ˆ fd„Zˆ xZS )ÚWhenÚwhenú	nw_f.Whenrr   c                ó"   —  | |j         ¦  «        S r¥   )Ú
_predicate)rˆ   rµ  s     r~   Ú	from_whenzWhen.from_when±  s   € àˆs�4”?Ñ#Ô#Ð#r€   rf  ú&IntoExpr | NonNestedLiteral | _1DArrayÚThenc                óv   •— t                                t          ¦   «                              |¦  «        ¦  «        S r¥   )r»  Ú	from_thenry   Úthen©r|   rf  r}   s     €r~   r¾  z	When.thenµ  s%   ø€ Ý�~Š~�e™gœgŸlšl¨5Ñ1Ô1Ñ2Ô2Ð2r€   )rµ  r¶  rr   r´  )rf  rº  rr   r»  )rÑ   rÒ   rÓ   rÕ   r¹  r¾  r×   rØ   s   @r~   r´  r´  °  s[   ø€ € € € € Øð$ð $ð $ñ „[ð$ð3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3r€   r´  c                  ó8   ‡ — e Zd Zed	d„¦   «         Zd
ˆ fd„Zˆ xZS )r»  r¾  ú	nw_f.Thenrr   c                ó.   —  | |j         |j        ¦  «        S r¥   )r  r  )rˆ   r¾  s     r~   r½  zThen.from_thenº  s   € àˆs�4Ô*¨D¬NÑ;Ô;Ð;r€   rf  rº  r:   c                ó`   •— t          t          ¦   «                              |¦  «        ¦  «        S r¥   )r¸   ry   Ú	otherwiser¿  s     €r~   rÄ  zThen.otherwise¾  s#   ø€ Ý�%™'œ'×+Ò+¨EÑ2Ô2Ñ3Ô3Ð3r€   )r¾  rÁ  rr   r»  )rf  rº  rr   r:   )rÑ   rÒ   rÓ   rÕ   r½  rÄ  r×   rØ   s   @r~   r»  r»  ¹  s[   ø€ € € € € Øð<ð <ð <ñ „[ð<ð4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4r€   r»  Ú
predicatesc                 óN   — t                                t          j        | Ž ¦  «        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_frµ  )rÅ  s    r~   rµ  rµ  Â  s   € õ* �>Š>�$œ) ZÐ0Ñ1Ô1Ð1r€   r°   rê   r‚   rƒ   c               óB   — t          t          | |||¬¦  «        ¦  «        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`.
    r†   )r¸   r;   )r°   rê   rë   r‚   s       r~   Ú
new_seriesrÉ  Ú  s$   € õ. Õ& t¨V°UÀGÐLÑLÔLÑMÔMÐMr€   r�   rM   c               óH   — t          t          j        | |¬¦  «        ¦  «        S )aL  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`.
    r†   )r¸   rÇ  r‡   )r�   r‚   s     r~   r‡   r‡   ô  s!   € õ  •d”o l¸GÐDÑDÔDÑEÔEÐEr€   r†   rŠ   r‹   rŒ   r�   rŽ   c               óJ   — t          t          j        | ||¬¦  «        ¦  «        S )aà  Instantiate DataFrame from dictionary.

    Indexes (if present, for pandas-like backends) are aligned following
    the [left-hand-rule](../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`.
    r†   )r¸   rÇ  r�   ©rŠ   rŒ   r‚   s      r~   r�   r�     s#   € õ: •d”n T¨6¸7ÐCÑCÔCÑDÔDÐDr€   r	   r•   ra   r—   c               óJ   — 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`.
    r†   )r¸   rÇ  rš   rÌ  s      r~   rš   rš   *  s#   € õ4 •d”o d¨F¸GÐDÑDÔDÑEÔEÐEr€   Úsourcerá   c               óD   — t          t          j        | fd|i|¤Ž¦  «        S )a½  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`.
        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')`.
    r‚   )r¸   rÇ  Úread_csv©rÎ  r‚   rá   s      r~   rÐ  rÐ  G  s)   € õ$ •d”m FÐFÐF°GÐF¸vÐFÐFÑGÔGÐGr€   úIntoBackend[Backend]c               óD   — t          t          j        | fd|i|¤Ž¦  «        S )aR  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`.
        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')`.
    r‚   )r¸   rÇ  Úscan_csvrÑ  s      r~   rÔ  rÔ  \  s)   € õ* •d”m FÐFÐF°GÐF¸vÐFÐFÑGÔGÐGr€   c               óD   — t          t          j        | fd|i|¤Ž¦  «        S )aÌ  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`.
        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')`.
    r‚   )r¸   rÇ  Úread_parquetrÑ  s      r~   rÖ  rÖ  t  s*   € õ$ •dÔ'¨ÐJÐJ¸ÐJÀ6ÐJÐJÑKÔKÐKr€   c               óD   — t          t          j        | 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`.
        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')`.
    r‚   )r¸   rÇ  Úscan_parquetrÑ  s      r~   rØ  rØ  ‰  s+   € õF •dÔ'¨ÐJÐJ¸ÐJÀ6ÐJÐJÑKÔKÐKr€   )Tr   r   r    r!   r   r"   r#   r$   r%   r&   r:   r'   r(   r)   r   r*   r+   r,   r-   r.   r   r/   r0   r>   r?   r1   r2   r3   r4   r5   r6   r7   r8   r9   rw  r�  r¡  r²  r|  r<   r­  r@   rA   rA   r   r  r°  r‡   r�   r•   r!  rš   r   rD   r   r…  r‡  rŽ  r§  r   r   r   r   r   r�  r£  r’  rŠ  r¥  ru  rÉ  rƒ  rÐ  rÖ  rÔ  rØ  rB   rB   r=   r”  r˜  rO  rE   rµ  )r  r  rr   r  )r  r
  rr   r  )r  r  rr   r  )r  r  rr   r:   )r  r  rr   r  )r  rg   r  r   rr   rg   )r  rb   r  r   rr   rb   )r  re   r  r   rr   re   )r  r%  r  r   rr   r%  )r  r)  r*  r¼   r'  rÁ   r(  rÁ   r+  r¼   rr   r  )r  r/  r*  r¼   r'  r¼   r(  rÁ   r+  r¼   rr   r0  )r  rF   r*  r¼   r'  rÁ   r(  rÁ   r+  rs   rr   r  )r  ri   r*  r¼   r'  rÁ   r(  rÁ   r+  rs   rr   ri   )r  rF   r*  r¼   r'  r¼   r(  rÁ   r+  rs   rr   r  )r  ri   r*  r¼   r'  r¼   r(  rÁ   r+  rs   rr   ri   )r  rm   r*  r¼   r'  rÁ   r(  r¼   r+  rs   rr   r  )r  rF   r*  rÁ   r'  rÁ   r(  rÁ   r+  rs   rr   r  )r  rG   r*  rÁ   r'  rÁ   r(  rÁ   r+  rs   rr   r  )r  rF   r*  rÁ   r'  r¼   r(  rÁ   r+  rs   rr   r  )r  r=  r*  rÁ   r'  rÁ   r(  rÁ   r+  r¼   rr   r>  )r  rm   r*  rÁ   r'  rÁ   r(  r¼   r+  rs   rr   r  )r  r   r*  rÄ   r'  rÄ   r(  rÄ   r+  rA  rr   r   )r  rC  r*  rÄ   r'  rÄ   r(  rÄ   r+  rA  r  r   rr   rD  )rL  r  r*  rÁ   rr   rF   )rL  r  r*  rÁ   rr   rG   )rL  r  r*  rÁ   rr   rm   )rL  r   r*  rÄ   rr   r   )rL  rT  r*  rÄ   rr   rU  r¥   )rX  rY  r*  rÄ   r'  rÄ   r(  rÄ   r+  rA  rr   rZ  )rr   r:   )ry  rz  rr   r:   )r€  r�  rr   r:   )rf  r]   rë   rì   rr   r:   )rˆ  r±   rr   r:   )r•  r–  rr   r:   )r•  r–  r›  rÄ   rr   r:   )
r•  r–  r«  rY   rª  r±   r›  rÄ   rr   r:   )r®  r±   r]  rY   rr   r:   )r•  r–  r«  rY   rr   r:   )rÅ  r–  rr   r´  )
r°   r±   rê   r   rë   rì   r‚   rƒ   rr   rh   rÎ   rÏ   rÐ   )rÎ  r±   r‚   rƒ   rá   r   rr   rc   )rÎ  r±   r‚   rÒ  rá   r   rr   rf   )¥Ú
__future__r   Ú	functoolsr   Útypingr   r   r   r	   r
   r   r   ÚnarwhalsrW  r   r   rÇ  Únarwhals._typing_compatr   r   Únarwhals._utilsr   r   r   r   r   r   r   r   r   r   r   Únarwhals.dataframer   rÔ   r   rå   Únarwhals.dtypesr   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   Únarwhals.exprr:   r  Únarwhals.functionsr;   r<   r=   Únarwhals.schemar>   r  Únarwhals.seriesr?   rý   Únarwhals.stable.v2r@   rA   rB   Únarwhals.translaterC   rD   rE   Únarwhals.typingrF   rG   Úcollections.abcrH   rI   rJ   Útyping_extensionsrK   rL   Únarwhals._translaterM   Únarwhals._typingrN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   re   rg   ri   rk   rl   rm   r¸   r!  rO  ru  rw  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Ø  Ú__all__r¦   r€   r~   ú<module>rí     s£  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ Oà Ð Ð Ð Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð RÐ QÐ QÐ QÐ QÐ QÐ QÐ Qðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð< )Ð (Ð (Ð (Ð (Ð (Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ .Ð .Ð .Ð .Ð .Ð .Ø .Ð .Ð .Ð .Ð .Ð .Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TØ :Ð :Ð :Ð :Ð :Ð :Ð :Ð :àð #Ø;Ð;Ð;Ð;Ð;Ð;Ð;Ð;Ð;Ð;à1Ð1Ð1Ð1Ð1Ð1Ð1Ð1à2Ð2Ð2Ð2Ð2Ð2ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð HÐGÐGÐGÐGÐGÐGÐGØ%Ð%Ð%Ð%Ð%Ð%ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð �˜Ð-=Ð>Ñ>Ô>€JØ�˜Ð-=Ð>Ñ>Ô>€JØˆg�i }Ð5Ñ5Ô5€GØˆ�˜SÐ!Ñ!Ô!€AØˆ	�#‰Œ€AØˆ�‰Œ€Aàˆg�m¨<ÀÐEÑEÔE€ð}/ð }/ð }/ð }/ð }/�˜NÔ+ñ }/ô }/ð }/ð@Fð Fð Fð Fð F�˜NÔ+ñ Fô Fð Fð ;"ð ;"ð ;"ð ;"ð ;"ˆX�kÔ"ñ ;"ô ;"ð ;"ð| Ð Ð Ð Ð ˆ6Ñ Ô Ð ð!ð !ð !ð !ð !ˆXñ !ô !ð !ð 
Ø RÐ RÐ Rñ 
„Ø RØ	Ø RÐ RÐ Rñ 
„Ø RØ	Ø FÐ FÐ Fñ 
„Ø FØ	Ø (Ð (Ð (ñ 
„Ø (ðð ð ð ð" 
Ø DÐ DÐ Dñ 
„Ø Dð 
Ø JÐ JÐ Jñ 
„Ø Jð 
Ø JÐ JÐ Jñ 
„Ø Jð 
ð"ð "ð "ñ 
„ð"ð
 
ð
 "%Ø"%ð$ð $ð $ð $ð $ñ 
„ð$ð 
ð #&ð:ð :ð :ð :ð :ñ 
„ð:ð 
ð
 "%Ø"%Øð$ð $ð $ð $ð $ñ 
„ð$ð 
ð
 "%Ø"%Øðð ð ð ð ñ 
„ðð 
ð #&Øð$ð $ð $ð $ð $ñ 
„ð$ð 
ð #&Øðð ð ð ð ñ 
„ðð 
ð
 "%àðð ð ð ð ñ 
„ðð 
ð $'Ø!$Ø"%Øð$ð $ð $ð $ð $ñ 
„ð$ð 
ð $'Ø!$Ø"%Øð$ð $ð $ð $ð $ñ 
„ð$ð 
ð $'à"%Øð$ð $ð $ð $ð $ñ 
„ð$ð 
ð $'Ø!$Ø"%ð8ð 8ð 8ð 8ð 8ñ 
„ð8ð 
ð $'Ø!$àðð ð ð ð ñ 
„ðð 
ðð ð ñ 
„ðð$ ØØØ $ð=ð =ð =ð =ð =ð =ð@ 
àRUðð ð ð ð ñ 
„ðð 
àRUðð ð ð ð ñ 
„ðð 
àLOðð ð ð ð ñ 
„ðð 
Ø FÐ FÐ Fñ 
„Ø Fð ðDð Dð Dð Dð Dð Dð. '+ðUð ØØØ $ðUð Uð Uð Uð Uð Uðp ð  ð  ð  ð
&ð &ð &ð &ð*ð *ð *ð *ð
(ð 
(ð 
(ð 
(ð ð  ð  ð  ð
,ð ,ð ,ð ,ð ,ð	(ð 	(ð 	(ð 	(ð	(ð 	(ð 	(ð 	(ð	)ð 	)ð 	)ð 	)ð+ð +ð +ð +ð	(ð 	(ð 	(ð 	(ð
1ð 
1ð 
1ð 
1ðLð Lð Lð Lð Lð Lð Lð Lð 2ð 2ð 2ð 2ð
1ð 
1ð 
1ð 
1ð
1ð 
1ð 
1ð 
1ð  Øð	ð ð ð ð ð ð02ð 2ð 2ð 2ð7ð 7ð 7ð 7ð 3ð 3ð 3ð 3ð 3ˆ4Œ9ñ 3ô 3ð 3ð4ð 4ð 4ð 4ð 4ˆ4Œ9�dñ 4ô 4ð 4ð2ð 2ð 2ð 2ð6 #ðNð Nð Nð Nð Nð4Fð Fð Fð Fð* 37ðEð 15ð	Eð Eð Eð Eð Eð Eð@ Ô(€
Ð (Ð (Ð (Ñ (ð
 CGðFð Fð Fð Fð Fð:Hð Hð Hð Hð*Hð Hð Hð Hð0Lð Lð Lð Lð*#Lð #Lð #Lð #LðLUð Uð U€€€r€   