Source code for jaxns.warnings

import logging
from functools import wraps
from typing import Callable, Optional

[docs] logger = logging.getLogger('jaxns')
[docs] def deprecated(other: Optional[Callable]) -> Callable: def decorator(f: Callable): @wraps def g(*args, **kwargs): if other is not None: logger.warning(f"{f.__name__} is deprecated, use `{other.__name__}`.") else: logger.warning(f"{f.__name__} is deprecated.") return f(*args, **kwargs) if other is not None: g.__doc__ = (f"Deprecated. Prefer {other.__name__}.\n\n{g.__doc__}") else: g.__doc__ = (f"Deprecated.\n\n{g.__doc__}") return g return decorator