code: def rst_table_header(
      name=None, header=None, header_rows=1, widths="auto"
  ):  # noqa: D417
      """Create header for rst table.
  
      Args:
          name (str): Name of the table
          header (list[str]): Column names
          header-rows (int): Number of header rows
          width (optional[list[int]]): Width of each column as a list. If not specified
              defaults to auto and will therefore determined by the backend
              (see <https://docutils.sourceforge.io/docs/ref/rst/directives.html#table>)
  
      Returns:
          str
      """
      if isinstance(widths, list):
          widths = " ".join([str(w) for w in widths])
  
      header = rst_table_row(header)
  
      table_header = (
          f".. list-table:: {name}\n"
          f"    :header-rows: {header_rows}\n"
          f"    :widths: {widths}\n"
          f"    :class: datatable\n\n"
          f"{header}"
      )
  
      return table_header
  
imports: from yaml import BaseLoader
  from satpy.readers import available_readers
label_desc: Use image node_id 2 for calling a global function with example usage: rst_table_header(name, header, header_rows, widths) and returns: table_header