Remodel/packages/api
2026-05-07 02:22:25 +05:30
..
src/remodel_api [S0-T03/T06/T07/T08/T09] Set up packages/api: FastAPI, SQLAlchemy, Arq worker, CRUD endpoints, SSE 2026-05-07 02:22:25 +05:30
tests [S0-T03/T06/T07/T08/T09] Set up packages/api: FastAPI, SQLAlchemy, Arq worker, CRUD endpoints, SSE 2026-05-07 02:22:25 +05:30
pyproject.toml [S0-T03/T06/T07/T08/T09] Set up packages/api: FastAPI, SQLAlchemy, Arq worker, CRUD endpoints, SSE 2026-05-07 02:22:25 +05:30
README.md [S0-T03/T06/T07/T08/T09] Set up packages/api: FastAPI, SQLAlchemy, Arq worker, CRUD endpoints, SSE 2026-05-07 02:22:25 +05:30

remodel-api

FastAPI + Arq async service for the REmodel calculation engine.

Setup

poetry install
# Redis must be running (see docker-compose.yml at repo root)
docker compose up -d redis

Common commands

# Start API server
poetry run uvicorn remodel_api.main:app --reload --port 8000

# Start Arq worker
poetry run arq remodel_api.workers.main.WorkerSettings

# Run tests
poetry run pytest

# Lint + typecheck
poetry run ruff check . && poetry run mypy src/

API

Method Path Description
GET /healthz Health check
POST /api/scenarios Create + enqueue
GET /api/scenarios List all
GET /api/scenarios/{id} Get one
GET /api/scenarios/{id}/events SSE progress stream

Interactive docs: http://localhost:8000/docs