class_docstr: Base class for reporting progress while running inference.
docstr: Context manager that wraps the warehouse context fetching step.
docstr_tok: ["Context","manager","that","wraps","the","warehouse","context","fetching","step","."]
code: def warehouse() -> Iterator[None]:
      """Context manager that wraps the warehouse context fetching step."""
      raise NotImplementedError
  
imports: from __future__ import annotations
  import contextlib
  import logging
  from abc import ABC, abstractmethod
  from collections import defaultdict
  from typing import Iterator, List
  import more_itertools
  from metricflow.dataflow.sql_table import SqlTable
  from metricflow.inference.context.base import InferenceContextProvider
  from metricflow.inference.context.data_warehouse import DataWarehouseInferenceContextProvider
  from metricflow.inference.renderer.base import InferenceRenderer
  from metricflow.inference.rule.base import InferenceRule
  from metricflow.inference.solver.base import InferenceSolver
label_desc: Use image node_id 1 for calling the InferenceProgressReporter obj's underlying member method code with example usage: obj.warehouse() without return types