Memory-Quilt / scripts /check_sponsor_model_policy.py
Abhishek
Initialize project files and updated hackathon tags
485459a
Raw
History Blame Contribute Delete
1.68 kB
#!/usr/bin/env python3
from __future__ import annotations
from pathlib import Path
import argparse
import sys
ROOT = Path(__file__).resolve().parents[1]
SRC = ROOT / "src"
if str(SRC) not in sys.path:
sys.path.insert(0, str(SRC))
from app_kit.sponsor_policy import (
DEFAULT_POLICY_RELATIVE_PATH,
DEFAULT_WAIVER_RELATIVE_PATH,
check_sponsor_policy,
format_sponsor_policy_result,
)
def build_parser() -> argparse.ArgumentParser:
parser = argparse.ArgumentParser(description="Check sponsor-aligned models against the registry.")
parser.add_argument(
"--model-registry",
type=Path,
default=Path("configs/model_registry.yaml"),
help="Path to configs/model_registry.yaml or a compatible registry file.",
)
parser.add_argument(
"--policy",
type=Path,
default=Path(DEFAULT_POLICY_RELATIVE_PATH),
help="Path to the sponsor model policy file.",
)
parser.add_argument(
"--waiver",
type=Path,
default=Path(DEFAULT_WAIVER_RELATIVE_PATH),
help="Optional waiver file path. If present and valid, mismatches pass with a warning.",
)
return parser
def main(argv: list[str] | None = None) -> int:
parser = build_parser()
args = parser.parse_args(argv)
waiver_path = args.waiver if args.waiver.exists() else None
result = check_sponsor_policy(args.model_registry, args.policy, waiver_path)
stdout, stderr, exit_code = format_sponsor_policy_result(result)
if stdout:
print(stdout)
if stderr:
print(stderr, file=sys.stderr)
return exit_code
if __name__ == "__main__":
raise SystemExit(main())