code: def _get_name(obj):
      # Try to get the fully-qualified name of the object.
      # For example:
      #   st.help(bar.Baz(123))
      #
      #   The name is bar.Baz
      name = getattr(obj, "__qualname__", None)
      if name:
          return name
  
      # Try to get the name of the object.
      # For example:
      #   st.help(bar.Baz(123))
      #
      #   The name is Baz
      return getattr(obj, "__name__", None)
  
imports: import ast
  import contextlib
  import inspect
  import re
  import types
  from typing import TYPE_CHECKING, Any, cast
  from typing_extensions import Final
  import streamlit
  from streamlit.logger import get_logger
  from streamlit.proto.DocString_pb2 import DocString
  from streamlit.proto.DocString_pb2 import Member
  from streamlit.runtime.metrics_util import gather_metrics
  from streamlit.runtime.scriptrunner.script_runner import __file__
  from streamlit.runtime.secrets import Secrets
  from streamlit.string_util import is_mem_address_str
label_desc: Use image node_id 2 for calling a global function with example usage: _get_name(obj) and returns: getattr, name