"""Hugging Face Inference Endpoints entry point — deploy this repo as a CPU API. Request body: {"inputs": {"cutoff": "1997-10-01", "horizon": 30, "index": "DAX"}} (also accepted: {"inputs": "1997-10-01", "parameters": {"horizon": 30, "index": "DAX"}} or {"inputs": ["1997-10-01", 30, "DAX"]}). Response: the `Predictor.predict` JSON dict. """ import sys from pathlib import Path HERE = Path(__file__).resolve().parent sys.path.insert(0, str(HERE)) import model as M # noqa: E402 class EndpointHandler: def __init__(self, path: str = ""): self.predictor = M.load(path or HERE, "cuda" if M.cuda_available() else "cpu") def __call__(self, data: dict): inputs = data.pop("inputs", data) parameters = data.pop("parameters", None) or {} if isinstance(inputs, dict): return self.predictor.predict(**inputs, **parameters) if isinstance(inputs, (list, tuple)): return self.predictor.predict(*inputs, **parameters) return self.predictor.predict(inputs, **parameters)