Inspect the results#

ECLYPSE stores simulation outputs on disk and exposes them through the Report interface.

The report API gives you two main choices:

  • the report format, which controls how data is written to disk,

  • the report backend, which controls the dataframe implementation returned when you query the report.

Choose the report format#

Use the report_format parameter of SimulationConfig to choose how the raw data is written:

  • "csv": easy to inspect manually,

  • "json": useful for structured debugging and integration,

  • "parquet": best suited to larger runs and analytical workloads.

from eclypse.simulation import SimulationConfig

config = SimulationConfig(
    report_format="parquet",
    include_default_metrics=True,
)

Choose the report backend#

Use report_backend to control the in-memory dataframe implementation used by Report:

  • "pandas"

  • "polars"

  • "polars_lazy"

config = SimulationConfig(
    report_backend="polars",
    report_format="parquet",
    include_default_metrics=True,
)

Query report frames#

Once a simulation has completed, you can retrieve report frames either through the convenience methods or through the generic frame() entry point:

report = simulation.report

application_frame = report.application()
service_frame = report.service()
generic_frame = report.frame("interaction")

You can also restrict the data by report range:

recent_steps = report.service(report_range=(10, 20))

Standalone report loading#

Reports can also be loaded later from disk:

from eclypse.report import Report

report = Report("path/to/simulation")
frame = report.application()

If needed, you can explicitly set the format when loading:

report = Report("path/to/simulation", report_format="parquet")