Source code for eclypse.report.reporters

"""Package for managing simulation reporters, including the off-the-shelf ones."""

from eclypse.report.reporter import Reporter
from eclypse.utils.defaults import (
    CSV_REPORT_DIR,
    GML_REPORT_DIR,
    JSON_REPORT_DIR,
    PARQUET_REPORT_DIR,
    TENSORBOARD_REPORT_DIR,
)
from .csv import CSVReporter
from .gml import GMLReporter
from .json import JSONReporter
from .parquet import ParquetReporter
from .tensorboard import TensorBoardReporter


[docs] def get_default_reporters( requested_reporters: list[str] | None, ) -> dict[str, type[Reporter]]: """Get the default reporters, comprising CSV, GML, JSON, Parquet, and TensorBoard. Args: requested_reporters (list[str] | None): The list of requested reporters. Returns: dict[str, type[Reporter]]: The default reporters. """ default_reporters: dict[str, type[Reporter]] = { CSV_REPORT_DIR: CSVReporter, GML_REPORT_DIR: GMLReporter, JSON_REPORT_DIR: JSONReporter, PARQUET_REPORT_DIR: ParquetReporter, TENSORBOARD_REPORT_DIR: TensorBoardReporter, } return ( {k: v for k, v in default_reporters.items() if k in requested_reporters} if requested_reporters else {} )
__all__ = [ "CSVReporter", "GMLReporter", "JSONReporter", "ParquetReporter", "TensorBoardReporter", "get_default_reporters", ]