code: def experimental(func_or_class=None):
      if func_or_class is not None:
          if not inspect.isclass(
              func_or_class
          ) and not inspect.isfunction(func_or_class):
              raise ValueError(
                  "The @experimental decorator requires a function or class"
              )
  
      def _decorator(func_or_class):
          subject = (
              "class" if inspect.isclass(func_or_class) else "function"
          )
  
          @wraps(func_or_class)
          def wrapper(*args, **kwargs):
              warnings.warn(
                  f"The {subject} {func_or_class.__name__} is experimental "
                  f"and maybe subject to change soon.",
                  ExperimentalWarning,
              )
  
              return func_or_class(*args, **kwargs)
  
          return wrapper
  
      return (
          _decorator(func_or_class)
          if callable(func_or_class)
          else _decorator
      )
  
file_path: small-text/small_text/utils/annotations.py
imports: import inspect
  import warnings
  from functools import wraps
  from packaging import version
  from small_text.version import get_version
label_desc: Use image node_id 2 for calling a global function with example usage: experimental(func_or_class) and returns: unknown, wrapper, func_or_class