Ë
    èlÖi]  ã                   ó$   — d dl mZ  G d„ d«      Zy)é    ©ÚUnsupportedAggregationErrorc                   ó(   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zy)ÚAggregationaÏ  
    Aggregations create a new value by summarizing a :class:`.Column`.

    Aggregations are applied with :meth:`.Table.aggregate` and
    :meth:`.TableSet.aggregate`.

    When creating a custom aggregation, ensure that the values returned by
    :meth:`.Aggregation.run` are of the type specified by
    :meth:`.Aggregation.get_aggregate_data_type`. This can be ensured by using
    the :meth:`.DataType.cast` method. See :class:`.Summary` for an example.
    c                 ó.   — | j                   j                  S )zq
        String representation of this column. May be used as a column name in
        generated tables.
        )Ú	__class__Ú__name__)Úselfs    ú\/var/www/html/strategist-ai/venv_dbt/lib/python3.12/site-packages/agate/aggregations/base.pyÚ__str__zAggregation.__str__   s   € ð
 �~‰~×&Ñ&Ð&ó    c                 ó   — t        «       ‚)aV  
        Get the data type that should be used when using this aggregation with
        a :class:`.TableSet` to produce a new column.

        Should raise :class:`.UnsupportedAggregationError` if this column does
        not support aggregation into a :class:`.TableSet`. (For example, if it
        does not return a single value.)
        r   ©r
   Útables     r   Úget_aggregate_data_typez#Aggregation.get_aggregate_data_type   s   € ô *Ó+Ð+r   c                  ó   — y)zÆ
        Perform any checks necessary to verify this aggregation can run on the
        provided table without errors. This is called by
        :meth:`.Table.aggregate` before :meth:`run`.
        N© r   s     r   ÚvalidatezAggregation.validate"   s   € ð 	r   c                 ó   — t        «       ‚)zS
        Execute this aggregation on a given column and return the result.
        )ÚNotImplementedErrorr   s     r   ÚrunzAggregation.run*   s   € ô "Ó#Ð#r   N)r	   Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r   r   r      s   „ ñ
ò'ò	,òó$r   r   N)Úagate.exceptionsr   r   r   r   r   ú<module>r      s   ðÝ 8÷*$ò *$r   