"""
Provide utilities for raising warnings.
"""
import warnings
import typing_extensions
[docs]
class BettyDeprecationWarning(DeprecationWarning):
"""
Raised for deprecated Betty functionality.
"""
pass
[docs]
def deprecate(message: str, stacklevel: int = 1):
"""
Raise a Betty deprecation warning.
"""
warnings.warn(message, category=BettyDeprecationWarning, stacklevel=stacklevel + 1)
[docs]
class deprecated(typing_extensions.deprecated):
"""
Decorate a class, function, or overload to indicate that it is deprecated.
This is identical to :py:class:`typing_extensions.deprecated`, but raises a Betty
deprecation warning.
"""