How demontrick/energy-forecaster-api works
This repository is a building-aware energy forecasting API plus a model preparation and training workflow. The principal runtime flow validates a building-and-weather request, encodes the building through the loaded artifact mapping, predicts load, and returns a typed response. Training prepares features and a building mapping before saving the model bundle. Evidence is limited by a path mismatch: preparation writes Data/energy_training_data.csv, while train.py reads data/energy_training_data.csv; the tree contains only the former. app/model.py is a separate inference wrapper not imported by the sampled API entry point.
Main entry points: main.py API Endpoints · prepare_data.py Data Preparation · energy_model.pkl Model Bundle · model.py Inference Wrapper
Components 10
Forecast API
- API Endpoints
app/main.py - Request Schemas
app/schemas.py - Inference Wrapper
app/model.py
Model Training
- Data Preparation
prepare_data.py - Prepared Dataset
Data/energy_training_data.csv - Model Trainer
train.py
Model Artifacts
- Model Bundle
app/models/energy_model.pkl
Other components
- API Client
- Consumption Input
- Weather Input
Connections 10
- API Client → API Endpoints: sends request
- API Endpoints → Request Schemas: validates with
- API Endpoints → Model Bundle: loads bundle
- API Endpoints → API Client: returns forecast
- Inference Wrapper → Model Bundle: loads bundle
- Inference Wrapper → Request Schemas: accepts payload
- Data Preparation → Consumption Input: reads
- Data Preparation → Weather Input: reads
- Data Preparation → Prepared Dataset: writes dataset
- Model Trainer → Model Bundle: writes bundle