
    /_i                        d dl mZ 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)join_column_names)
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        X/var/www/html/land_sniper/venv/lib/python3.12/site-packages/narwhals/_duckdb/group_by.py__init__zDuckDBGroupBy.__init__   sF     594D4DRd4D4S1tz41@N 0 0 <TY    c                ~   t        | j                  |            }| j                  j                  j	                  t        t        | j                  |            t        | j                         }| j                  j                  |      j                  t        t        | j                  | j                                    S )N)tuple_evaluate_exprs	compliantnative	aggregater   r   r   _with_nativerenamedictzipr   )r   exprsagg_columnsresults       r   aggzDuckDBGroupBy.agg   s    D0078&&00%

K01tzz*

 ~~**6299TZZ!7!789
 	
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      s7    	Z	Z 3	Z 	Z 
	Z	
r   r   )r
   r   r	   N)
__future__r   	itertoolsr   typingr   narwhals._duckdb.utilsr   narwhals._sql.group_byr   collections.abcr   duckdbr	   narwhals._duckdb.dataframer
   narwhals._duckdb.exprr   r   r0   r   r   <module>r:      s5    "    4 -(!:0
JLM 
r   