Remodel/packages/engine
Mannu 59da8280dc
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
fix: return solar_hourly and wind_hourly from run_scenario
These fields were computed but not being returned in the ScenarioResult.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 11:36:49 +05:30
..
docs [S1-T01 through T11] Solar, Wind, BESS generation simulation + CLI 2026-05-07 10:04:21 +05:30
src/remodel_engine fix: return solar_hourly and wind_hourly from run_scenario 2026-05-16 11:36:49 +05:30
tests [S1-T12/T13] P&L revenue breakdown + collapsible rows + UI polish 2026-05-13 10:42:36 +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-T02] Set up packages/engine with Poetry, Ruff, mypy strict, pytest 2026-05-07 02:14:45 +05:30

remodel-engine

UI-agnostic Python calculation library for hybrid RE (Solar + Wind + BESS) project finance.

Setup

poetry install

Common commands

poetry run pytest                   # run tests with coverage
poetry run ruff check .             # lint
poetry run mypy src/                # type-check
poetry run remodel --help           # CLI (after implementation)

Package layout

src/remodel_engine/
├── schemas/        Pydantic models (single source of truth)
├── catalog/        Default values, CostItem catalog, profiles
├── generation/     solar.py, wind.py, bess_state.py
├── dispatch/       hybrid_rtc.py, mcp_settlement.py
├── commercial/     ppa.py, dsm.py, charges.py, losses.py
├── capex/          cost_items.py, phasing.py, idc.py
├── financial/      pnl.py, cfs.py, bs.py, depreciation.py, tax.py
├── debt/           sizing.py, sculpting.py, schedule.py, compliance.py
├── irr/            metrics.py
├── solver/         tariff.py
├── scenarios/      runner.py, sweep.py
├── io/             parquet_io.py, excel_export.py
└── cli.py