class_docstr: Protocol defining the interface of a Dask collection.
class_docstr_tok: ["Protocol","defining","the","interface","of","a","Dask","collection","."]
docstr: The output keys of the task graph.
  
  Note that there are additional constraints on keys for a Dask
  collection than those described in the :doc:`task graph
  specification documentation <spec>`. These additional
  constraints are described below.
  
  All keys must either be non-empty strings or tuples where the first element is a
  non-empty string, followed by zero or more arbitrary str, bytes, int, float, or
  tuples thereof. The non-empty string is commonly known as the *collection name*.
  All collections embedded in the dask package have exactly one name, but this is
  not a requirement.
  
  These are all valid outputs:
  
  - ``[]``
  - ``["x", "y"]``
  - ``[[("y", "a", 0), ("y", "a", 1)], [("y", "b", 0), ("y", "b", 1)]``
  
  Returns
  -------
  list
      A possibly nested list of keys that represent the outputs
      of the graph. After computation, the results will be
      returned in the same layout, with the keys replaced with
      their corresponding outputs.
docstr_tok: ["The","output","keys","of","the","task","graph",".","Note","that","there","are","additional","constraints","on","keys","for","a","Dask","collection","than","those","described","in","the",":","doc",":","`","task","graph","specification","documentation","<","spec",">","`",".","These","additional","constraints","are","described","below",".","All","keys","must","either","be","non-empty","strings","or","tuples","where","the","first","element","is","a","non-empty","string",",","followed","by","zero","or","more","arbitrary","str",",","bytes",",","int",",","float",",","or","tuples","thereof",".","The","non-empty","string","is","commonly","known","as","the","*","collection","name","*",".","All","collections","embedded","in","the","dask","package","have","exactly","one","name",",","but","this","is","not","a","requirement",".","These","are","all","valid","outputs",":","-","``","[","]","``","-","``","[","``","x","''",",","``","y","''","]","``","-","``","[","[","(","``","y","''",",","``","a","''",",","0",")",",","(","``","y","''",",","``","a","''",",","1",")","]",",","[","(","``","y","''",",","``","b","''",",","0",")",",","(","``","y","''",",","``","b","''",",","1",")","]","``","Returns","--","--","--","-","list","A","possibly","nested","list","of","keys","that","represent","the","outputs","of","the","graph",".","After","computation",",","the","results","will","be","returned","in","the","same","layout",",","with","the","keys","replaced","with","their","corresponding","outputs","."]
code: def __dask_keys__(self) -> NestedKeys:
      """The output keys of the task graph.
  
      Note that there are additional constraints on keys for a Dask
      collection than those described in the :doc:`task graph
      specification documentation <spec>`. These additional
      constraints are described below.
  
      All keys must either be non-empty strings or tuples where the first element is a
      non-empty string, followed by zero or more arbitrary str, bytes, int, float, or
      tuples thereof. The non-empty string is commonly known as the *collection name*.
      All collections embedded in the dask package have exactly one name, but this is
      not a requirement.
  
      These are all valid outputs:
  
      - ``[]``
      - ``["x", "y"]``
      - ``[[("y", "a", 0), ("y", "a", 1)], [("y", "b", 0), ("y", "b", 1)]``
  
      Returns
      -------
      list
          A possibly nested list of keys that represent the outputs
          of the graph. After computation, the results will be
          returned in the same layout, with the keys replaced with
          their corresponding outputs.
  
      """
      raise NotImplementedError(
          "Inheriting class must implement this method."
      )
  
imports: from __future__ import annotations
  import abc
  from collections.abc import Callable, Hashable, Mapping, Sequence
  from enum import Enum
  from typing import TYPE_CHECKING, Any, Literal, Protocol, TypeVar, Union, runtime_checkable
label_desc: Use image node_id 2 for calling the DaskCollection obj's underlying member method code with example usage: obj.__dask_keys__() without return types