code: def __init__(self, watcher, filename: str = None) -> None:
      self.filename = filename or (
          path.splitext(watcher.filename)[0] + ".ipynb"
          if watcher.filename
          else "tensorwatch.ipynb"
      )
  
      self.cells = []
      self._default_vis_args = VisArgs()
  
      watcher_args_str = NotebookMaker._get_vis_args(watcher)
  
      # create initial cell
      self.cells.append(
          new_code_cell(
              source=linesep.join(
                  [
                      "%matplotlib notebook",
                      "import tensorwatch as tw",
                      "client = tw.WatcherClient({})".format(
                          NotebookMaker._get_vis_args(watcher)
                      ),
                  ]
              )
          )
      )
  
file_path: tensorwatch/tensorwatch/notebook_maker.py
imports: import nbformat
  from nbformat.v4 import new_code_cell, new_markdown_cell, new_notebook
  from nbformat import v3, v4
  import codecs
  from os import linesep, path
  import uuid
  from .None import utils
  import re
  from typing import List
  from .lv_types import VisArgs
label_desc: Use image node_id 1 to create a new NotebookMaker object  with example: obj = NotebookMaker(watcher, filename)