class_docstr: Internal, not intended for use outside of this module.
  Class name becomes o['type'], and all non reserved_fields become JSON-typed key
docstr: Returns JSON-compatible dictionry {"type": "ClassName", "arg1": val1, ...}
  Emits all non-reserved instance fields
code: def to_json(self, validate=True) -> Dict[str, JSONVal]:
      """
      Returns JSON-compatible dictionry {"type": "ClassName", "arg1": val1, ...}
      Emits all non-reserved instance fields
      """
      if validate:
          self.validate()
      data: Dict[str, JSONVal] = {"type": self.__class__.__name__}
      for key, value in self.__dict__.items():
          if key not in self.reserved_fields:
              data[key] = serialize_to_json_val(value)
      return data
  
file_path: pygraphistry/graphistry/compute/ASTSerializable.py
imports: from abc import ABC, abstractmethod
  from typing import Dict
  import pandas
  from graphistry.utils.json import JSONVal, serialize_to_json_val
label_desc: Use image node_id 2 for calling the ASTSerializable obj's underlying member method code with example usage: obj.to_json(validate) and returns: data