
    h6                        S SK Jr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  \(       a  S SK	J
r  S SKJr  S S	KJr  S S
KJr  S SKJr   " S S5      r " S S5      rg)    )annotations)TYPE_CHECKING)Iterator)Sequence)castextract_native)GroupBy)LazyGroupBy)PolarsDataFrame)PolarsLazyFrame)
PolarsExprc                  l    \ rS rSr% S\S'   S\S'   \SS j5       r        SS jrSS jrSS	 jr	S
r
g)PolarsGroupBy   r   _compliant_frameSequence[str]_keysc                    U R                   $ Nr   selfs    K/var/www/html/env/lib/python3.13/site-packages/narwhals/_polars/group_by.py	compliantPolarsGroupBy.compliant       $$$    c                  Xl         [        U5      U l        U(       a  UR                  U5      OUnUR                  R                  U5      U l        g r   r   listr   
drop_nulls_native_framegroup_by_groupedr   dfkeysdrop_null_keyss       r   __init__PolarsGroupBy.__init__   s?     !#$Z
$2R]]4 ')'7'7'@'@'Fr   c                ~    U R                   R                  nU" U R                  R                  S U 5       5      5      $ )Nc              3  8   #    U  H  n[        U5      v   M     g 7fr   r   .0args     r   	<genexpr>$PolarsGroupBy.agg.<locals>.<genexpr>%        ,QDS^C-@-@D   r   _with_nativer%   aggr   aggsfrom_natives      r   r7   PolarsGroupBy.agg#   1    nn114==,,,QD,QQRRr   c              #     #    U R                    H7  u  p[        [        SU5      5      U R                  R	                  U5      4v   M9     g 7f)Nstr)r%   tupler   r   r6   )r   keyr'   s      r   __iter__PolarsGroupBy.__iter__'   s;     }}GCUC()4>>+F+Fr+JJJ %s   A	Ar   r%   r   N)returnr   )r'   r   r(   r   r)   boolrD   None)r9   r   rD   r   )rD   z1Iterator[tuple[tuple[str, ...], PolarsDataFrame]])__name__
__module____qualname____firstlineno____annotations__propertyr   r*   r7   rA   __static_attributes__ r   r   r   r      sV    %%% %G!G)6GNRG	GSKr   r   c                  b    \ rS rSr% S\S'   S\S'   \SS j5       r        SS jrSS jrS	r	g
)PolarsLazyGroupBy,   r   r   r   r   c                    U R                   $ r   r   r   s    r   r   PolarsLazyGroupBy.compliant0   r   r   c                  Xl         [        U5      U l        U(       a  UR                  U5      OUnUR                  R                  U5      U l        g r   r    r&   s       r   r*   PolarsLazyGroupBy.__init__4   s?     !#$Z
$2R]]4 +-+;+;+D+DT+Jr   c                ~    U R                   R                  nU" U R                  R                  S U 5       5      5      $ )Nc              3  8   #    U  H  n[        U5      v   M     g 7fr   r   r.   s     r   r1   (PolarsLazyGroupBy.agg.<locals>.<genexpr>>   r3   r4   r5   r8   s      r   r7   PolarsLazyGroupBy.agg<   r<   r   rC   N)rD   r   )r'   r   r(   r   r)   rE   rD   rF   )r9   r   rD   r   )
rG   rH   rI   rJ   rK   rL   r   r*   r7   rM   rN   r   r   rP   rP   ,   sP    %%% %K!K)6KNRK	KSr   rP   N)
__future__r   typingr   r   r   r   narwhals._polars.utilsr	   polars.dataframe.group_byr
   NativeGroupBypolars.lazyframe.group_byr   NativeLazyGroupBynarwhals._polars.dataframer   r   narwhals._polars.exprr   r   rP   rN   r   r   <module>rc      sA    "      1BJ::0K K2S Sr   