docstr: Include or update the specified `data` payload in the PayloadManager.
  
  If a previous payload with the same source exists and `single` is True,
  it will be overwritten with the new one.
docstr_tok: ["Include","or","update","the","specified","`","data","`","payload","in","the","PayloadManager",".","If","a","previous","payload","with","the","same","source","exists","and","`","single","`","is","True",",","it","will","be","overwritten","with","the","new","one","."]
code: def write_payload(self, data, single=True):
      """Include or update the specified `data` payload in the PayloadManager.
  
      If a previous payload with the same source exists and `single` is True,
      it will be overwritten with the new one.
      """
  
      if not isinstance(data, dict):
          raise TypeError(
              "Each payload write must be a dict, got: %r" % data
          )
  
      if single and "source" in data:
          source = data["source"]
          for i, pl in enumerate(self._payload):
              if "source" in pl and pl["source"] == source:
                  self._payload[i] = data
                  return
  
      self._payload.append(data)
  
imports: from traitlets.config.configurable import Configurable
  from traitlets import List
label_desc: Use image node_id 1 for calling the PayloadManager obj's underlying member method code with example usage: obj.write_payload(data, single) without return types