code: def _extract_params_doc(docstr):
      pat = re.compile(
          r"^:param (?P<type>.*? )?(?P<name>\w+):\s?(?P<doc>.*)"
      )  # match param doc-start in Sphinx format ":param type name: description"
      lines = docstr.splitlines()
      param, ptype, pdoc = None, None, None
      for l in lines:
          m = pat.match(l)
          if m:
              if param:
                  fulldoc = "\n".join(pdoc)
                  if ptype:
                      fulldoc += "\n\nType: %s" % ptype
                  _params_doc_[param] = fulldoc
  
              param = m.group("name")
              ptype = m.group("type")
              pdoc = [m.group("doc")]
          elif param:
              pdoc.append(l)
  
imports: import functools
  from inspect import getdoc
  import re
  import h2o
  from h2o.base import Keyed
  from h2o.estimators import H2OEstimator
  from h2o.exceptions import H2OResponseError, H2OValueError
  from h2o.frame import H2OFrame
  from h2o.job import H2OJob
  from h2o.utils.compatibility import *
  from h2o.utils.shared_utils import check_id
  from h2o.utils.typechecks import assert_is_type, is_type, numeric
  from ._base import H2OAutoMLBaseMixin, _fetch_state
label_desc: Use image node_id 1 for calling a global function with example usage: _extract_params_doc(docstr) without return types