diff --git a/petab/v1/models/pysb_model.py b/petab/v1/models/pysb_model.py index 1a615e0f..6927ecb9 100644 --- a/petab/v1/models/pysb_model.py +++ b/petab/v1/models/pysb_model.py @@ -93,14 +93,19 @@ def from_file( ) def to_file(self, filename: str | Path | None = None) -> None: - from pysb.export import export + model_source = self.to_str() - model_source = export(self.model, "pysb_flat") with open( filename or _generate_path(self.rel_path, self.base_path), "w" ) as f: f.write(model_source) + def to_str(self) -> str: + """Get the PySB model Python code as a string.""" + from pysb.export import export + + return export(self.model, "pysb_flat") + @property def model_id(self): return self._model_id