code: def get_plugin_name(plugin):
      """
      Plugins can be passed as module objects, however this breaks caching as
      module objects cannot be pickled. To work around this, all plugins are
      stringified post-initialization.
      """
      if inspect.isclass(plugin):
          return plugin.__qualname__
  
      if inspect.ismodule(plugin):
          return plugin.__name__
  
      return type(plugin).__qualname__
  
file_path: pelican/pelican/plugins/_utils.py
imports: import importlib
  import importlib.machinery
  import importlib.util
  import inspect
  import logging
  import pkgutil
  import sys
label_desc: Use image node_id 7 for calling a global function with example usage: get_plugin_name(plugin) and returns: type, plugin, plugin