class_docstr: Helps build source nodes to use in the dataflow plan builder.
  
  The current use case is for creating a set of input nodes from a data set to support multiple aggregation time
  dimensions. Each data set is converted into k DataFlowPlan nodes.
code: def __init__(
      self, semantic_manifest_lookup: SemanticManifestLookup
  ) -> None:  # noqa: D
      self._semantic_manifest_lookup = semantic_manifest_lookup
  
file_path: metricflow/metricflow/dataflow/builder/source_node.py
imports: from __future__ import annotations
  from typing import List, Sequence
  from metricflow.dataflow.dataflow_plan import BaseOutput, MetricTimeDimensionTransformNode, ReadSqlSourceNode
  from metricflow.dataset.semantic_model_adapter import SemanticModelDataSet
  from metricflow.model.semantic_manifest_lookup import SemanticManifestLookup
label_desc: Use image node_id 1 to create a new SourceNodeBuilder object  with example: obj = SourceNodeBuilder(semantic_manifest_lookup)