
    }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dS )    )annotations)chain)TYPE_CHECKING)join_column_names)
SQLGroupBy)Sequence)
Expression)DuckDBLazyFrame)
DuckDBExprc                      e Zd Zdd	ZddZdS )DuckDBGroupBydfr
   keys$Sequence[DuckDBExpr] | Sequence[str]drop_null_keysboolreturnNonec                  |                      ||          \  }| _        | _        |r|                    | j                  n|| _        d S )N)r   )_parse_keys_keys_output_key_names
drop_nulls_compliant_frame)selfr   r   r   frames        M/home/jrussi/.local/lib/python3.11/site-packages/narwhals/_duckdb/group_by.py__init__zDuckDBGroupBy.__init__   sQ     594D4DRd4D4S4S1tz41@N Y 0 0 < < <TY    exprsr   c                   t          |                     |                    }| j        j                            t          t          | j        |                    t          | j                   }| j                            |          	                    t          t          | j        | j                                      S )N)tuple_evaluate_exprs	compliantnative	aggregater   r   r   _with_nativerenamedictzipr   )r   r    agg_columnsresults       r   aggzDuckDBGroupBy.agg   s    D007788&00%
K0011tz*
 

 ~**62299TZ!78899
 
 	
r   N)r   r
   r   r   r   r   r   r   )r    r   r   r
   )__name__
__module____qualname__r   r-    r   r   r   r      s@        	Z 	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   r1   r   r   <module>r;      s    " " " " " "                   4 4 4 4 4 4 - - - - - - 1((((((!!!!!!::::::000000
 
 
 
 
JLM 
 
 
 
 
r   