
    O3j                    ~    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        D/DATA/.local/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                  d                  S )NF)strict)	compliantnative_with_nativegroup_byr   	aggregate_evaluate_exprsrenamedictzipr   )r   exprsr   s      r   aggzIbisGroupBy.agg   ss    &&~~**1FOODJJ'1143G3G3NO

&c$**d&<&<UKL
M	N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N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      s4    "   -(  6,N*DE Nr   