from __future__ import annotations import argparse from pathlib import Path from timeout_risk_model import load_model, predict_timeout_probability def parse_args() -> argparse.Namespace: parser = argparse.ArgumentParser(description="Predict timeout probability for one order time.") parser.add_argument("order_time", help="Order time, for example: 2026-05-24 18:30") parser.add_argument("--product-name", default="", help="Optional product name.") parser.add_argument( "--model", type=Path, default=Path(__file__).resolve().parent / "timeout_model.json", help="Path to timeout_model.json.", ) return parser.parse_args() def main() -> None: args = parse_args() model = load_model(args.model) result = predict_timeout_probability(model, args.order_time, args.product_name) print(f"order_time: {result['order_time']}") print(f"probability: {result['probability']:.1%}") print(f"risk_level: {result['risk_level']}") print(f"mode: {result['mode']}") print(f"calibration: {result['calibration']}") if __name__ == "__main__": main()