docs: def DocumentPackages(self, packages, index_base=None, showprivate=False,
                           notify=True, showinh=False, intro_pages=None,
                           append_material=None, extra=None):
          """This is the high level API to use to generate documentation pages for any given package(s).
  
          Args:
              packages (list(module)): A list of packages that contain submodules to document
              index_base (str): The index page file name. This content will be appended
              showprivate (bool): A flag for whether or not to display private members
          """
          if index_base is None:
              gram = ''
              if isinstance(packages, list) and len(packages) > 1:
                  gram = 's'
                  if len(packages) < 3:
                      names = ' and '.join(['``%s``' % p.__name__ for p in packages])
                  else:
                      names = ['``%s``' % p.__name__ for p in packages]
                      names[-1] = ' and %s' % names[-1]
                      names = ', '.join(names)
              else:
                  names = '``%s``' % packages.__name__
              index = SAMPLE_INDEX.format(names, gram)
          else:
              index = self.OpenIndex(index_base)
          app = self._DocPackageFromTop(packages, showprivate=showprivate, showinh=showinh)
          index += self._GenerateStaticsTable()
          index += """
  .. toctree::
     :hidden:
  
     self
  """
          if intro_pages is not None:
              if isinstance(intro_pages, str):
                  intro_pages = [intro_pages]
              for page in intro_pages:
                  index += '   {}\n'.format(page.strip())
          index += '\n'
          if append_material is not None:
              index += append_material
          index += app
  
          if extra is not None:
              index += extra
          if notify:
              index += """
  
  .. admonition:: Docs Automatically Generated
     :class: note
  
     `Learn more`_ about automatic documentation
  
  .. _Learn more: https://gendocs.readthedocs.io/en/latest/
  
  """
          self.WriteIndex(index)
          return None