from __future__ import annotations import argparse import json from pathlib import Path from inferscale import run_simulation def main() -> None: parser = argparse.ArgumentParser(description="Run an InferScale simulation locally.") parser.add_argument("--config", type=Path, help="Optional JSON configuration file") parser.add_argument("--output", type=Path, help="Write result JSON to this path") args = parser.parse_args() config = {} if args.config: config = json.loads(args.config.read_text()) result = run_simulation(config) payload = json.dumps(result, indent=2) if args.output: args.output.parent.mkdir(parents=True, exist_ok=True) args.output.write_text(payload) print(f"Wrote {args.output}") else: print(payload) if __name__ == "__main__": main()