o
    $&]i(n                     @  sN  U d dl mZ d dlmZmZmZmZmZ d dl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mZmZmZ d dlmZmZmZ d dlmZmZ erd dl m!Z!m"Z"m#Z#m$Z$ d dl%m&Z& d d	lm'Z'm(Z( d dl)Z*d dl+Z,d d
l-m.Z.m/Z/m0Z0 d dl1m2Z2m3Z3 d dl4m5Z5 d dl6m7Z7 d dlm8Z8m9Z9 d dl:m;Z; d dl<m=Z= d dl>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZE e(dZFe'd ZGdeHd< eZIdeHd< eJg dZKG dd dZLG dd deeLe	j=f ZMG dd deMeeLe	j=f ZNG dd deMeeLe	j=f ZOG d d! d!eMeeLe	j=f ZPG d"d# d#eMeeLe	j=f ZQG d$d% d%eMeeLe	j=f ZRdS )&    )annotations)TYPE_CHECKINGAnyClassVarcastoverloadN)BACKEND_VERSIONSERIES_ACCEPTS_PD_INDEXSERIES_RESPECTS_DTYPEPolarsAnyNamespacePolarsCatNamespacePolarsDateTimeNamespacePolarsListNamespacePolarsStringNamespacePolarsStructNamespacecatch_polars_exceptionextract_args_kwargsextract_nativenarwhals_to_native_dtypenative_to_narwhals_dtype)Implementation
no_defaultrequires)is_numpy_array_1dis_pandas_index)IterableIteratorMappingSequence)
ModuleType)LiteralTypeVar)Self	TypeAliasTypeIs)MethodPolarsDataFramePolarsNamespace)	NoDefault)Version_LimitedContext)DType)Series)Into1DArray	IntoDTypeModeKeepStrategyMultiIndexSelectorNonNestedLiteralPythonLiteral_1DArrayT)FTr#   IncludeBreakpoint
Incomplete)P__add____and____floordiv__
__invert____iter____mod____mul____or____pow____radd____rand____rfloordiv____rmod____rmul____ror____rsub____rtruediv____sub____truediv__absallanyarg_maxarg_minarg_trueceilclipcountcum_maxcum_mincum_prodcum_sumdiff
drop_nullsexp	fill_nullfill_nanfilterfloorgather_everyhead
is_betweenis_closeis_duplicatedis_empty	is_finiteis_first_distinctis_inis_last_distinctis_null	is_sorted	is_uniqueitemkurtosislenlogmaxmeanminmoden_unique
null_countquantilerankroundsampleshiftsinskewsqrtstdsumtailto_arrowto_frameto_list	to_pandasuniquevarzip_withc                   @  s  e Zd ZU ejZded< ded< ded< ddgdgd	Zd
ed< d>ddZe	d?ddZ
d@ddZdAddZdBddZdCdd ZdDd!d"Zed#d$d%dEd-d.ZedFd2d3ZedGd4d5ZedHd7d8ZdId:d;ZdJd<d=ZedJd>d?ZedKdBd?ZedLdDd?ZdMdGd?ZdNdJdKZdOdMdNZdPdPdQZe	d@dRdSZe	dQdUdVZe	dRdWdXZdSdYdZZ dTd^d_Z!dUdadbZ"dVdedfZ#dWdgdhZ$dXdidjZ%e&'dkdYdrdsZ(dZd$dtd[dxdyZ)d[dzd{Z*d\d}d~Z+d\ddZ,d]ddZ-d]ddZ.d]ddZ/d]ddZ0d^ddZ1dBddZ2dBddZ3d_ddZ4d`ddZ5daddZ6e&'dkdbddZ7e&'dkdbddZ8dcddZ9dcddZ:ddddZ;deddZ<dfddZ=dgddZ>dhddZ?diddÄZ@djddȄZAdkdd˄ZBdldd̈́ZCdmddфZDdRddӄZEdnddքZFdndd؄ZGdoddڄZHe	dpdd݄ZIe	dqddZJe	drddZKe	dsddZLded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded < ded< ded< ded< ded< ded< ded< ded< ded< ded< ded	< ded
< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded[< ded< ded< ded< ded< d ed!< ded"< ded#< ded$< d ed%< ded&< ded'< ded(< ded)< ded*< ded+< ded,< d ed-< d ed.< ded/< d0ed1< d2ed3< d4ed5< d6ed7< ded8< d ed9< ded:< e	dtd<d=ZMd$S (u  PolarsSeriesr   _implementation	pl.Series_native_seriesr*   _version
breakpointrS   )TFz3ClassVar[Mapping[IncludeBreakpoint, Sequence[str]]]_HIST_EMPTY_SCHEMAseriesversionreturnNonec                C  s   || _ || _d S N)r   r   )selfr   r    r   U/var/www/html/IGF-ODF-V3/venv/lib/python3.10/site-packages/narwhals/_polars/series.py__init__   s   
zPolarsSeries.__init__tuple[int, ...]c                 C  
   | j  S r   )r   _backend_versionr   r   r   r   r      s   
zPolarsSeries._backend_versionstrc                 C  s   dS )Nr   r   r   r   r   r   __repr__      zPolarsSeries.__repr__r(   c                 C  s   ddl m} || jdS )Nr   r'   r   )narwhals._polars.namespacer(   r   )r   r(   r   r   r   __narwhals_namespace__   s   z#PolarsSeries.__narwhals_namespace__r"   c                 C  s   | S r   r   r   r   r   r   __narwhals_series__   r   z PolarsSeries.__narwhals_series__r   c                 C  s.   | j tju r| j  S dt| j  }t|)NzExpected polars, got: )r   r   POLARSto_native_namespacetypeAssertionError)r   msgr   r   r   __native_namespace__   s   
z!PolarsSeries.__native_namespace__c                 C  s   | j | j|dS Nr   )	__class__native)r   r   r   r   r   _with_version      zPolarsSeries._with_version N)namedtypedataIterable[Any]contextr+   r   r   IntoDType | Nonec          	      C  sn   |j }|r
t||nd }|}trtj|||d}nts#t|r#| }t||}|r0||}| j	||dS )Nr   r   )
r   r   r
   plr-   r	   r   	to_seriesr   from_native)	clsr   r   r   r   r   dtype_plvaluesr   r   r   r   from_iterable   s   	
zPolarsSeries.from_iterableobjpl.Series | AnyTypeIs[pl.Series]c                 C  s   t | tjS r   )
isinstancer   r-   )r   r   r   r   
_is_native   s   zPolarsSeries._is_nativec               C  s   | ||j dS r   )r   )r   r   r   r   r   r   r      s   zPolarsSeries.from_nativer.   c               C  s&   t t|r|n|g}| j||dS )Nr   )r   r-   r   r   )r   r   r   r   r   r   r   
from_numpy   s   zPolarsSeries.from_numpySeries[pl.Series]c                 C  s   | j j| ddS )Nfull)level)r   r   r   r   r   r   to_narwhals   r   zPolarsSeries.to_narwhalsc                 C  s   | j || jdS r   )r   r   r   r   r   r   r   _with_native   r   zPolarsSeries._with_nativec                 C     d S r   r   r   r   r   r   _from_native_object   r   z PolarsSeries._from_native_objectpl.DataFramer&   c                 C  r   r   r   r   r   r   r   r      r   r5   c                 C  r   r   r   r   r   r   r   r      r   pl.Series | pl.DataFrame | TSelf | PolarsDataFrame | Tc                 C  s>   |  |r
| |S t|tjrddlm} |j|| dS |S )Nr   r&   r   )r   r   r   r   	DataFramenarwhals._polars.dataframer&   r   )r   r   r&   r   r   r   r      s   

attrr   c                   s8    t vrjj d  d}t|d	 fdd}|S )
Nz has not attribute 'z'.argsr   kwargsr   c                    s*   t | |\}}tj |i |S r   )r   r   getattrr   )r   r   poskwdsr   r   r   r   func   s   z&PolarsSeries.__getattr__.<locals>.func)r   r   r   r   r   r   )INHERITED_METHODSr   __name__AttributeError)r   r   r   r   r   r   r   __getattr__   s
   zPolarsSeries.__getattr__intc                 C  s
   t | jS r   )rn   r   r   r   r   r   __len__      
zPolarsSeries.__len__otherc                 C  sT   | j dk r| j}|  }|  |||||S | 	| j
t|S )N)   
   r   )r   r   r   r   selectcolrC   alias
get_columnr   r   r   )r   r   r   nsr   r   r   rC     s   
zPolarsSeries.__rfloordiv__c                 C     | j jS r   )r   r   r   r   r   r   r        zPolarsSeries.namer,   c                 C  s   t | jj| jS r   )r   r   r   r   r   r   r   r   r     s   zPolarsSeries.dtypec                 C     | j S r   )r   r   r   r   r   r        zPolarsSeries.nativec                 C  s   |  | j|S r   )r   r   r   )r   r   r   r   r   r     s   zPolarsSeries.aliasrl   MultiIndexSelector[Self]
Any | Selfc                 C  s0   t |tr| | j|jS | | j|S r   )r   r   r   r   __getitem__)r   rl   r   r   r   r     s   
zPolarsSeries.__getitem__r/   c                 C  s   t || j}| | j|S r   )r   r   r   r   r   )r   r   r   r   r   r   r   !  s   zPolarsSeries.castlower_boundupper_boundc                 C  s   |  | jt|t|S r   r   r   rR   r   )r   r   r   r   r   r   rR   %  s   zPolarsSeries.clipc                 C     |  | jt|S r   r   )r   r   r   r   r   
clip_lower*     zPolarsSeries.clip_lowerc                 C  s   |  | jjt|dS )N)r   r   )r   r   r   r   r   
clip_upper-  s   zPolarsSeries.clip_upperr   defaultPolarsSeries | NoDefaultoldSequence[Any]newreturn_dtypec                C  sP   | j }|rt|| jnd }|tu ri ndt|i}| |j||fd|i|S )Nr   r   )r   r   r   r   r   r   replace_strict)r   r   r   r   r   serr   extra_kwargsr   r   r   r   2  s   	zPolarsSeries.replace_strictcopyr  bool | Noner4   c                C  s   | j ||dS )Nr  )	__array__r   r   r  r   r   r   to_numpyI  s   zPolarsSeries.to_numpyc                C  s(   | j dk r| jj|dS | jj||dS )N)r         r   )r   r  )r   r   r  r  r   r   r   r  L  s   
zPolarsSeries.__array__objectc                 C  r   r   )r   r   __eq__r   r   r   r   r   r   r
  Q  r   zPolarsSeries.__eq__c                 C  r   r   )r   r   __ne__r   r  r   r   r   r  T  r   zPolarsSeries.__ne__c                 C  r   r   )r   r   __ge__r   r  r   r   r   r  X  r   zPolarsSeries.__ge__c                 C  r   r   )r   r   __gt__r   r  r   r   r   r  [  r   zPolarsSeries.__gt__c                 C  r   r   )r   r   __le__r   r  r   r   r   r  ^  r   zPolarsSeries.__le__c                 C  r   r   )r   r   __lt__r   r  r   r   r   r  a  r   zPolarsSeries.__lt__PolarsSeries | Anyc                 C  s0   | j t|}| jdk r|| j}| |S )N)r      r   )r   __rpow__r   r   r   r   r   )r   r   resultr   r   r   r  d  s   

zPolarsSeries.__rpow__c              
   C  sr   z| j  }W n ty } zt|d d }~ww | jdk r4t| j  |}| 	t
|| j S | 	|S N)r      )r   is_nan	Exceptionr   r   r   whenis_not_nullthenr   r   r   )r   native_is_naner   r   r   r   r  k  s   


zPolarsSeries.is_nanc                 C  sJ   | j  }| jdk r t| j  |}| t|| j	 S | |S r  )
r   re   r   r   r  r  r  r   r   r   )r   native_is_finiter   r   r   r   re   u  s
   


zPolarsSeries.is_finitec                 C  s,   ddl m} | j sd}||| j S )Nr   )InvalidOperationErrorz<`median` operation not supported for non-numeric input type.)narwhals.exceptionsr  r   
is_numericr   median)r   r  r   r   r   r   r"  |  s
   

zPolarsSeries.median	separator
drop_firstboolc                C  s   ddl m} | jdk r+| j  }| jj|d}|j}|r%|t	|}|
|}n| jj||d}|t tj}|j|| dS )Nr   r   )r   r     )r#  )r#  r$  r   )r   r&   r   r   ri   rM   
to_dummiescolumnspopr   r   with_columnsr   rL   r   Int8r   )r   r#  r$  r&   	has_nullsr  output_columns_r   r   r   r'    s   
zPolarsSeries.to_dummiescomfloat | Nonespan	half_lifealphaadjustmin_samplesignore_nullsc          
   	   C  s   | j dk r	d|ind|i}| jjd||||||d|}	| j dk r;| tt| j  |		d | jj
 S | |	S )Nr      r   min_periodsr5  )r/  r1  r2  r3  r4  r6  r   r   )r   r   ewm_meanr   r   r   r  ri   r  	otherwiser   )
r   r/  r1  r2  r3  r4  r5  r6  r   native_resultr   r   r   r:    s.   

	
zPolarsSeries.ewm_meanwindow_sizecenterddofc                C  :   | j dk r	d|ind|i}| | jjd|||d|S Nr7  r9  r5  )r=  r>  r?  r   )r   r   r   rolling_varr   r=  r5  r>  r?  r   r   r   r   rB       
zPolarsSeries.rolling_varc                C  r@  rA  )r   r   r   rolling_stdrC  r   r   r   rE    rD  zPolarsSeries.rolling_stdc                C  8   | j dk r	d|ind|i}| | jjd||d|S Nr7  r9  r5  )r=  r>  r   )r   r   r   rolling_sumr   r=  r5  r>  r   r   r   r   rH       
zPolarsSeries.rolling_sumc                C  rF  rG  )r   r   r   rolling_meanrI  r   r   r   rK    rJ  zPolarsSeries.rolling_mean
descending
nulls_lastc                C  s\   | j dk r!| jj|d}|r | }t|| ||g}n| jj||d}| |S )N)r   r     )rL  )rL  rM  )r   r   sortri   r   concatr]   r   )r   rL  rM  r  ri   r   r   r   rO    s   

zPolarsSeries.sortindicesint | Sequence[int]r   c                 C  s    | j  |t|}| |S r   )r   clonescatterr   r   )r   rQ  r   sr   r   r   rT    s   
zPolarsSeries.scatterrO  parallel
str | None	normalizec             
   C  s   ddl m} | jdk r<|p|rdnd}| jj||djd	i | jjt| jj||r3tdt	d ntdi}n
| jj||||d}|j
|| dS )
Nr   r   )r   r   r   
proportionrS   )rO  rV  )rO  rV  r   rX  r   r   )r   r&   r   r   value_countsr   r   r   r   r   r   )r   rO  rV  r   rX  r&   value_name_r  r   r   r   rZ    s   
	zPolarsSeries.value_countsreversec                C  s   |  | jj|dS )N)r\  )r   r   	cum_count)r   r\  r   r   r   r]    s   zPolarsSeries.cum_countc              
   C  s2   z| j |W S  ty } zt|d d }~ww r   )r   __contains__r  r   )r   r   r  r   r   r   r^    s   
zPolarsSeries.__contains__keepr0   c                C  s(   | j  }| |dkr|dS |S )NrM   r   )r   rs   r   r`   )r   r_  r  r   r   r   rs     s   
zPolarsSeries.modebinslist[float]include_breakpointc                C  s   t |dkrtj| j| d}n5| j r=|r-t|dd  djt	dtj
d}ntjtt |d tj
d}n| j|d |dS |  jj|| dS )Nr   schemar   r   rS   r`  	bin_countrb  r   )rn   r   r   r   r   rd   r-   r   r*  litInt64r   zeros_hist_from_datar   
_dataframer   )r   r`  rb  r   r   r   r   hist_from_bins!  s   
 zPolarsSeries.hist_from_binsrg  c                C  s   |dkrt j| j| d}nA| j r6|r*t jt d|d | t dt jd}n%t jt 	|t jd}nt
dk rCd }| j|d}n|}d }| j|||dS |  jj|| d	S )
Nr   rc  r   )r   rS   re  r   r&  )rg  rf  r   )r   r   r   r   rd   r   	int_rangerh  ri  rj  r   _bins_from_bin_countrk  r   rl  r   )r   rg  rb  r   rS   r`  r   r   r   hist_from_bin_count5  s(   
z PolarsSeries.hist_from_bin_countc                 C  s`   t d| j }t d| j }||kr|d8 }|d7 }|| | }tjd|d dd| | S )a>  Prepare bins based on backend version compatibility.

        polars <1.15 does not adjust the bins when they have equivalent min/max
        polars <1.5 with bin_count=...
        returns bins that range from -inf to +inf and has bin_count + 1 bins.
          for compat: convert `bin_count=` call to `bins=`
        floatg      ?r   r   T)eager)r   r   rr   rp   r   ro  )r   rg  lowerupperwidthr   r   r   rp  Q  s   z!PolarsSeries._bins_from_bin_countlist[float] | None
int | Nonec          	      C  s  ddl m} | j}tdk s|dur|d}|j||d|d}|s2|jd }|t	|
d}ntdk r=|d	d
i}|dur}tdk r\tdt|}||dk|t|d k @ }tdk r}|ddt	dt||d k  |d}|j|| dS )zbCalculate histogram from non-empty data and post-process the results based on the backend version.r   r   rn  NF)rg  include_categoryrb  rS   )r   r   break_pointr   )r   rN  r   )r      r   )r   r&   r   r   r\   histr(  r   r   r   r   renamero  rn   r]   slicer*  rh  r   vstackr   )	r   r`  rg  rb  r&   r   dfcol_namerr   r   r   rk  c  s2   



"zPolarsSeries._hist_from_datac                 C  r   r   )r   r   r   r   r   	to_polars  s   zPolarsSeries.to_polarsr3   c                 C  ,   | j dk rt| r| jdS d S | j S )Nr   r   r   )r   rn   r   rl   firstr   r   r   r   r       

zPolarsSeries.firstc                 C  r  )Nr  )r   rn   r   rl   lastr   r   r   r   r    r  zPolarsSeries.lastc                C  s   |r|    S |  S r   )rY   r  )r   r6  r   r   r   	any_value  s   zPolarsSeries.any_valuePolarsSeriesDateTimeNamespacec                 C     t | S r   )r  r   r   r   r   dt  r   zPolarsSeries.dtPolarsSeriesStringNamespacec                 C  r  r   )r  r   r   r   r   r     r   zPolarsSeries.strPolarsSeriesCatNamespacec                 C  r  r   )r  r   r   r   r   cat  r   zPolarsSeries.catPolarsSeriesStructNamespacec                 C  r  r   )r  r   r   r   r   struct  r   zPolarsSeries.structzMethod[Self]r8   r9   r:   r;   zMethod[Iterator[Any]]r<   r=   r>   r?   r@   rA   rB   rD   rE   rF   rG   rH   rI   rJ   rK   zMethod[bool]rL   rM   zMethod[int]rN   rO   rP   rQ   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rc   rd   rf   rg   rh   ri   rj   rk   zMethod[Any]zMethod[float | None]rm   rn   ro   rp   zMethod[float]rq   rr   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   zMethod[pa.Array[Any]]r   zMethod[PolarsDataFrame]r   zMethod[list[Any]]r   zMethod[pd.Series[Any]]r   r   r   r   PolarsSeriesListNamespacec                 C  r  r   )r  r   r   r   r   list  r   zPolarsSeries.list)r   r   r   r*   r   r   )r   r   r   r   r   r(   )r   r"   )r   r   )r   r*   r   r"   )
r   r   r   r+   r   r   r   r   r   r"   )r   r   r   r   )r   r   r   r+   r   r"   )r   r.   r   r+   r   r"   )r   r   )r   r   r   r"   )r   r   r   r&   )r   r5   r   r5   )r   r   r   r   )r   r   r   r   )r   r   )r   r   r   r   )r   r,   r   r   )r   r   r   r"   )rl   r   r   r   )r   r/   r   r"   )r   r   r   r   r   r"   )r   r   r   r"   )r   r   r   r"   )
r   r   r   r   r   r   r   r   r   r"   r   )r   r   r  r  r   r4   )r   r	  r   r"   )r   r"   r   r"   )r   r  r   r"   )r   r   )r#  r   r$  r%  r   r&   )r/  r0  r1  r0  r2  r0  r3  r0  r4  r%  r5  r   r6  r%  r   r"   )
r=  r   r5  r   r>  r%  r?  r   r   r"   )r=  r   r5  r   r>  r%  r   r"   )rL  r%  rM  r%  r   r"   )rQ  rR  r   r   r   r"   )
rO  r%  rV  r%  r   rW  rX  r%  r   r&   )r\  r%  r   r"   )r   r   r   r%  )r_  r0   r   r"   )r`  ra  rb  r%  r   r&   )rg  r   rb  r%  r   r&   )rg  r   r   r   )r`  rw  rg  rx  rb  r%  r   r&   )r   r3   )r6  r%  r   r3   )r   r  )r   r  )r   r  )r   r  )r   r  )Nr   
__module____qualname__r   r   r   __annotations__r   r   propertyr   r   r   r   r   r   classmethodr   staticmethodr   r   r   r   r   r   r   r   r   rC   r   r   r   r   r   r   rR   r   r   r   backend_versionr   r  r  r
  r  r  r  r  r  r  r  re   r"  r'  r:  rB  rE  rH  rK  rO  rT  rZ  r]  r^  rs   rm  rq  rp  rk  r  r  r  r  r  r   r  r  r  r   r   r   r   r      sT  
 
	#,







































r   c                   @  sT   e Zd ZdddZedddZedd
dZedddZdddZdddZ	dS )PolarsSeriesNamespacer   r   r   r   c                 C  s
   || _ d S r   _seriesr   r   r   r   r     r   zPolarsSeriesNamespace.__init__c                 C  r   r   r  r   r   r   r   	compliant  r   zPolarsSeriesNamespace.compliantr   c                 C  r   r   )r  r   r   r   r   r   r     r   zPolarsSeriesNamespace.nativer   c                 C  r   r   )r  r   r   r   r   r   r     r   zPolarsSeriesNamespace.namer(   c                 C  r   r   )r  r   r   r   r   r   r     r   z,PolarsSeriesNamespace.__narwhals_namespace__r&   c                 C  r   r   )r  r   r   r   r   r   r     r   zPolarsSeriesNamespace.to_frameN)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     s    

r  c                   @     e Zd ZdS )r  Nr   r  r  r   r   r   r   r        r  c                   @  s4   e Zd ZdddZdddZdddZdddZdS )r  r   r   c                 C  .   | j }|  }|  ||j |S r   )r   r   r   r   r   r   to_titlecaser   r   r   r   r   r   r   r        z(PolarsSeriesStringNamespace.to_titlecaserv  r   c                 C  0   | j }|  }|  ||j||S r   )r   r   r   r   r   r   zfillr   )r   rv  r   r   r   r   r   r  $     "z!PolarsSeriesStringNamespace.zfillvaluepatternr   literalr%  nc                C  s&   t |}| j| jjj||||dS )N)r  r  )r   r  r   r   r   replace)r   r  r  r  r  value_nativer   r   r   r  )  s   z#PolarsSeriesStringNamespace.replacec                C  s$   t |}| j| jjj|||dS )N)r  )r   r  r   r   r   replace_all)r   r  r  r  r  r   r   r   r  1  s   z'PolarsSeriesStringNamespace.replace_allNr  )rv  r   r   r   )
r  r   r  r   r  r%  r  r   r   r   )r  r   r  r   r  r%  r   r   )r   r  r  r  r  r  r  r   r   r   r   r    s
    


r  c                   @  r  )r  Nr  r   r   r   r   r  :  r  r  c                   @  s    e Zd Zd
ddZdddZd	S )r  r   r   c                 C  r  r   )r   r   r   r   r   r  rn   r   r  r   r   r   rn   B  r  zPolarsSeriesListNamespace.lenrl   r2   c                 C  r  r   )r   r   r   r   r   r  containsr   )r   rl   r   r   r   r   r   r  G  r  z"PolarsSeriesListNamespace.containsNr  )rl   r2   r   r   )r   r  r  rn   r  r   r   r   r   r  ?  s    
r  c                   @  r  )r  Nr  r   r   r   r   r  M  r  r  )S
__future__r   typingr   r   r   r   r   polarsr   narwhals._polars.utilsr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   narwhals._utilsr   r   r   narwhals.dependenciesr   r   collections.abcr   r   r   r   typesr   r    r!   pandaspdpyarrowpatyping_extensionsr"   r#   r$   r   r%   r&   r   r(   narwhals._typingr)   r*   r+   narwhals.dtypesr,   narwhals.seriesr-   narwhals.typingr.   r/   r0   r1   r2   r3   r4   r5   r6   r  r7   	frozensetr   r   r  r  r  r  r  r  r   r   r   r   <module>   s^    @$
V    u




