import hashlib, pathlib, json, datetime ROOT = pathlib.Path(__file__).resolve().parents[2] OUT = ROOT / "dist" OUT.mkdir(parents=True, exist_ok=True) def sha256_of(path: pathlib.Path) -> str: h = hashlib.sha256() with open(path, "rb") as f: for chunk in iter(lambda: f.read(8192), b""): h.update(chunk) return h.hexdigest() entries = [] for p in ROOT.rglob("*"): if p.is_file() and "dist" not in p.parts: rel = p.relative_to(ROOT).as_posix() entries.append({"path": rel, "sha256": sha256_of(p)}) with open(OUT / "HASHES.json", "w") as f: json.dump({"generated": datetime.datetime.utcnow().isoformat()+"Z","files": entries}, f, indent=2) print("Wrote", OUT / "HASHES.json")