
    bi              	          U 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 d dlmZ d dlmZ d dlmZ er'd dlmZ d d	lmZmZ d d
lmZ d dlmZ d dlmZ eZded<    G d dee	eef   ee	eef         Zy)    )annotations)TYPE_CHECKINGAnyProtocol)CompliantLazyFrame)CompliantExprT_contraNativeExprTNativeLazyFrameT)ToNarwhalsT_co)check_columns_exist)MultiOutputExpressionError)Sequence)Self	TypeAlias)WindowInputs)SQLExpr)ColumnNotFoundErrorr   
Incompletec                  8    e Zd Z	 	 	 	 	 	 ddZ	 	 	 	 ddZddZy)SQLLazyFramec               f    |j                  | |      }t        |      dk7  rd}t        |      |d   S N   z4multi-output expressions not allowed in this contextr   )window_functionlenr   )selfexprwindow_inputsresultmsgs        R/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/narwhals/_sql/dataframe.py_evaluate_window_exprz"SQLLazyFrame._evaluate_window_expr   s<     %%dM:v;!HC,S11ay    c               R     ||       }t        |      dk7  rd}t        |      |d   S r   )r   r   )r   r   r   r    s       r!   _evaluate_single_output_exprz)SQLLazyFrame._evaluate_single_output_expr+   s3     dv;!HC,S11ayr#   c                0    t        || j                        S )N)	available)r   columns)r   subsets     r!   _check_columns_existz!SQLLazyFrame._check_columns_exist4   s    "6T\\BBr#   N)r   zWindowInputs[NativeExprT]r   SQLExpr[Self, NativeExprT]returnr	   )r   r+   r,   r	   )r)   zSequence[str]r,   zColumnNotFoundError | None)__name__
__module____qualname__r"   r%   r*    r#   r!   r   r      s>    
 1	
(

 

.	Cr#   r   N)
__future__r   typingr   r   r   narwhals._compliant.dataframer   narwhals._compliant.typingr   r	   r
   narwhals._translater   narwhals._utilsr   narwhals.exceptionsr   collections.abcr   typing_extensionsr   r   narwhals._compliant.windowr   narwhals._sql.exprr   r   r   __annotations__r   r0   r#   r!   <module>r=      sp    " / / < 
 / / :(17*7J	C,.>NO"$4nDECr#   