code: def __init__(self, func, role="func", doc=None, config=None):
      self._f = func
      self._role = role  # e.g. "func" or "meth"
  
      if doc is None:
          if func is None:
              raise ValueError("No function or docstring given")
          doc = inspect.getdoc(func) or ""
      if config is None:
          config = {}
      NumpyDocString.__init__(self, doc, config)
  
imports: import inspect
  import textwrap
  import re
  import pydoc
  from warnings import warn
  from collections import namedtuple
  from collections.abc import Callable, Mapping
  import copy
  import sys
label_desc: Use image node_id 1 to create a new FunctionDoc object from inherited base classes: NumpyDocString with example: obj = FunctionDoc(func, role, doc, config)