Remodel/packages/api
Manohar Gupta dda17fa6c3
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
Return full CSV format with all columns for file preview
2026-05-23 19:19:39 +05:30
..
src/remodel_api Return full CSV format with all columns for file preview 2026-05-23 19:19:39 +05:30
tests [S1-T12/T13] P&L revenue breakdown + collapsible rows + UI polish 2026-05-13 10:42:36 +05:30
Dockerfile Fix uvicorn PATH in Docker - use poetry venv bin directory 2026-05-13 21:47:53 +05:30
pyproject.toml [S1-T12/T13] P&L revenue breakdown + collapsible rows + UI polish 2026-05-13 10:42:36 +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
uv.lock [S1-T12/T13] P&L revenue breakdown + collapsible rows + UI polish 2026-05-13 10:42:36 +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