class_docstr: Stores table snapshots generated by parsing YAML files.
docstr: Initializer.
  
  Args:
      config_directory: directory that should be searched for YAML files containing test cases.
docstr_tok: ["Initializer",".","Args",":","config_directory",":","directory","that","should","be","searched","for","YAML","files","containing","test","cases","."]
code: def __init__(self, config_directory: Path) -> None:
      """Initializer.
  
      Args:
          config_directory: directory that should be searched for YAML files containing test cases.
      """
      self._config_directory = config_directory
      self._yaml_paths = (
          SqlTableSnapshotRepository._find_all_yaml_file_paths(
              self._config_directory
          )
      )
      self._table_snapshots: OrderedDict[
          str, SqlTableSnapshot
      ] = OrderedDict()
  
      for file_path in self._yaml_paths:
          table_snapshots = (
              SqlTableSnapshotRepository._parse_config_yaml(file_path)
          )
          for table_snapshot in table_snapshots:
              if table_snapshot.table_name in self._table_snapshots:
                  raise ValueError(
                      f"Table with duplicate name found: {table_snapshot.table_name}. "
                      f"Conflicting paths: {table_snapshot.file_path} "
                      f"{self._table_snapshots[table_snapshot.table_name].file_path}"
                  )
              self._table_snapshots[
                  table_snapshot.table_name
              ] = table_snapshot
  
imports: from __future__ import annotations
  import datetime
  import logging
  import os
  from collections import OrderedDict
  from dataclasses import dataclass
  from enum import Enum
  from pathlib import Path
  from typing import List, Optional, Sequence, Tuple, Union
  import dateutil.parser
  import pandas
  import yaml
  from dbt_semantic_interfaces.enum_extension import assert_values_exhausted
  from dbt_semantic_interfaces.implementations.base import FrozenBaseModel
  from metricflow.dataflow.sql_table import SqlTable
  from metricflow.specs.specs import hash_items
  from metricflow.test.fixtures.sql_clients.ddl_sql_client import SqlClientWithDDLMethods
label_desc: Use image node_id 1 to create a new SqlTableSnapshotRepository object  with example: obj = SqlTableSnapshotRepository(config_directory)