class_docstr: The inference context for a data warehouse. Holds statistics and metadata about each table and column.
class_docstr_tok: ["The","inference","context","for","a","data","warehouse",".","Holds","statistics","and","metadata","about","each","table","and","column","."]
code: def __post_init__(
      self, table_props: List[TableProperties]
  ) -> None:  # noqa: D
      for stats in table_props:
          self.tables[stats.table] = stats
          for column in stats.columns.values():
              self.columns[column.column] = column
  
imports: from __future__ import annotations
  import contextlib
  from abc import ABC, abstractmethod
  from dataclasses import InitVar, dataclass, field
  from datetime import date, datetime
  from enum import Enum
  from typing import Callable, ContextManager, Dict, Generic, Iterator, List, Optional, TypeVar
  from metricflow.dataflow.sql_column import SqlColumn
  from metricflow.dataflow.sql_table import SqlTable
  from metricflow.inference.context.base import InferenceContext, InferenceContextProvider
  from metricflow.protocols.sql_client import SqlClient
label_desc: Use image node_id 1 for calling the DataWarehouseInferenceContext obj's underlying member method code with example usage: obj.__post_init__(table_props) without return types