o
    Lh                     @  sv   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	  m
Z d dlmZ d dlmZ G dd	 d	ed
 ZdS )    )annotations)TYPE_CHECKING)
SQLGroupBy)SequenceN)IbisLazyFrame)IbisExprc                   @  s    e Zd Zdd	d
ZdddZdS )IbisGroupBydfr   keys"Sequence[str] | Sequence[IbisExpr]drop_null_keysboolreturnNonec               C  s8   | j ||d\}| _| _|r|| j| _d S || _d S )N)r
   )_parse_keys_keys_output_key_names
drop_nulls_compliant_frame)selfr	   r
   r   frame r   X/var/www/html/Persson_Maskin/env/lib/python3.10/site-packages/narwhals/_ibis/group_by.py__init__   s    zIbisGroupBy.__init__exprsr   c                 G  s<   | j j}| j || jj| | tt	| j| j
S )N)	compliantnative_with_nativegroup_byr   	aggregate_evaluate_exprsrenamedictzipr   )r   r   r   r   r   r   agg   s   zIbisGroupBy.aggN)r	   r   r
   r   r   r   r   r   )r   r   r   r   )__name__
__module____qualname__r   r$   r   r   r   r   r      s    
r   )r   r   zir.Value)
__future__r   typingr   narwhals._sql.group_byr   collections.abcr   ibis.expr.typesexprtypesirnarwhals._ibis.dataframer   narwhals._ibis.exprr   r   r   r   r   r   <module>   s    