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.13.
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.0

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.0
File Size Uploaded
buildyn-1.1.0.tar.gz 34.6 kB Details

Built distribution (wheel)

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

Total release size: 78.6 kB

Release files / buildyn-1.1.0.tar.gz

Download URL buildyn-1.1.0.tar.gz
Size 34.6 kB
Tags Source
SHA-256 checksum
How to use checksums
514e3a9dc678a3b1d117bf5418b227c2b8213ff11d8ebc2015f0e84ff8ac0e23
BLAKE2b-256 checksum
How to use checksums
e4ba36f968e6c100c1e1504c8a1e94b2949f24ae64cf850818bd8e788279edc3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.4

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

Download URL buildyn-1.1.0-py3-none-any.whl
Size 44.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fdc419439f3a0fa738387986257fbe03d5615b486c3d31c9d7d128be8d0d4b61
BLAKE2b-256 checksum
How to use checksums
311b21d735397716cab54247fe252546ccf399015df8ae9bc88b24067281bb0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.4

Release history Release notifications | RSS feed

1.1.1

2 release files

This release

1.1.0 This release

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