code: def _wrap_attribute(
      class_name: str, attribute_name: str, attribute, **kwargs
  ):
      # Skip items marked with autowrap_ignore
      if attribute.__dict__.get(CUML_WRAPPED_FLAG, False):
          return attribute
  
      return_type = _get_base_return_type(class_name, attribute)
  
      if return_type == "generic":
          attribute = api_base_return_generic(**kwargs)(attribute)
      elif return_type == "array":
          attribute = api_base_return_array(**kwargs)(attribute)
      elif return_type == "sparsearray":
          attribute = api_base_return_sparse_array(**kwargs)(attribute)
      elif return_type == "base":
          attribute = api_base_return_any(**kwargs)(attribute)
      elif not attribute_name.startswith("_"):
          # Only replace public functions with return any
          attribute = api_return_any()(attribute)
  
      return attribute
  
file_path: cuml/python/cuml/internals/base_helpers.py
imports: from inspect import Parameter, signature
  import typing
  from cuml.internals.api_decorators import api_base_return_generic, api_base_return_array, api_base_return_sparse_array, api_base_return_any, api_return_any, _deprecate_pos_args
  from cuml.internals.array import CumlArray
  from cuml.internals.array_sparse import SparseCumlArray
  from cuml.internals.base_return_types import _get_base_return_type
  from cuml.internals.constants import CUML_WRAPPED_FLAG
label_desc: Use image node_id 1 for calling a global function with example usage: _wrap_attribute(class_name, attribute_name, attribute) and returns: attribute, attribute