class_docstr: Interface for defining write-related logic.
  
  If you want to write data to something that isn't built-in, subclass this class
  and call :meth:`~ray.data.Dataset.write_datasink`.
class_docstr_tok: ["Interface","for","defining","write-related","logic",".","If","you","want","to","write","data","to","something","that","is","n't","built-in",",","subclass","this","class","and","call",":","meth",":","`","~ray.data.Dataset.write_datasink","`","."]
docstr: Return a human-readable name for this datasink.
  
  This is used as the names of the write tasks.
docstr_tok: ["Return","a","human-readable","name","for","this","datasink",".","This","is","used","as","the","names","of","the","write","tasks","."]
code: def get_name(self) -> str:
      """Return a human-readable name for this datasink.
  
      This is used as the names of the write tasks.
      """
      name = type(self).__name__
      datasink_suffix = "Datasink"
      if name.startswith("_"):
          name = name[1:]
      if name.endswith(datasink_suffix):
          name = name[: -len(datasink_suffix)]
      return name
  
file_path: ray/python/ray/data/datasource/datasink.py
imports: from typing import Any, Iterable, List
  from ray.data._internal.execution.interfaces import TaskContext
  from ray.data.block import Block
  from ray.util.annotations import DeveloperAPI
label_desc: Use image node_id 5 for calling the Datasink obj's underlying member method code with example usage: obj.get_name() and returns: name