code: def __init__(
      self, filename: str = None, port: int = 0, srv_name: str = None
  ):
      super(Watcher, self).__init__()
  
      self.port = port
      self.filename = filename
  
      # used to detect server restarts
      self.srv_name = srv_name or str(uuid.uuid4())
  
      # define vars in __init__
      self._clisrv = None
      self._zmq_stream_pub = None
      self._file = None
      self._th = None
  
      self._open_devices()
  
file_path: tensorwatch/tensorwatch/watcher.py
imports: import uuid
  from typing import Sequence
  from .zmq_wrapper import ZmqWrapper
  from .watcher_base import WatcherBase
  from .lv_types import CliSrvReqTypes
  from .lv_types import DefaultPorts, PublisherTopics, ServerMgmtMsg
  from .None import utils
  import threading, time
label_desc: Use image node_id 1 to create a new Watcher object from inherited base classes: WatcherBase with example: obj = Watcher(filename, port, srv_name)