
    hh                        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	c m
Z d dlmZ d dlmZ  G d d	ed
                   ZdS )    )annotations)TYPE_CHECKING)
SQLGroupBy)SequenceN)IbisLazyFrame)IbisExprc                      e Zd Zdd	ZddZdS )IbisGroupBydfr   keys"Sequence[str] | Sequence[IbisExpr]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        N/var/www/histauto/venv/lib/python3.11/site-packages/narwhals/_ibis/group_by.py__init__zIbisGroupBy.__init__   sQ     594D4DRd4D4S4S1tz41@N Y 0 0 < < <TY    exprsr   c                $   | 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    s      r   aggzIbisGroupBy.agg   st    &~**1FOODJ''143G3G3N3NO
 

&c$*d&<==>>
?
?	@r   N)r   r   r   r   r   r   r   r   )r   r   r   r   )__name__
__module____qualname__r   r(    r   r   r
   r
      sF        	Z 	Z 	Z 	Z@ @ @ @ @ @r   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   <module>r7      s    " " " " " "             - - - - - - -((((((         666666,,,,,,@ @ @ @ @*DE @ @ @ @ @r   