import json import shutil from pathlib import Path def write_text(text: str, path: Path): with open(path, "w", encoding="utf-8") as f: f.write(text) def write_manifest(run_dir: Path, meta: dict): with open(run_dir / "manifest.json", "w", encoding="utf-8") as f: json.dump(meta, f, indent=2) def make_zip(run_dir: Path) -> Path: zip_path = run_dir.with_suffix("") # base name shutil.make_archive(str(zip_path), "zip", str(run_dir)) return Path(str(zip_path) + ".zip")