class_docstr: Protocol defining the interface of a Dask collection.
class_docstr_tok: ["Protocol","defining","the","interface","of","a","Dask","collection","."]
docstr: Rebuilder function and optional arguments to construct a persisted collection.
  
  See also the documentation for :py:class:`dask.typing.PostPersistCallable`.
  
  Returns
  -------
  PostPersistCallable
      Callable that rebuilds the collection. The signature
      should be
      ``rebuild(dsk: Mapping, *args: Any, rename: Mapping[str, str] | None)``
      (as defined by the
      :py:class:`~dask.typing.PostPersistCallable` protocol).
      The callable should return an equivalent Dask collection
      with the same keys as `self`, but with results that are
      computed through a different graph. In the case of
      :py:func:`dask.persist`, the new graph will have just the
      output keys and the values already computed.
  tuple[Any, ...]
      Optional arguments passed to the rebuild callable. If no
      additional arguments are to be passed then this must be an
      empty tuple.
docstr_tok: ["Rebuilder","function","and","optional","arguments","to","construct","a","persisted","collection",".","See","also","the","documentation","for",":","py",":","class",":","`","dask.typing.PostPersistCallable","`",".","Returns","--","--","--","-","PostPersistCallable","Callable","that","rebuilds","the","collection",".","The","signature","should","be","``","rebuild","(","dsk",":","Mapping",",","*","args",":","Any",",","rename",":","Mapping","[","str",",","str","]","|","None",")","``","(","as","defined","by","the",":","py",":","class",":","`","~dask.typing.PostPersistCallable","`","protocol",")",".","The","callable","should","return","an","equivalent","Dask","collection","with","the","same","keys","as","`","self","`",",","but","with","results","that","are","computed","through","a","different","graph",".","In","the","case","of",":","py",":","func",":","`","dask.persist","`",",","the","new","graph","will","have","just","the","output","keys","and","the","values","already","computed",".","tuple","[","Any",",","...","]","Optional","arguments","passed","to","the","rebuild","callable",".","If","no","additional","arguments","are","to","be","passed","then","this","must","be","an","empty","tuple","."]
code: def __dask_postpersist__(self) -> tuple[PostPersistCallable, tuple]:
      """Rebuilder function and optional arguments to construct a persisted collection.
  
      See also the documentation for :py:class:`dask.typing.PostPersistCallable`.
  
      Returns
      -------
      PostPersistCallable
          Callable that rebuilds the collection. The signature
          should be
          ``rebuild(dsk: Mapping, *args: Any, rename: Mapping[str, str] | None)``
          (as defined by the
          :py:class:`~dask.typing.PostPersistCallable` protocol).
          The callable should return an equivalent Dask collection
          with the same keys as `self`, but with results that are
          computed through a different graph. In the case of
          :py:func:`dask.persist`, the new graph will have just the
          output keys and the values already computed.
      tuple[Any, ...]
          Optional arguments passed to the rebuild callable. If no
          additional arguments are to be passed then this must be an
          empty tuple.
  
      """
      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 4 for calling the DaskCollection obj's underlying member method code with example usage: obj.__dask_postpersist__() without return types