def METHOD_NAME(replacement=None, message=None, category=FutureWarning):
    """
    Decorator to mark classes or functions as deprecated,
    with a possible replacement.
    Args:
        replacement (callable): A replacement class or method.
        message (str): A warning message to be displayed.
        category (Warning): Choose the category of the warning to issue. Defaults
            to FutureWarning. Another choice can be DeprecationWarning. NOte that
            FutureWarning is meant for end users and is always shown unless silenced.
            DeprecationWarning is meant for developers and is never shown unless
            python is run in developmental mode or the filter is changed. Make
            the choice accordingly.
    Returns:
        Original function, but with a warning to use the updated class.
    """
    def craft_message(old, replacement, message):
        msg = f"{old.__name__} is deprecated"
        if replacement is not None:
            if isinstance(replacement, property):
                r = replacement.fget
            elif isinstance(replacement, (classmethod, staticmethod)):
                r = replacement.__func__
            else:
                r = replacement
            msg += f"; use {r.__name__} in {r.__module__} instead."
        if message is not None:
            msg += "\n" + message
        return msg
    def deprecated_decorator(old):
        if inspect.isclass(old):
            class _DecoratedClass(old):
                def __init__(self, *args, **kwargs):
                    msg = craft_message(old, replacement, message)
                    warnings.warn(msg, category=category, stacklevel=2)
                    super().__init__(*args, **kwargs)
            return _DecoratedClass
        else:
            def wrapped(*args, **kwargs):
                msg = craft_message(old, replacement, message)
                warnings.warn(msg, category=category, stacklevel=2)
                return old(*args, **kwargs)
            return wrapped
    return deprecated_decorator