
    Wh                    ~    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y)    )annotations)TYPE_CHECKING)
SQLGroupBy)SequenceN)IbisLazyFrame)IbisExprc                  ,    e Zd Z	 	 	 	 	 	 	 	 ddZddZy)IbisGroupByc                  | j                  ||      \  }| _        | _        |r!|j                  | j                        | _        y || _        y )N)keys)_parse_keys_keys_output_key_names
drop_nulls_compliant_frame)selfdfr   drop_null_keysframes        Q/var/www/html/jupyter_env/lib/python3.12/site-packages/narwhals/_ibis/group_by.py__init__zIbisGroupBy.__init__   sF     594D4DRd4D4S1tz41@N 0 0 <TY    c                :   | j                   j                  }| j                   j                   |j                  | j                        j
                  | j                  |             j                  t        t        | j                  | j                                    S )N)	compliantnative_with_nativegroup_byr   	aggregate_evaluate_exprsrenamedictzipr   )r   exprsr   s      r   aggzIbisGroupBy.agg   sq    &&~~**1FOODJJ'1143G3G3NO

&c$**d&<&<=>
?	@r   N)r   r   r   z"Sequence[str] | Sequence[IbisExpr]r   boolreturnNone)r#   r   r&   r   )__name__
__module____qualname__r   r$    r   r   r
   r
      s8    	Z	Z 1	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>r6      s4    "   -(  6,@*DE @r   