Source code for syned.util

import functools
import warnings

[docs]def deprecated(reason: str = ""): """ Decorator to mark functions as deprecated. It will result in a warning being emitted when the function is used. """ def decorator(func): msg = f"The function `{func.__name__}` is deprecated." if reason: msg += f" {reason}" @functools.wraps(func) def wrapper(*args, **kwargs): warnings.simplefilter("always", DeprecationWarning) # show even if filtered warnings.warn(msg, category=DeprecationWarning, stacklevel=2) warnings.simplefilter("default", DeprecationWarning) # reset filter return func(*args, **kwargs) return wrapper return decorator