code: def Deprecated(*args, **kwargs):
      """Annotation for documenting a deprecated API. Deprecated APIs may be removed in future releases of Ludwig
      (e.g., Ludwig 0.7 to Ludwig 0.8).
  
      Args:
          message: A message to help users understand the reason for the deprecation, and provide a migration path.
  
      Examples:
          >>> from api_annotations import Deprecated
          >>> @Deprecated
          ... def func(x):
          ...     return x
          >>> @Deprecated(message="g() is deprecated because the API is error prone. Please call h() instead.")
          ... def g(y):
          ...     return y
      """
      if len(args) == 1 and len(kwargs) == 0 and callable(args[0]):
          return Deprecated()(args[0])
  
      message = "**DEPRECATED:** This API is deprecated and may be removed in a future Ludwig release."
  
      if "message" in kwargs:
          message += " " + kwargs["message"]
          del kwargs["message"]
  
      if kwargs:
          raise ValueError(f"Unknown kwargs: {kwargs.keys()}")
  
      def inner(obj):
          _append_doc(obj, message=message, directive="warning")
          _mark_annotated(obj)
          return obj
  
      return inner
  
file_path: ludwig/ludwig/api_annotations.py
imports: from typing import Optional
label_desc: Use image node_id 3 for calling a global function with example usage: Deprecated() and returns: inner, Deprecated, obj