
    Whc                        d dl 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 d dlmZ d dlmZ  G d	 d
ed         Zy)    )annotations)chain)TYPE_CHECKING)
SQLGroupBy)Sequence)
Expression)DuckDBLazyFrame)
DuckDBExprc                  ,    e Zd Z	 	 	 	 	 	 	 	 ddZddZy)DuckDBGroupByc                  | j                  ||      \  }| _        | _        |r!|j                  | j                        | _        y || _        y )N)keys)_parse_keys_keys_output_key_names
drop_nulls_compliant_frame)selfdfr   drop_null_keysframes        S/var/www/html/jupyter_env/lib/python3.12/site-packages/narwhals/_duckdb/group_by.py__init__zDuckDBGroupBy.__init__   sF     594D4DRd4D4S1tz41@N 0 0 <TY    c                F   t        t        | j                  | j                  |                  }| j                  j                  | j                  j                  j                  |            j                  t        t        | j                  | j                                    S )N)listr   r   _evaluate_exprs	compliant_with_nativenative	aggregaterenamedictzipr   )r   exprsagg_columnss      r   aggzDuckDBGroupBy.agg   sr    5T-A-A%-HIJ~~**NN!!++K8

&c$**d&<&<=>
?	@r   N)r   r	   r   z$Sequence[DuckDBExpr] | Sequence[str]r   boolreturnNone)r%   r
   r)   r	   )__name__
__module____qualname__r   r'    r   r   r   r      s8    	Z	Z 3	Z 	Z 
	Z@r   r   )r	   r
   r   N)
__future__r   	itertoolsr   typingr   narwhals._sql.group_byr   collections.abcr   duckdbr   narwhals._duckdb.dataframer	   narwhals._duckdb.exprr
   r   r.   r   r   <module>r7      s4    "    -(!:0@JLM @r   