Ë
    ðmxi  ã                  ó~   — 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        úN/home/htdocs/ttos/venv/lib/python3.12/site-packages/narwhals/_ibis/group_by.pyÚ__init__zIbisGroupBy.__init__   sF   € ð 59×4DÑ4DÀRÈdÐ4DÓ4SÑ1ˆˆtŒz˜4Ô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   € Ø—‘×&Ñ&ˆØ�~‰~×*Ñ*Ø1ˆF�O‰O˜DŸJ™JÓ'×1Ñ1°4×3GÑ3GÈÓ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   