class_docstr: An extension for the scheduler to manage collections
  
  *  publish_list
  *  publish_put
  *  publish_get
  *  publish_delete
class_docstr_tok: ["An","extension","for","the","scheduler","to","manage","collections","*","publish_list","*","publish_put","*","publish_get","*","publish_delete"]
code: def put(
      self, keys=None, data=None, name=None, override=False, client=None
  ):
      if not override and name in self.datasets:
          raise KeyError("Dataset %s already exists" % name)
      self.scheduler.client_desires_keys(
          keys, f"published-{stringify(name)}"
      )
      self.datasets[name] = {"data": data, "keys": keys}
      return {"status": "OK", "name": name}
  
file_path: distributed/distributed/publish.py
imports: from __future__ import annotations
  from collections.abc import MutableMapping
  from dask.utils import stringify
  from distributed.utils import log_errors
label_desc: Use image node_id 2 for calling the PublishExtension obj's underlying member method code with example usage: obj.put(keys, data, name, override, client) and returns: dict