o
    Lh                  
   @  s  U d dl mZ d dlmZ d dlmZmZ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mZ d dlmZ erd dlmZmZmZ d dlm Z  d d	l!m"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. eZ/de0d< g dZ1G dd deee
f Z2G dd de2eef eeef Z3G dd de2eef eeeef Z4G dd de3eef eeeeeef Z5dS )    )annotations)partial)TYPE_CHECKINGAnyProtocoloverload)CompliantExprTCompliantFrameTCompliantLazyFrameTDepthTrackingExprTEagerDataFrameT
EagerExprTEagerSeriesT	LazyExprTNativeFrameTNativeFrameT_coNativeSeriesT)exclude_column_namesget_column_namespassthrough_column_names)is_numpy_array_2d)	ContainerIterableSequence)	TypeAlias)CompliantSelectorNamespace)CompliantWhen	EagerWhen)ImplementationVersion)ConcatMethodInto1DArray	IntoDType
IntoSchemaNonNestedLiteral_2DArrayr   
Incomplete)CompliantNamespaceDepthTrackingNamespaceEagerNamespaceLazyNamespacec                   @  s   e Zd ZU ded< ded< dCddZdDddZdEddZdFddZdCddZdGddZ	dHd d!Z
dHd"d#ZdId$d%ZdId&d'ZdId(d)ZdId*d+ZdJd1d2ZdKd5d6ZdLd8d9ZedMd;d<ZedNd>d?ZdId@dAZdBS )Or'   r   _implementationr   _versionreturnr   c                 C  s   | j jt| dS Ncontext_exprfrom_column_namesr   self r6   ^/var/www/html/Persson_Maskin/env/lib/python3.10/site-packages/narwhals/_compliant/namespace.pyall9   s   zCompliantNamespace.allcolumn_namesstrc                 G  s   | j jt|| dS r.   r2   r3   r   r5   r9   r6   r6   r7   col<   s   zCompliantNamespace.colexcluded_namesContainer[str]c                 C  s   | j jtt|d| dS )Nnamesr/   r2   r3   r   r   r5   r>   r6   r6   r7   excludeA   s   zCompliantNamespace.excludecolumn_indicesintc                 G  s   | j j|d| iS )Nr0   )r2   from_column_indices)r5   rE   r6   r6   r7   nthF   s   zCompliantNamespace.nthc                 C     d S Nr6   r4   r6   r6   r7   lenI       zCompliantNamespace.lenvaluer$   dtypeIntoDType | Nonec                 C  rI   rJ   r6   )r5   rM   rN   r6   r6   r7   litJ   rL   zCompliantNamespace.litexprsignore_nullsboolc                G  rI   rJ   r6   r5   rR   rQ   r6   r6   r7   all_horizontalK      z!CompliantNamespace.all_horizontalc                G  rI   rJ   r6   rT   r6   r6   r7   any_horizontalN   rV   z!CompliantNamespace.any_horizontalc                 G  rI   rJ   r6   r5   rQ   r6   r6   r7   sum_horizontalQ   rL   z!CompliantNamespace.sum_horizontalc                 G  rI   rJ   r6   rX   r6   r6   r7   mean_horizontalR   rL   z"CompliantNamespace.mean_horizontalc                 G  rI   rJ   r6   rX   r6   r6   r7   min_horizontalS   rL   z!CompliantNamespace.min_horizontalc                 G  rI   rJ   r6   rX   r6   r6   r7   max_horizontalT   rL   z!CompliantNamespace.max_horizontalitemsIterable[CompliantFrameT]howr    r	   c                C  rI   rJ   r6   )r5   r]   r_   r6   r6   r7   concatU   rV   zCompliantNamespace.concat	predicate:CompliantWhen[CompliantFrameT, Incomplete, CompliantExprT]c                 C  rI   rJ   r6   r5   ra   r6   r6   r7   whenX   rV   zCompliantNamespace.when	separatorc                G  rI   rJ   r6   )r5   re   rR   rQ   r6   r6   r7   
concat_str[   rV   zCompliantNamespace.concat_str$CompliantSelectorNamespace[Any, Any]c                 C  rI   rJ   r6   r4   r6   r6   r7   	selectors^      zCompliantNamespace.selectorstype[CompliantExprT]c                 C  rI   rJ   r6   r4   r6   r6   r7   r2   `   ri   zCompliantNamespace._exprc                 G  rI   rJ   r6   rX   r6   r6   r7   coalesceb   rL   zCompliantNamespace.coalesceN)r-   r   )r9   r:   r-   r   )r>   r?   r-   r   )rE   rF   r-   r   )rM   r$   rN   rO   r-   r   )rQ   r   rR   rS   r-   r   )rQ   r   r-   r   )r]   r^   r_   r    r-   r	   )ra   r   r-   rb   )rQ   r   re   r:   rR   rS   r-   r   )r-   rg   )r-   rj   )__name__
__module____qualname____annotations__r8   r=   rD   rH   rK   rP   rU   rW   rY   rZ   r[   r\   r`   rd   rf   propertyrh   r2   rk   r6   r6   r6   r7   r'   5   s.   
 














r'   c                   @  s*   e Zd ZdddZdddZdddZdS )r(   r-   r   c                 C  s   | j jtd| dS )Nr8   function_namer0   r1   r4   r6   r6   r7   r8   i   s   zDepthTrackingNamespace.allr9   r:   c                 G  s   | j jt|d| dS )Nr=   rq   r;   r<   r6   r6   r7   r=   n   s   
zDepthTrackingNamespace.colr>   r?   c                 C  s   | j jtt|dd| dS )Nr@   rD   rq   rB   rC   r6   r6   r7   rD   s   s
   
zDepthTrackingNamespace.excludeN)r-   r   )r9   r:   r-   r   )r>   r?   r-   r   )rl   rm   rn   r8   r=   rD   r6   r6   r6   r7   r(   e   s    

r(   c                   @  s2   e Zd ZedddZedddZdddZdS )r*   r-   tuple[int, ...]c                 C  
   | j  S rJ   r+   _backend_versionr4   r6   r6   r7   rv         
zLazyNamespace._backend_versiontype[CompliantLazyFrameT]c                 C  rI   rJ   r6   r4   r6   r6   r7   
_lazyframe   ri   zLazyNamespace._lazyframedataNativeFrameT_co | Anyr
   c                C  s4   | j |r| j j|| dS dt|j}t|Nr/   zUnsupported type: )ry   
_is_nativefrom_nativetyperl   	TypeErrorr5   rz   msgr6   r6   r7   r~      s   zLazyNamespace.from_nativeNr-   rs   )r-   rx   )rz   r{   r-   r
   )rl   rm   rn   rp   rv   ry   r~   r6   r6   r6   r7   r*   {   s    r*   c                   @  s   e Zd Zed6ddZed7ddZed8d	d
Zd9ddZed:ddZ	ed;ddZ	d<ddZ	ed=d>dd Z
ed?d#d Z
	$d@dAd&d Z
dBd)d*ZdCd,d-ZdBd.d/ZdDd4d5Zd$S )Er)   r-   rs   c                 C  rt   rJ   ru   r4   r6   r6   r7   rv      rw   zEagerNamespace._backend_versiontype[EagerDataFrameT]c                 C  rI   rJ   r6   r4   r6   r6   r7   
_dataframe   ri   zEagerNamespace._dataframetype[EagerSeriesT]c                 C  rI   rJ   r6   r4   r6   r6   r7   _series   ri   zEagerNamespace._seriesra   r   CEagerWhen[EagerDataFrameT, EagerSeriesT, EagerExprT, NativeSeriesT]c                 C  rI   rJ   r6   rc   r6   r6   r7   rd      rV   zEagerNamespace.whenrz   r   r   c                C  rI   rJ   r6   r5   rz   r6   r6   r7   r~      ri   zEagerNamespace.from_nativer   r   c                C  rI   rJ   r6   r   r6   r6   r7   r~      ri   "NativeFrameT | NativeSeriesT | AnyEagerDataFrameT | EagerSeriesTc                C  sP   | j |r| j j|| dS | j|r| jj|| dS dt|j}t|r|   )r   r}   r~   r   r   rl   r   r   r6   r6   r7   r~      s   .schemaNoner!   c                C  rI   rJ   r6   r5   rz   r   r6   r6   r7   
from_numpy   ri   zEagerNamespace.from_numpy!IntoSchema | Sequence[str] | Noner%   c                C  rI   rJ   r6   r   r6   r6   r7   r      s   NInto1DArray | _2DArrayc                C  s*   t |r| jj||| dS | jj|| dS )N)r   r0   r/   )r   r   r   r   r   r6   r6   r7   r      s   dfsSequence[NativeFrameT]c                C  rI   rJ   r6   r5   r   r6   r6   r7   _concat_diagonal   rL   zEagerNamespace._concat_diagonalSequence[NativeFrameT | Any]c                C  rI   rJ   r6   r   r6   r6   r7   _concat_horizontal   rV   z!EagerNamespace._concat_horizontalc                C  rI   rJ   r6   r   r6   r6   r7   _concat_vertical   rL   zEagerNamespace._concat_verticalr]   Iterable[EagerDataFrameT]r_   r    c                C  s^   dd |D }|dkr|  |}n|dkr| |}n|dkr%| |}nt| jj|| dS )Nc                 S  s   g | ]}|j qS r6   )native).0itemr6   r6   r7   
<listcomp>   s    z)EagerNamespace.concat.<locals>.<listcomp>
horizontalverticaldiagonalr/   )r   r   r   NotImplementedErrorr   r~   )r5   r]   r_   r   r   r6   r6   r7   r`      s   zEagerNamespace.concatr   )r-   r   )r-   r   )ra   r   r-   r   )rz   r   r-   r   )rz   r   r-   r   )rz   r   r-   r   ).)r   r   rz   r!   r-   r   )r   r   rz   r%   r-   r   rJ   )r   r   rz   r   r-   r   )r   r   r-   r   )r   r   r-   r   )r]   r   r_   r    r-   r   )rl   rm   rn   rp   rv   r   r   rd   r   r~   r   r   r   r   r`   r6   r6   r6   r7   r)      s.    






r)   N)6
__future__r   	functoolsr   typingr   r   r   r   narwhals._compliant.typingr   r	   r
   r   r   r   r   r   r   r   r   narwhals._utilsr   r   r   narwhals.dependenciesr   collections.abcr   r   r   typing_extensionsr   narwhals._compliant.selectorsr   narwhals._compliant.when_thenr   r   r   r   narwhals.typingr    r!   r"   r#   r$   r%   r&   ro   __all__r'   r(   r*   r)   r6   r6   r6   r7   <module>   s8    4 	
0





