class_docstr: Class for printing other information related to an object that is
  of use to the user.
class_docstr_tok: ["Class","for","printing","other","information","related","to","an","object","that","is","of","use","to","the","user","."]
docstr: Get parameter information from the supplied class or object.
docstr_tok: ["Get","parameter","information","from","the","supplied","class","or","object","."]
code: def get_parameter_info(
      cls,
      obj,
      ansi=False,
      show_values=True,
      pattern=None,
      max_col_len=40,
  ):
      """
      Get parameter information from the supplied class or object.
      """
      if cls.ppager is None:
          return ""
      if pattern is not None:
          obj = ParamFilter(obj, ParamFilter.regexp_filter(pattern))
          if len(list(obj.param)) <= 1:
              return None
      param_info = cls.ppager.get_param_info(obj)
      param_list = cls.ppager.param_docstrings(param_info)
      if not show_values:
          retval = (
              cls.ansi_escape.sub("", param_list)
              if not ansi
              else param_list
          )
          return cls.highlight(pattern, retval)
      else:
          info = cls.ppager(obj)
          if ansi is False:
              info = cls.ansi_escape.sub("", info)
          return cls.highlight(pattern, info)
  
imports: import re
  import textwrap
  import param
  from param.ipython import ParamPager
  from param.parameterized import bothmethod
  from .util import group_sanitizer, label_sanitizer
label_desc: Use image node_id 1 for calling the InfoPrinter obj's underlying member method code with example usage: obj.get_parameter_info(cls, obj, ansi, show_values, pattern, max_col_len) and returns: str, cls, cls, None