class_docstr: A node in a DAG. These should be immutable.
class_docstr_tok: ["A","node","in","a","DAG",".","These","should","be","immutable","."]
docstr: The prefix to use when generating IDs for nodes.
  
  e.g. a prefix of "my_node" will generate an ID like "my_node_0"
docstr_tok: ["The","prefix","to","use","when","generating","IDs","for","nodes",".","e.g",".","a","prefix","of","``","my_node","''","will","generate","an","ID","like","``","my_node_0","''"]
code: def id_prefix(cls) -> str:
      """The prefix to use when generating IDs for nodes.
  
      e.g. a prefix of "my_node" will generate an ID like "my_node_0"
      """
      pass
  
imports: from __future__ import annotations
  import html
  import logging
  import textwrap
  from abc import ABC, abstractmethod
  from dataclasses import dataclass
  from typing import Any, Generic, List, Sequence, TypeVar
  import jinja2
  from metricflow.dag.id_generation import IdGeneratorRegistry
  from metricflow.dag.id_prefix import IdPrefix
  from metricflow.dag.prefix_id import PrefixIdGenerator
  from metricflow.visitor import VisitorOutputT
label_desc: Use image node_id 8 for calling the DagNode obj's underlying member method code with example usage: obj.id_prefix(cls) without return types