fastapi==0.115.6 uvicorn[standard]==0.34.0 httpx==0.28.1 polars==1.42.1 numpy==2.2.1 # Accounts + notification subscriptions (see accounts/db.py, users.py, notify.py). # Postgres in prod/containers: asyncpg (async web/store) + psycopg (sync notifier); # aiosqlite is kept for the SQLite fallback the test suite runs on. alembic manages # the accounts schema. fastapi-users[sqlalchemy]==15.0.5 aiosqlite==0.22.1 asyncpg==0.30.0 psycopg[binary]==3.2.3 alembic==1.14.0 # Web Push (VAPID) delivery of notifications (see notifications/push.py). Pulls in # py-vapid, cryptography, and http-ece. pywebpush==2.0.0 # Ed25519 verification of Discord interaction webhooks (see notifications/discord_interactions.py). PyNaCl==1.5.0 # Discord gateway bot's websocket client (notifications/discord_bot.py). Already # pulled in transitively by uvicorn[standard]; pinned here since we import it directly. websockets==16.0 # Recurring worker-tier jobs — city warming, IndexNow pings (see # notifications/scheduler.py). In-process; no broker/queue needed at this scale. apscheduler==3.11.3