underdog-lab / scripts /submission_preflight.py
Moftah
Finalize public release and live forecast proof tooling
2857073
Raw
History Blame Contribute Delete
1.3 kB
from __future__ import annotations
import argparse
from pathlib import Path
from underdog_lab.release.preflight import run_preflight
def main() -> int:
parser = argparse.ArgumentParser()
parser.add_argument("--root", type=Path, default=Path("."))
parser.add_argument(
"--output",
type=Path,
default=Path("results/submission_preflight.json"),
)
parser.add_argument(
"--allow-human-pending",
action="store_true",
help="Return success when only account-dependent human actions remain.",
)
parser.add_argument(
"--online",
action="store_true",
help="Verify public URLs, GitHub visibility, and Space runtime.",
)
args = parser.parse_args()
report = run_preflight(
args.root.resolve(),
args.output.resolve(),
online=args.online,
)
print(f"Submission preflight: {report['status']}")
if report["failed_machine_checks"]:
print("Failed checks: " + ", ".join(report["failed_machine_checks"]))
return 1
if report["pending_human_actions"]:
print("Human actions: " + ", ".join(report["pending_human_actions"]))
return 0 if args.allow_human_pending else 2
return 0
if __name__ == "__main__":
raise SystemExit(main())