ParsedSiwaveLog#
- class pyedb.workflows.utilities.siwave_log_parser.ParsedSiwaveLog#
Root container returned by SiwaveLogParser.parse().
This class holds all parsed information from a SIwave log file and provides convenience methods for checking completion status, generating summaries, and exporting data.
- Attributes:
- aedt
AEDTVersion AEDT version information extracted from log header.
- batch
BatchInfo Batch run metadata including timestamps and user info.
- settings
SimSettings Simulation settings and configuration.
- warnings
listofWarningEntry Warning entries from the log. The default is an empty list.
- profile
listofProfileEntry Profile/timing entries showing task performance. The default is an empty list.
- aedt
Examples
>>> from datetime import datetime >>> from pathlib import Path >>> log = ParsedSiwaveLog( ... aedt=AEDTVersion(version="2025.1", build="123", location="C:\AEDT"), ... batch=BatchInfo( ... path="C:\project\test.siw", ... started=datetime(2025, 11, 10, 9, 0, 0), ... stopped=datetime(2025, 11, 10, 10, 0, 0), ... run_by="engineer", ... temp_dir="C:\temp", ... project_dir="C:\project", ... status="Normal Completion", ... ), ... settings=SimSettings( ... design_type="SIwave", ... allow_off_core=True, ... manual_settings=False, ... two_level=False, ... distribution_types=["Local"], ... machines=[], ... ), ... ) >>> log.is_completed() True
Overview#
Print a summary of the parsed log to stdout. |
|
Check if the simulation completed normally. |
|
Check if the simulation was aborted. |
|
Serialize parsed log to JSON file. |
|
Deep-convert the entire object to JSON-serializable primitives. |
Import detail#
from pyedb.workflows.utilities.siwave_log_parser import ParsedSiwaveLog
Attribute detail#
- ParsedSiwaveLog.aedt: AEDTVersion#
- ParsedSiwaveLog.settings: SimSettings#
- ParsedSiwaveLog.warnings: list[WarningEntry] = []#
- ParsedSiwaveLog.profile: list[ProfileEntry] = []#
Method detail#
- ParsedSiwaveLog.summary() None#
Print a summary of the parsed log to stdout.
Examples
>>> log = ParsedSiwaveLog(aedt=..., batch=..., settings=...) >>> log.summary() Project : test_design Run by : engineer Started : Mon Nov 10 09:00:00 2025 Stopped : Mon Nov 10 10:00:00 2025 Status : Normal Completion Warnings: 0 Profile entries: 0
- ParsedSiwaveLog.is_completed() bool#
Check if the simulation completed normally.
- Returns:
- bool
Trueif status is'Normal Completion',Falseotherwise.
Examples
>>> log = ParsedSiwaveLog( ... aedt=AEDTVersion("2025.1", "123", "C:\AEDT"), ... batch=BatchInfo( ... path="test.siw", ... started=datetime(2025, 1, 1), ... stopped=datetime(2025, 1, 1), ... run_by="user", ... temp_dir="", ... project_dir="", ... status="Normal Completion", ... ), ... settings=SimSettings("", False, False, False, [], []), ... ) >>> log.is_completed() True
- ParsedSiwaveLog.is_aborted() bool#
Check if the simulation was aborted.
- Returns:
- bool
Trueif simulation did not complete normally,Falseotherwise.
Examples
>>> log = ParsedSiwaveLog( ... aedt=AEDTVersion("2025.1", "123", "C:\AEDT"), ... batch=BatchInfo( ... path="test.siw", ... started=datetime(2025, 1, 1), ... stopped=datetime(2025, 1, 1), ... run_by="user", ... temp_dir="", ... project_dir="", ... status="Aborted", ... ), ... settings=SimSettings("", False, False, False, [], []), ... ) >>> log.is_aborted() True
- ParsedSiwaveLog.to_json(fp: str, **kw) None#
Serialize parsed log to JSON file.
- Parameters:
- fp
str File path to write JSON to.
- **kw
Additional keyword arguments passed to
json.dumps().
- fp
Examples
>>> log = ParsedSiwaveLog(aedt=..., batch=..., settings=...) >>> log.to_json("output.json", indent=2)
- ParsedSiwaveLog.to_dict() dict#
Deep-convert the entire object to JSON-serializable primitives.
- Returns:
dictPlain dict/list/scalar structure suitable for JSON serialization.
Examples
>>> log = ParsedSiwaveLog(aedt=..., batch=..., settings=...) >>> data_dict = log.to_dict() >>> isinstance(data_dict, dict) True >>> "aedt" in data_dict True