in datafusion/__init__.py [0:0]
def udaf(accum, input_type, return_type, state_type, volatility, name=None):
"""
Create a new User Defined Aggregate Function
"""
if not issubclass(accum, Accumulator):
raise TypeError(
"`accum` must implement the abstract base class Accumulator"
)
if name is None:
name = accum.__qualname__.lower()
return AggregateUDF(
name=name,
accumulator=accum,
input_type=input_type,
return_type=return_type,
state_type=state_type,
volatility=volatility,
)