class_docstr: A custom message that will be passed from the Python widget to the
  front-end.
  
  When creating new messages, use this class as it defines a concrete schema
  for the message and prevents loosely creating `dict` objects everywhere.
  Use `to_dict()` to obtain the message in a form that can be sent through
  IPyWidgets.
docstr: Create a new PerspectiveWidgetMessage.
docstr_tok: ["Create","a","new","PerspectiveWidgetMessage","."]
code: def __init__(self, msg_id, msg_type, msg_data):
      """Create a new PerspectiveWidgetMessage."""
      self.id = msg_id
      self.type = msg_type
      self.data = msg_data
  
imports: import base64
  import jinja2
  import json
  import os
  from datetime import date, datetime
  from functools import partial
  import numpy
  import pandas
  from ipywidgets import DOMWidget
  from traitlets import Unicode, observe
  from ..core._version import __version__
  from ..core.data import deconstruct_pandas
  from ..core.exception import PerspectiveError
  from ..libpsp import is_libpsp
  from ..viewer import PerspectiveViewer
label_desc: Use image node_id 1 to create a new _PerspectiveWidgetMessage object from inherited base classes: object with example: obj = _PerspectiveWidgetMessage(msg_id, msg_type, msg_data)