class_docstr: Pipeline of modules for generating sections and a final report.
docstr: Initialize an instance of Report.
  
  :param Settings settings: the configuration object
  :param str sections_key: key to store sections data in the datastore
  :param str store_key: key to store the HTML report data in the datastore
docstr_tok: ["Initialize","an","instance","of","Report",".",":","param","Settings","settings",":","the","configuration","object",":","param","str","sections_key",":","key","to","store","sections","data","in","the","datastore",":","param","str","store_key",":","key","to","store","the","HTML","report","data","in","the","datastore"]
code: def __init__(
      self,
      settings: Settings,
      sections_key: str = "report_sections",
      store_key: str = "html_report",
  ) -> None:
      """Initialize an instance of Report.
  
      :param Settings settings: the configuration object
      :param str sections_key: key to store sections data in the datastore
      :param str store_key: key to store the HTML report data in the datastore
      """
      self.store_key = store_key
  
      modules = [
          OverviewSectionGenerator(
              read_key="traffic_lights",
              store_key=sections_key,
              settings=settings.report,
              reference_type=settings.reference_type,
              time_axis=settings.time_axis,
              bin_specs=settings.bin_specs,
          ),
          # generate section with histogram
          HistogramSection(
              read_key="split_hists",
              store_key=sections_key,
              hist_name_starts_with="histogram",
              reference_type=settings.reference_type,
              settings=settings.report.section.histograms,
          ),
          # section showing all traffic light alerts of monitored statistics
          TrafficLightSectionGenerator(
              read_key="traffic_lights",
              store_key=sections_key,
              settings=settings.report,
          ),
          # section with a summary of traffic light alerts
          AlertSectionGenerator(
              read_key="alerts",
              store_key=sections_key,
              settings=settings.report,
          ),
          # section of histogram and pull comparison statistics
          SectionGenerator(
              dynamic_bounds="dynamic_bounds_comparisons",
              static_bounds="static_bounds_comparisons",
              section_name=settings.report.section.comparisons.name,
              ignore_stat_endswith=["_mean", "_std", "_pull"],
              read_key="comparisons",
              description=settings.report.section.comparisons.description,
              store_key=sections_key,
              settings=settings.report,
          ),
          # section of profiled statistics with dynamic or static traffic light bounds
          SectionGenerator(
              dynamic_bounds="dynamic_bounds",
              section_name=settings.report.section.profiles.name,
              static_bounds="static_bounds",
              ignore_stat_endswith=["_mean", "_std", "_pull"],
              read_key="profiles",
              description=settings.report.section.profiles.description,
              store_key=sections_key,
              settings=settings.report,
          ),
          # generate report
          ReportGenerator(
              read_key=sections_key,
              store_key=store_key,
              settings=settings.report,
          ),
      ]
      if (
          isinstance(settings.report.report_filepath, (str, Path))
          and len(str(settings.report.report_filepath)) > 0
      ):
          modules.append(
              FileWriter(
                  store_key, file_path=settings.report.report_filepath
              )
          )
  
      super().__init__(modules=modules)
  
imports: from pathlib import Path
  from typing_extensions import Literal
  from popmon.base import Pipeline
  from popmon.config import Settings
  from popmon.io import FileWriter
  from popmon.pipeline.metrics_pipelines import ExpandingReferenceMetricsPipeline, ExternalReferenceMetricsPipeline, RollingReferenceMetricsPipeline, SelfReferenceMetricsPipeline
  from popmon.visualization import AlertSectionGenerator, HistogramSection, ReportGenerator, SectionGenerator, TrafficLightSectionGenerator
  from popmon.visualization.overview_section import OverviewSectionGenerator
label_desc: Use image node_id 1 to create a new ReportPipe object from inherited base classes: Pipeline with example: obj = ReportPipe(settings, sections_key, store_key)