api
HTTP API (FastAPI) for linXiv — JSON backend for external clients.
def
run() -> None:
23def run() -> None: 24 # reload=True requires the source tree — disabled in frozen PyInstaller builds 25 should_reload = not getattr(sys, "frozen", False) 26 raw_port = os.environ.get("LINXIV_PORT", "8000") 27 try: 28 port = int(raw_port) 29 except ValueError: 30 sys.stderr.write(f"[linxiv] LINXIV_PORT={raw_port!r} is not a valid integer\n") 31 sys.exit(2) 32 uvicorn.run( 33 "api.app:app", 34 host="127.0.0.1", 35 port=port, 36 reload=should_reload, 37 reload_dirs=[str(Path(__file__).resolve().parent.parent)] if should_reload else None, 38 )