code: def pprint(msg):
      msg_class = msg.__class__.__name__
      msg_size = msg.ByteSize()
      
      if isinstance(msg, proto.FirmwareUpload):
          return "<%s> (%d bytes):\n" % (msg_class, msg_size)
      else:
          return "<%s> (%d bytes):\n%s" % (msg_class, msg_size, msg)
docs: msg_ser = msg.SerializeToString()
      msg_id = mapping.get_type(msg)
      msg_json = json.dumps(protobuf_json.pb2json(msg))