import time from datetime import datetime from fastapi import FastAPI from fastapi.staticfiles import StaticFiles import tomllib from pathlib import Path import random app = FastAPI() start_time = time.time() def read_data() -> dict[str, str]: raw_data = tomllib.loads(Path("data.toml").read_text()) raw_data['aliases'] = [alias['name'] for alias in raw_data['aliases'] for _ in range(alias['weight'])] return raw_data data = read_data() @app.get("/api/") async def ping(): return { "status": "ok", "timestamp": datetime.now().isoformat(), "uptime_seconds": round(time.time() - start_time, 2), } @app.get("/api/quote") async def quote(): return {"quote": random.choice(data['quotes'])} @app.get("/api/alias") async def alias(): return {"alias": random.choice(data['aliases'])} # Mount static files app.mount("/", StaticFiles(directory="website", html=True), name="static")