from constants import DEBUG def todo(msg: str = "Not implemented"): def inner(func): def inner2(*args, **kwargs): if DEBUG: print(f"[{func.__name__}] TODO: {msg}") return func(*args, **kwargs) return inner2 return inner def wip(func): def inner(*args, **kwargs): if DEBUG: print( f"Called work in progress function {func.__name__}. Functionality may change in the future." ) return func(*args, **kwargs) return inner def deprecated(func): @functools.wraps(func) def inner(*args, **kwargs): if DEBUG: print( f"\x1b[31mWarning:\x1b[0m The function {inner.__name__} is deprecated." ) return func(*args, **kwargs) return inner