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.3.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.3-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: decarbai_demands-1.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 05e6305e2feb42be0320133c6c3ffefa39b3262afded0d78ebbdd7005b06921c
MD5 463e2a08235fc9d5394a7dbfda7eaf07
BLAKE2b-256 3b139393472259b27a80e682a42d9021f054dab1666434e40755cf790238f744

See more details on using hashes here.

File details

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

File metadata

  • Download URL: decarbai_demands-1.0.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 194dea761fe025e7f24425d8e6985bfa0c16eeb7a84db56a5cb649c04f7b9b12
MD5 2cc21ece2fb4bef93b73c65102807ef2
BLAKE2b-256 ec9ed1430218e793cae7fef533349cb0d08ca02382e6b813300b0aad144893bf

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