Remodel/packages/api
Mannu dba1e6990f
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
feat: add profile data columns to generation sheet for detailed breakdown
- Add hourly_solar_profile and hourly_wind_profile to store per-hour output values
- Add solar_dc_mwp, solar_ac_mw, wind_mw to PipelineResult for capacity display
- Add columns: Solar 8760, DC MW, Solar MW / Wind 8760, MW, Wind MW
- Updated UI to show detailed breakdown at each level (Year/Month/Day/Hour)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 13:31:20 +05:30
..
src/remodel_api feat: add profile data columns to generation sheet for detailed breakdown 2026-05-16 13:31:20 +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