1.3 KiB
utils
aiomql.utils.utils — Decorators, rounding, and async caching.
Overview
General-purpose utility functions used throughout the library: error-handling decorators, a ceiling-rounding helper, and an async-friendly cache decorator.
Functions
round_up(value, decimals=0)
Rounds a number up to the specified decimal places.
Uses decimal.ROUND_UP for precise ceiling rounding.
Args:
value(float) — The value to round.decimals(int) — Decimal places. Defaults to0.
Returns: float
async_cache(fn)
Decorator that caches the result of an async function.
Wraps an async def function so that subsequent calls with the same arguments
return the cached result without re-executing the coroutine.
error_handler(func=None, *, msg="", tb=False, …)
Decorator for uniform exception handling.
Catches exceptions, logs them (optionally with traceback), and returns a fallback value instead of re-raising.
backoff_retry(func=None, *, retries=3, error=Exception, …)
Decorator that retries a function with exponential back-off.
Retries the decorated function retries times on failure, with increasing
delays between attempts.
dict_to_string(data)
Converts a dictionary to a formatted key=value string.