code: def experimental(api_or_type: Union[C, str]) -> C:
      """Decorator / decorator creator for marking APIs experimental in the docstring.
  
      Args:
          api_or_type: An API to mark, or an API typestring for which to generate a decorator.
  
      Returns:
          Decorated API (if a ``api_or_type`` is an API) or a function that decorates
          the specified API type (if ``api_or_type`` is a typestring).
      """
      if isinstance(api_or_type, str):
  
          def f(api: C) -> C:
              return _experimental(api=api, api_type=api_or_type)
  
          return f
      elif inspect.isclass(api_or_type):
          return _experimental(api=api_or_type, api_type="class")
      elif inspect.isfunction(api_or_type):
          return _experimental(api=api_or_type, api_type="function")
      elif isinstance(api_or_type, (property, types.MethodType)):
          return _experimental(api=api_or_type, api_type="property")
      else:
          return _experimental(
              api=api_or_type, api_type=str(type(api_or_type))
          )
  
file_path: mlflow/mlflow/utils/annotations.py
imports: import inspect
  import types
  import warnings
  from functools import wraps
  from typing import Any, Callable, TypeVar, Union
label_desc: Use image node_id 1 for calling a global function with example usage: experimental(api_or_type) and returns: f, _experimental, _experimental, _experimental, _experimental, _experimental