code: def plain_table(
      ui: "Console",
      data: TableData,
      headers: Optional[Headers] = None,
      markdown: bool = False,
      pager: bool = False,
      force: bool = True,
  ) -> None:
      from funcy import nullcontext
      from tabulate import tabulate
  
      text: str = tabulate(
          data,
          headers if headers is not None else (),
          tablefmt="github" if markdown else "plain",
          disable_numparse=True,
          # None will be shown as "" by default, overriding
          missingval="-",
      )
      if markdown:
          # NOTE: md table is incomplete without the trailing newline
          text += "\n"
  
      cm = ui.pager() if pager else nullcontext()
      with cm:
          ui.write(text, force=force)
  
file_path: dvc/dvc/ui/table.py
imports: from collections import abc
  from contextlib import ExitStack, contextmanager
  from itertools import zip_longest
  from typing import TYPE_CHECKING, Dict, Iterator, Optional, Sequence, Union
  from dvc.types import DictStrAny
label_desc: Use image node_id 1 for calling a global function with example usage: plain_table(ui, data, headers, markdown, pager, force) without return types