code: def __init__(self, *args, **kw):
      assert self.get_data is not None
      assert self.get_detail is not None
      with StatusWin("Reading data"):
          data, logs = self._init_data()
      self.logs = logs
      args = (args[0], data) + args[2:]
      kw["column_widths"] = self._column_widths(data)
      # pylint: disable=non-parent-init-called
      ViewerBase.__init__(self, *args, **kw)
  
imports: import curses
  import logging
  from tabview import tabview
label_desc: Use image node_id 1 to create a new Viewer object from inherited base classes: ViewerBase with example: obj = Viewer()