§
    {Øj›!  ã            	      óN  — d dl mZ d dlZd dlmZ d dlmZmZmZ d dl	Z	d dl
mc mZ d dlmZ d dlmZmZmZ d dlmZ d dlmZ d d	lmZ d d
lmZmZmZ d dlmZ d dl m!Z!m"Z"m#Z#m$Z$ erd dl%m&Z&m'Z' d dl m(Z( d dl)m*Z*m+Z+m,Z,m-Z-m.Z.  G d„ deeeddf         eeef         ¦  «        Z/dS )é    )ÚannotationsN)Úreduce)ÚTYPE_CHECKINGÚAnyÚcast)ÚAlignDiagonal)Úcombine_alias_output_namesÚcombine_evaluate_output_namesÚ!evaluate_output_names_and_aliases©ÚIbisLazyFrame©ÚIbisExpr)ÚIbisSelectorNamespace)ÚfunctionÚlitÚnarwhals_to_native_dtype)ÚSQLNamespace)ÚImplementationÚcheck_column_names_are_uniqueÚensure_path_sourceÚvalidate_separators)ÚIterableÚSequence)ÚVersion)ÚConcatMethodÚCorrelationMethodÚ	IntoDTypeÚNormalizedSourceÚPythonLiteralc                  óú   — e Zd ZU ej        Zded<   d@d„ZedAd	„¦   «         Z	edBd„¦   «         Z
edCd„¦   «         ZddœdDd„ZdEd„ZdFd„ZdGd„Z	 dHdId$„ZdJd&„ZdKd+„ZdLd/„ZdMd0„ZdNd4„ZdOd5„ZdPd:„ZdQd=„ZdMd>„ZdMd?„Zd S )RÚIbisNamespacer   Ú_implementationÚversionr   ÚreturnÚNonec               ó   — || _         d S ©N)Ú_version)Úselfr$   s     ú�/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/narwhals/_ibis/namespace.pyÚ__init__zIbisNamespace.__init__/   s   € ØˆŒˆˆó    r   c                ó*   — t          j        | ¦  «        S r(   )r   Úfrom_namespace©r*   s    r+   Ú	selectorszIbisNamespace.selectors2   s   € å$Ô3°DÑ9Ô9Ð9r-   útype[IbisExpr]c                ó   — t           S r(   r   r0   s    r+   Ú_exprzIbisNamespace._expr6   s   € åˆr-   útype[IbisLazyFrame]c                ó   — t           S r(   r   r0   s    r+   Ú
_lazyframezIbisNamespace._lazyframe:   s   € åÐr-   ú,)Ú	separatorÚsourcer   r9   ÚstrÚkwdsr   r   c               óª   — t          |d|¦  «         t          j        t          || j        ¦  «        fd|i|¤Ž}| j                             || ¬¦  «        S )N)Úsepr>   ©Úcontext)r   ÚibisÚread_csvr   r#   r7   Úfrom_native)r*   r:   r9   r<   Únatives        r+   Úscan_csvzIbisNamespace.scan_csv>   si   € õ 	˜I x°Ñ6Ô6Ð6Ý”Ý˜v tÔ';Ñ<Ô<ð
ð 
ØBKð
ØOSð
ð 
ˆð Œ×*Ò*¨6¸4Ð*Ñ@Ô@Ð@r-   c                ó„   — t          j        t          || j        ¦  «        fi |¤Ž}| j                             || ¬¦  «        S )Nr?   )rA   Úread_parquetr   r#   r7   rC   )r*   r:   r<   rD   s       r+   Úscan_parquetzIbisNamespace.scan_parquetG   sN   € ÝÔ"Ý˜v tÔ';Ñ<Ô<ð
ð 
Ø@Dð
ð 
ˆð Œ×*Ò*¨6¸4Ð*Ñ@Ô@Ð@r-   ÚnameÚargsúir.Value | PythonLiteralúir.Valuec                ó   — t          |g|¢R Ž S r(   )r   )r*   rI   rJ   s      r+   Ú	_functionzIbisNamespace._functionM   s   € Ý˜Ð$˜tÐ$Ð$Ð$Ð$r-   Úvaluec                ó    — t          |¦  «        S r(   )r   )r*   rO   s     r+   Ú_litzIbisNamespace._litP   s   € Ý�5‰zŒzÐr-   NÚ	conditionÚ	otherwiseúir.Expr | Nonec                ób   — |€t          j        ||f¦  «        S t          j        ||f|¬¦  «        S )N)Úelse_)rA   Úcases)r*   rR   rO   rS   s       r+   Ú_whenzIbisNamespace._whenS   s9   € ð ÐÝ”:˜y¨%Ð0Ñ1Ô1Ð1ÝŒz˜9 eÐ,°IÐ>Ñ>Ô>Ð>r-   Úexprsc                ó   — t          j        |Ž S r(   )rA   Úcoalesce)r*   rY   s     r+   Ú	_coalescezIbisNamespace._coalesceZ   s   € ÝŒ}˜eÐ$Ð$r-   ÚitemsúIterable[IbisLazyFrame]Úhowr   c               ón  ‡— t          |¦  «        }|dk    r|                      |¦  «        }	 t          j        d„ |D ¦   «         Ž }nV# t          j        $ rD |d         j        Št          ˆfd„|dd …         D ¦   «         ¦  «        sd}t          |¦  «        d ‚‚ w xY w|d                              |¦  «        S )NÚdiagonalc              3  ó$   K  — | ]}|j         V — Œd S r(   )rD   )Ú.0Úlfs     r+   ú	<genexpr>z'IbisNamespace.concat.<locals>.<genexpr>d   s$   è è € Ð!=Ð!=° "¤)Ð!=Ð!=Ð!=Ð!=Ð!=Ð!=r-   r   c              3  ó.   •K  — | ]}|j         ‰k    V — Œd S r(   )Úschema)rc   ÚxÚfirsts     €r+   re   z'IbisNamespace.concat.<locals>.<genexpr>g   s*   øè è € Ð=Ð=¨Q�q”x 5Ò(Ð=Ð=Ð=Ð=Ð=Ð=r-   é   z&inputs should all have the same schema)	ÚtupleÚalign_diagonalrA   ÚunionÚ	IbisErrorrg   ÚallÚ	TypeErrorÚ_with_native)r*   r]   r_   ÚframesÚresultÚmsgri   s         @r+   ÚconcatzIbisNamespace.concat]   sÖ   ø€ õ +0°©,¬,ˆØ�*ÒÐØ×(Ò(¨Ñ0Ô0ˆFð	Ý”ZÐ!=Ð!=°fÐ!=Ñ!=Ô!=Ð>ˆFˆFøÝŒ~ð 	ð 	ð 	Ø˜1”IÔ$ˆEÝÐ=Ð=Ð=Ð=°&¸¸¸´*Ð=Ñ=Ô=Ñ=Ô=ð /Ø>�Ý ‘n”n¨$Ð.Øð	øøøð �aŒy×%Ò% fÑ-Ô-Ð-s   ­A ÁABr   Úignore_nullsÚboolc               ó:   ‡‡— dˆˆfd„} | j         j        |g|¢R Ž S )NÚcolsúSequence[ir.Value]r%   rL   c                ó¨   •— d„ | D ¦   «         }‰r"t          ‰¦  «                             |¦  «        S t          ˆfd„|dd …         |d         ¦  «        S )Nc                ó8   — g | ]}|                      d ¦  «        ‘ŒS )Ústring)r   )rc   Úss     r+   ú
<listcomp>z:IbisNamespace.concat_str.<locals>.func.<locals>.<listcomp>q   s$   € Ð:Ð:Ð:°˜1Ÿ6š6 (Ñ+Ô+Ð:Ð:Ð:r-   c                ó0   •— |                       ‰|¦  «        S r(   )ru   )ÚaccÚcolr9   s     €r+   ú<lambda>z8IbisNamespace.concat_str.<locals>.func.<locals>.<lambda>v   s   ø€  §¢¨I°sÑ!;Ô!;€ r-   rj   r   )r   Újoinr   )ry   Úcols_castedrv   r9   s     €€r+   Úfuncz&IbisNamespace.concat_str.<locals>.funcp   sh   ø€ Ø:Ð:°TÐ:Ñ:Ô:ˆKàð 8Ý˜9‘~”~×*Ò*¨;Ñ7Ô7Ð7ÝØ;Ð;Ð;Ð;Ø˜A˜B˜B”Ø˜A”ñô ð r-   )ry   rz   r%   rL   ©r4   Ú_from_elementwise_horizontal_op)r*   r9   rv   rY   r†   s    ``  r+   Ú
concat_strzIbisNamespace.concat_strm   sF   øø€ ð		ð 		ð 		ð 		ð 		ð 		ð 		ð :ˆtŒzÔ9¸$ÐGÀÐGÐGÐGÐGr-   c                ó0   — dd„} | j         j        |g|¢R Ž S )Nry   úIterable[ir.Value]r%   rL   c                óº   — t          | ¦  «        } t          t          j        d„ | D ¦   «         ¦  «        }t          t          j        d„ | D ¦   «         ¦  «        }||z  S )Nc           	   3  óv   K  — | ]4}t          d |                     t          d¦  «        ¦  «        ¦  «        V — Œ5dS )úir.NumericValuer   N)r   Ú	fill_nullr   ©rc   r‚   s     r+   re   z>IbisNamespace.mean_horizontal.<locals>.func.<locals>.<genexpr>‚   s?   è è € ÐPÐPÀC•Ð'¨¯ªµs¸1±v´vÑ)>Ô)>Ñ?Ô?ÐPÐPÐPÐPÐPÐPr-   c           
   3  ó¶   K  — | ]T}t          d |                     ¦   «                              t          d¦  «        t          d¦  «        ¦  «        ¦  «        V — ŒUdS )rŽ   r   rj   N)r   ÚisnullÚifelser   r�   s     r+   re   z>IbisNamespace.mean_horizontal.<locals>.func.<locals>.<genexpr>†   se   è è € ð ð àõ Ð*¨C¯JªJ©L¬L×,?Ò,?ÅÀAÁÄÍÈAÉÌÑ,OÔ,OÑPÔPðð ð ð ð ð r-   )Úlistr   ÚoperatorÚadd)ry   Ú	numeratorÚdenominators      r+   r†   z+IbisNamespace.mean_horizontal.<locals>.func~   sq   € Ý˜‘:”:ˆDÝÝ”ØPÐPÈ4ÐPÑPÔPñô ˆIõ !Ý”ðð à#ðñ ô ñô ˆKð ˜{Ñ*Ð*r-   )ry   r‹   r%   rL   r‡   )r*   rY   r†   s      r+   Úmean_horizontalzIbisNamespace.mean_horizontal}   s5   € ð	+ð 	+ð 	+ð 	+ð :ˆtŒzÔ9¸$ÐGÀÐGÐGÐGÐGr-   r    ÚdtypeúIntoDType | Nonec                óV   ‡ ‡‡— dˆˆ ˆfd„}‰                       |d„ d ‰ j        ¬¦  «        S )	NÚ_dfr   r%   rz   c                óÖ   •— ‰rt          ‰‰j        ¦  «        nd }t          ‰t          ¦  «        st	          ‰|¦  «        gS ‰rt          j        ‰|¬¦  «        gS d}t          |¦  «        ‚)N)Útypez3Cannot create an empty struct type for Ibis backend)r   r)   Ú
isinstanceÚdictr   rA   ÚstructÚNotImplementedError)r�   Ú
ibis_dtypert   rš   r*   rO   s      €€€r+   r†   zIbisNamespace.lit.<locals>.func�   sx   ø€ ØKPÐZÕ1°%¸¼ÑGÔGÐGÐVZˆJÝ˜e¥TÑ*Ô*ð 0Ý˜E :Ñ.Ô.Ð/Ð/Øð =Ýœ E°
Ð;Ñ;Ô;Ð<Ð<ØGˆCÝ% cÑ*Ô*Ð*r-   c                ó   — dgS )NÚliteral© ©r�   s    r+   rƒ   z#IbisNamespace.lit.<locals>.<lambda>›   s   € ¨y¨k€ r-   ©Úevaluate_output_namesÚalias_output_namesr$   )r�   r   r%   rz   ©r4   r)   )r*   rO   rš   r†   s   ``` r+   r   zIbisNamespace.lit�   s[   øøø€ ð	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð �zŠzØØ"9Ð"9Ø#Ø”Mð	 ñ 
ô 
ð 	
r-   c                óH   — dd„}|                       |d„ d | j        ¬¦  «        S )	Nr�   r   r%   úlist[ir.Value]c                ó6   — | j                              ¦   «         gS r(   )rD   Úcountr¨   s    r+   r†   zIbisNamespace.len.<locals>.func¡   s   € Ø”J×$Ò$Ñ&Ô&Ð'Ð'r-   c                ó   — dgS )NÚlenr§   r¨   s    r+   rƒ   z#IbisNamespace.len.<locals>.<lambda>¦   s   € ¨u¨g€ r-   ©Úcallrª   r«   r$   ©r�   r   r%   r®   r¬   )r*   r†   s     r+   r²   zIbisNamespace.len    sD   € ð	(ð 	(ð 	(ð 	(ð �zŠzØØ"5Ð"5Ø#Ø”Mð	 ñ 
ô 
ð 	
r-   ÚaÚbÚmethodr   c               ó¶   ‡‡— |dk    rd}t          |¦  «        ‚d	ˆˆfd„}|                      |t          ‰‰¦  «        t          ‰‰¦  «        | j        ¬¦  «        S )
NÚpearsonz1Only 'pearson' correlation is supported for Ibis.r�   r   r%   r®   c                óˆ   •— |                       ‰¦  «        }|                       ‰¦  «        }|                     |d¬¦  «        gS )NÚpop©r_   )Ú_evaluate_single_output_exprÚcorr)r�   Úa_Úb_r¶   r·   s      €€r+   r†   z IbisNamespace.corr.<locals>.func°   sB   ø€ Ø×1Ò1°!Ñ4Ô4ˆBØ×1Ò1°!Ñ4Ô4ˆBØ—G’G˜B E�GÑ*Ô*Ð+Ð+r-   r©   rµ   )r£   r4   r
   r	   r)   )r*   r¶   r·   r¸   rt   r†   s    ``   r+   r¿   zIbisNamespace.corr«   s„   øø€ Ø�YÒÐØEˆCÝ% cÑ*Ô*Ð*ð	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð
 �zŠzØÝ"?ÀÀ1Ñ"EÔ"EÝ9¸!¸QÑ?Ô?Ø”Mð	 ñ 
ô 
ð 	
r-   ÚddofÚintc               ó�   ‡ ‡‡‡— dˆˆˆˆ fd„}‰                       |t          ‰‰¦  «        t          ‰‰¦  «        ‰ j        ¬¦  «        S )Nr�   r   r%   r®   c                ó8  •— t          d|                      ‰¦  «        ¦  «        }t          d|                      ‰¦  «        ¦  «        }‰dk    r|                     |d¬¦  «        gS ‰dk    r|                     |d¬¦  «        gS |                     |                     ¦   «         |                     ¦   «         z  ¬¦  «        }|‰z
  }|                     |d¬¦  «        |dz
  |z  z  }‰	                     |t          d¦  «        k    t          d ¦  «        |¦  «        gS )Nzir.NumericColumnr   r¼   r½   rj   Úsample)Úwhere)r   r¾   Úcovr°   ÚnotnullrX   r   )
r�   rÀ   rÁ   Ú	n_samplesr˜   Úrescaledr¶   r·   rÂ   r*   s
         €€€€r+   r†   zIbisNamespace.cov.<locals>.func½   s  ø€ ÝÐ(¨#×*JÒ*JÈ1Ñ*MÔ*MÑNÔNˆBÝÐ(¨#×*JÒ*JÈ1Ñ*MÔ*MÑNÔNˆBØ�qŠyˆyØŸš˜r u˜Ñ-Ô-Ð.Ð.Ø�qŠyˆyØŸš˜r x˜Ñ0Ô0Ð1Ð1ØŸš r§z¢z¡|¤|°b·j²j±l´lÑ'B˜ÑCÔCˆIØ# dÑ*ˆKØ—v’v˜b h�vÑ/Ô/°IÀ±MÀ[Ñ3PÑQˆHØ—J’J˜{­c°!©f¬fÒ4µc¸$±i´iÀÑJÔJÐKÐKr-   r©   rµ   )r4   r
   r	   r)   )r*   r¶   r·   rÂ   r†   s   ```` r+   rÈ   zIbisNamespace.cov¼   s{   øøøø€ ð
	Lð 
	Lð 
	Lð 
	Lð 
	Lð 
	Lð 
	Lð 
	Lð 
	Lð �zŠzØÝ"?ÀÀ1Ñ"EÔ"EÝ9¸!¸QÑ?Ô?Ø”Mð	 ñ 
ô 
ð 	
r-   c                ól   ‡— | j         }dˆfd„}|                      |t          ‰Ž t          ‰Ž |¬¦  «        S )NÚdfr   r%   r®   c                ó˜   •‡ — ˆ fd„‰D ¦   «         }t          d„ |D ¦   «         ¦  «         t          j        t          |¦  «        ¦  «        gS )Nc           
     óv   •— g | ]5}t           |‰¦  «        gt          |‰g ¦  «        ¢R d diŽD ]
\  }}}||f‘ŒŒ6S )ÚstrictT)Úzipr   )rc   ÚexprÚnative_exprÚ_ÚaliasrÍ   s        €r+   r   z6IbisNamespace.struct.<locals>.func.<locals>.<listcomp>Ô   sˆ   ø€ ð ð ð àÝ-0Ø�D˜‘H”Hð.å6°t¸RÀÑDÔDð.ð .ð .ð  ð.ð .ðð ñ *�K  Eð ˜Ð$ðð ð ð r-   c                ó   — g | ]\  }}|‘ŒS r§   r§   )rc   rI   rÔ   s      r+   r   z6IbisNamespace.struct.<locals>.func.<locals>.<listcomp>Ý   s   € Ð*FÐ*FÐ*F±G°D¸!¨4Ð*FÐ*FÐ*Fr-   )r   rA   r¢   r¡   )rÍ   ÚfieldsrY   s   ` €r+   r†   z"IbisNamespace.struct.<locals>.funcÓ   sd   øø€ ðð ð ð à!ðñ ô ˆFõ *Ð*FÐ*F¸vÐ*FÑ*FÔ*FÑGÔGÐGÝ”K¥ V¡¤Ñ-Ô-Ð.Ð.r-   r³   ©rÍ   r   r%   r®   ©r)   r4   r
   r	   ©r*   rY   r$   r†   s    `  r+   r¢   zIbisNamespace.structÐ   s[   ø€ Ø”-ˆð	/ð 	/ð 	/ð 	/ð 	/ð 	/ð �zŠzØÝ"?ÀÐ"GÝ9¸5ÐAØð	 ñ 
ô 
ð 	
r-   c                ól   ‡— | j         }dˆfd„}|                      |t          ‰Ž t          ‰Ž |¬¦  «        S )NrÍ   r   r%   r®   c                óL   •‡ — ˆ fd„‰D ¦   «         }t          j        |¦  «        gS )Nc                ó0   •— g | ]} |‰¦  «        D ]}|‘ŒŒS r§   r§   )rc   rÒ   rÓ   rÍ   s      €r+   r   z4IbisNamespace.list.<locals>.func.<locals>.<listcomp>ë   s.   ø€ ÐNÐNÐN DÀTÀTÈ"ÁXÄXÐNÐN°k�KÐNÐNÐNÐNr-   )rA   Úarray)rÍ   ry   rY   s   ` €r+   r†   z IbisNamespace.list.<locals>.funcê   s0   øø€ ØNÐNÐNÐN¨EÐNÑNÔNˆDÝ”J˜tÑ$Ô$Ð%Ð%r-   r³   rØ   rÙ   rÚ   s    `  r+   r”   zIbisNamespace.listç   s[   ø€ Ø”-ˆð	&ð 	&ð 	&ð 	&ð 	&ð 	&ð �zŠzØÝ"?ÀÐ"GÝ9¸5ÐAØð	 ñ 
ô 
ð 	
r-   )r$   r   r%   r&   )r%   r   )r%   r2   )r%   r5   )r:   r   r9   r;   r<   r   r%   r   )r:   r   r<   r   r%   r   )rI   r;   rJ   rK   r%   rL   )rO   r   r%   rL   r(   )rR   rL   rO   rL   rS   rT   r%   rL   )rY   rL   r%   rL   )r]   r^   r_   r   r%   r   )rY   r   r9   r;   rv   rw   r%   r   )rY   r   r%   r   )rO   r    rš   r›   r%   r   )r%   r   )r¶   r   r·   r   r¸   r   r%   r   )r¶   r   r·   r   rÂ   rÃ   r%   r   )Ú__name__Ú
__module__Ú__qualname__r   ÚIBISr#   Ú__annotations__r,   Úpropertyr1   r4   r7   rE   rH   rN   rQ   rX   r\   ru   r‰   r™   r   r²   r¿   rÈ   r¢   r”   r§   r-   r+   r"   r"   )   sú  € € € € € € ð '5Ô&9€OÐ9Ð9Ð9Ñ9ð ð  ð  ð  ð ð:ð :ð :ñ „Xð:ð ðð ð ñ „Xðð ðð ð ñ „Xðð =@ðAð Að Að Að Að AðAð Að Að Að%ð %ð %ð %ðð ð ð ð QUð?ð ?ð ?ð ?ð ?ð%ð %ð %ð %ð.ð .ð .ð .ð Hð Hð Hð Hð Hð Hð Hð Hð$
ð 
ð 
ð 
ð"	
ð 	
ð 	
ð 	
ð
ð 
ð 
ð 
ð"
ð 
ð 
ð 
ð(
ð 
ð 
ð 
ð.
ð 
ð 
ð 
ð 
ð 
r-   r"   zir.TablerL   )0Ú
__future__r   r•   Ú	functoolsr   Útypingr   r   r   rA   Úibis.expr.typesrÒ   ÚtypesÚirÚnarwhals._compliant.namespacer   Únarwhals._expression_parsingr	   r
   r   Únarwhals._ibis.dataframer   Únarwhals._ibis.exprr   Únarwhals._ibis.selectorsr   Únarwhals._ibis.utilsr   r   r   Únarwhals._sql.namespacer   Únarwhals._utilsr   r   r   r   Úcollections.abcr   r   r   Únarwhals.typingr   r   r   r   r    r"   r§   r-   r+   ú<module>rõ      s0  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +à €€€Ø Ð Ð Ð Ð Ð Ð Ð Ð à 7Ð 7Ð 7Ð 7Ð 7Ð 7ðð ð ð ð ð ð ð ð ð ð
 3Ð 2Ð 2Ð 2Ð 2Ð 2Ø (Ð (Ð (Ð (Ð (Ð (Ø :Ð :Ð :Ð :Ð :Ð :Ø HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HØ 0Ð 0Ð 0Ð 0Ð 0Ð 0ðð ð ð ð ð ð ð ð ð ð ð ð ð 
Ø2Ð2Ð2Ð2Ð2Ð2Ð2Ð2à'Ð'Ð'Ð'Ð'Ð'ðð ð ð ð ð ð ð ð ð ð ð ð ð ðJ
ð J
ð J
ð J
ð J
Ø� ¨*°jÐ@ÔAØ�- Ð)Ô*ñJ
ô J
ð J
ð J
ð J
r-   