Skip to main content

Python GitHub License PyPI Version

BuilDyn is an open-source free-to-use PyPI package to help simulating Functional Mockup Units (FMU) for buildings. Its primarily use is probing buildings thermal dynamics, randomizing building parameters, and demand-driven building simulation. As this is an open-source project, we encourage users and researchers to contribute with new ideas and directions to follow for future releases!

Setup

The only hard requirement for this package is python >= 3.10 and < 3.14.
Aside from that, there are two ways to build this package in your environment:

Installation via Pip

We distribute the newest version of this package over PyPI.

pip install buildyn

Installation from source code

Aside from the pip installation, you can also build the newest version of this package from scratch. First, clone this repository.

git clone https://github.com/felixmkoch/buildyn.git

After that, you can pip install this package into your python environemnt using

pip install .

Strcture

The package has two main classes to consider: FMU and BuilDyn. FMU is a modified and extended wrapper around the FmuSlave from FmPy. BuilDyn enables users full control over variations, walker distributions, and demand-dirven simulation. Multiple functionalities are inspired by BuilDa. For further information about the structure we refer to our paper.

Usage

One general use-case would be the following:

from buildyn import FMU
from buildyn.buildyn import BuilDyn
from buildyn.walker.random.random_walker import RandomWalker
from buildyn.walker.interval_walker import IntervalWalker


fmu_path = "model1.fmu"

start_variables = {
    "weaDat.filNam": "resources/Munich.mos",
    "internalGain.fileName": "resources/NoActivity.txt"
}

fmu = FMU(fmu_path, init_values=start_variables)

observables = ["thermalZone.TAir", "heatingPower"]

rw = RandomWalker(min=10, max=500, is_discrete=True)
iw = IntervalWalker(rw, 900) # 900 is the step size of the walker.

buildyn = BuilDyn(fmu, observables=observables)

buildyn.add_walker_distribution("heatingPower", iw)

print(buildyn.sample_one())

To explore all features of BuilDyn, we refer to our notebooks; each of them thematizes one key part.

Citation

If you are using BuilDyn, consider citing the corresponding paper.

@inproceedings{
  koch26buildyn,
  title={BuilDyn: Excitation-Driven Data Generation for Building Thermal Dynamics Modeling and Control},
  author={Koch, Felix and Krug, Thomas and Raisch, Fabian and Schäfer, Benjamin and Tischler, Benjamin},
  booktitle={Proceedings of the 17th ACM International Conference on Future and Sustainable Energy Systems}
  year={2026}
}

Metadata

Release files for buildyn 1.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for buildyn 1.1.1
File Size Uploaded
buildyn-1.1.1.tar.gz 34.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for buildyn 1.1.1
File Interpreter ABI Platform
buildyn-1.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 78.8 kB

Release files / buildyn-1.1.1.tar.gz

Download URL buildyn-1.1.1.tar.gz
Size 34.7 kB
Tags Source
SHA-256 checksum
How to use checksums
ee424ae89e0712ba8dcc8f6df2fb5f4f87cf86751ef3ddb06cfec2ed94a7088c
BLAKE2b-256 checksum
How to use checksums
0d82aa42c741c11fe05660e3f37d771e755cb0895d657e21da15aee44e39750e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / buildyn-1.1.1-py3-none-any.whl

Download URL buildyn-1.1.1-py3-none-any.whl
Size 44.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0b8cd69efb5f0cd766c1dfd2b6bbe508c0b97e4890cebcb12f5e79f526493f75
BLAKE2b-256 checksum
How to use checksums
ee6fd04731e495856891ffc02bcb51738b6413d5b7818af1fab3be239cf59cd0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page