Summary
Port io.py for saving and loading study results.
Functions to Implement
| Function |
Description |
Julia dep |
save_results(path, results::ResultsTable) |
Serialize results |
JLD2.jl (arrays) + JSON3.jl (metadata) |
load_results(path) -> ResultsTable |
Deserialize results |
JLD2.jl + JSON3.jl |
Design Notes
- Python version uses
.npz + .json sidecar. Julia equivalent: .jld2 (HDF5-based, handles arbitrary Julia types) + .json metadata.
- Round-trip fidelity is critical: save then load must produce identical
ResultsTable.
- Consider also supporting Arrow/Parquet via Arrow.jl for interop with Python/R if the ResultsTable uses Tables.jl interface.
Dependencies
[deps]
JLD2 = "..."
JSON3 = "..."
[compat]
JLD2 = "0.5"
JSON3 = "1"
Acceptance Criteria
Summary
Port
io.pyfor saving and loading study results.Functions to Implement
save_results(path, results::ResultsTable)load_results(path) -> ResultsTableDesign Notes
.npz+.jsonsidecar. Julia equivalent:.jld2(HDF5-based, handles arbitrary Julia types) +.jsonmetadata.ResultsTable.Dependencies
Acceptance Criteria
save_results→load_resultsproduces identical data