Skip to main content

A dash application for generating energy demand profiles using machine learning models.

Project description

PyPI - Version PyPI - Python Version

DecarbAI Demands

Predicts 8760-hour heating, cooling, electricity, and DHW demand profiles for Swiss buildings using a per-city, per-building-type XGBoost + PCA ensemble, served through an interactive Dash dashboard.

Demo

Demo

Install

pip install decarbai-demands

Requires Python 3.11+.

Model download

Model artifacts are not bundled in the package. On the first prediction for a given city the package downloads {city}.tar (~100 MB) from a public S3 bucket and caches it at ~/.cache/decarbai/models/. Subsequent runs use the local cache.

Run the dashboard

After installing the package, launch the dashboard with the bundled CLI:

decarbai-demands dashboard

Or, from a source checkout:

uv run python -m decarbai_demands.dashboard

Opens an interactive Dash UI at http://127.0.0.1:8050/ for configuring a building and predicting its hourly heating, cooling, electricity, and DHW demand profiles.

Repo structure

src/decarbai_demands/
├── schema.py              Pydantic InputData + the 17-feature ordered vector
├── model.py               XGBoost + PCA ensemble loader (Model + load_artifacts)
├── pipeline.py            run_pipeline: feeds InputData through the per-city models
├── dashboard/             Dash app (subpackage)
│   ├── app.py             create_app() + run_dashboard() + __main__
│   ├── layout.py          UI tree (header, form sections, panels, modal hookup)
│   ├── callbacks.py       Prediction, CSV download, live range validation, modal toggle
│   ├── styles.py          Style dicts shared across the UI
│   ├── constants.py       Cities, building types, demand types, form defaults
│   └── ranges.py          TRAINING_RANGES + the info-modal builder
└── model_cache.py         S3 download + local cache at ~/.cache/decarbai/models/
                           Layout: {country}/{city}/{building_type}/{demand}.zst

Heating and cooling each have their own .zst model file; DHW and electricity share electricity_dhw.zst (first 8760 values = DHW, next 8760 = electricity).

Model training envelope

Predictions are most reliable when inputs lie within the ranges the model was trained on. Outside this envelope, the model extrapolates and confidence drops. The dashboard surfaces the same ranges inline next to each input and in the info modal.

Direct inputs

Feature Min Max
Width [m] 5.0 14.0
Length [m] 10.0 19.0
Floor Height [m] 2.5 3.5
Number of Floors 1 4
Construction Year 1918 2015
North Angle [°] 0 90
WWR (N / E / S / W) 0.0 0.75
U_Ground [W/m²K] 0.12 1.24
U_Wall [W/m²K] 0.11 3.06
U_Roof [W/m²K] 0.11 1.63
U_Window [W/m²K] 0.78 5.67

Derived features (computed from geometry)

Feature Min Max
Footprint [m²] 50.0 266.0
Total Height [m] 2.5 14.0
Volume [m³] 125.0 3724.0
Envelope Area [m²] 175.0 1456.0
Relative Compactness [-] 0.65 1.0
Characteristic Length [m] 0.71 2.56
Average WWR [-] 0.0 0.75

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

decarbai_demands-1.0.2.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

decarbai_demands-1.0.2-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

File details

Details for the file decarbai_demands-1.0.2.tar.gz.

File metadata

  • Download URL: decarbai_demands-1.0.2.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for decarbai_demands-1.0.2.tar.gz
Algorithm Hash digest
SHA256 86be83b5d9bca44ef32aa343749e889adc4994e2edfacec7622a943ddf903408
MD5 845ab153a336ca89bc3518c5a9daef30
BLAKE2b-256 30e78509f2e8702d122648a056ebe8f3bade51b6fbdf4e74de712eb74bbb9799

See more details on using hashes here.

File details

Details for the file decarbai_demands-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: decarbai_demands-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 19.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for decarbai_demands-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4801700dbed904e55035b131477dda438039dc6688ea37ea46501d5249c8ae70
MD5 4448fb5ce3e211fe13cc66dc5557496e
BLAKE2b-256 cd0adc3db9bf43721a5e467cdde1332e1ca648ad4c58be79654de8565e793ddb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page