prism-api / README.md
nasa718's picture
purge history: collapse to code-only tree (no parquet)
50e4044
|
Raw
History Blame Contribute Delete
1.35 kB
---
title: CC Experiment Report API
emoji: ๐Ÿ“Š
colorFrom: indigo
colorTo: blue
sdk: docker
app_port: 7860
pinned: false
---
# CC Experiment Report API
FastAPI + DuckDB read-only API over the processed experiment Parquet.
See `docs/superpowers/specs/2026-06-25-report-frontend-backend-split-design.md`.
## Build & runtime notes
- **Data is NOT in this (public) image.** This Space is public so the Vercel frontend can reach the
token-gated API; committing the parquet here would make it directly downloadable and bypass the gate.
Instead the app pulls the parquet at startup from a **private HF Dataset**.
- **Required Space secrets:** `API_TOKEN` (the shared bearer the frontend sends), `HF_DATASET_REPO`
(e.g. `your-namespace/prism-cc-data`), `HF_ACCESS_TOKEN` (read token for that dataset), and
`ALLOWED_ORIGINS` (the Vercel origin). On boot the app downloads the dataset into `DATA_DIR`.
- **Publishing data:** `make deploy-space` first runs `scripts/push_data.py` to upload
`analysis/data/processed/*` to the private dataset (run `make analyze` first to regenerate it),
then syncs only the code into the Space.
- **CORS is read at startup.** `ALLOWED_ORIGINS` is captured when the app process starts, so
changing the Space secret requires a container restart to take effect. (`API_TOKEN` is
re-read per request and does not.)