code: def pad_width(model, table_padding=0.85, tabs_padding=1.2):
      
      if isinstance(model, Row):
          vals = [pad_width(child) for child in model.children]
          width = np.max([v for v in vals if v is not None])
      elif isinstance(model, Column):
          vals = [pad_width(child) for child in model.children]
          width = np.sum([v for v in vals if v is not None])
      elif isinstance(model, Tabs):
          vals = [pad_width(t) for t in model.tabs]
          width = np.max([v for v in vals if v is not None])
          for model in model.tabs:
              model.width = width
              width = int(tabs_padding*width)
      elif isinstance(model, DataTable):
          width = model.width
          model.width = int(table_padding*width)
      elif isinstance(model, (WidgetBox, Div)):
          width = model.width
      elif model:
          width = model.plot_width
      else:
          width = 0
      return width
docs: Computes the width of a model and sets up appropriate padding
      for Tabs and DataTable types.