pySimBlocks.gui.services.project_saver¶
- class pySimBlocks.gui.services.project_saver.ProjectSaver[source]¶
Bases:
ABCDefine the interface for project persistence services.
- abstractmethod save(project_state: ProjectState, block_items: dict[str, BlockItem] | None = None)[source]¶
Persist the current project state.
- Parameters:
project_state – Project state to save.
block_items – Optional GUI block items used to persist layout data.
- abstractmethod export(project_state: ProjectState, block_items: dict[str, BlockItem] | None = None)[source]¶
Export the current project state into runnable project artifacts.
- Parameters:
project_state – Project state to export.
block_items – Optional GUI block items used to persist layout data.
- class pySimBlocks.gui.services.project_saver.ProjectSaverYaml[source]¶
Bases:
ProjectSaverSave and export projects using the YAML project format.
- save(project_state: ProjectState, block_items: dict[str, BlockItem] | None = None)[source]¶
Write the project YAML file to disk.
- Parameters:
project_state – Project state to save.
block_items – Optional GUI block items used to persist layout data.
- export(project_state: ProjectState, block_items: dict[str, BlockItem] | None = None)[source]¶
Export the project YAML file and generated run script.
- Parameters:
project_state – Project state to export.
block_items – Optional GUI block items used to persist layout data.
- Raises:
ValueError – If the project directory is not defined.