Setup & Prerequisites
This page lists all software requirements needed to work with BuEM. Requirements are separated by role: Users interact with BuEM through its API (typically via Docker), while Developers work directly with the source code and contribute to the project.
Software Requirements
The table below summarises every piece of software you may need. Items marked compulsory must be installed before you can run BuEM.
Requirement |
Version |
Compulsory / Optional |
Use / Notes |
Download Link |
|---|---|---|---|---|
Python |
>= 3.13 |
Compulsory |
Runtime for BuEM. The conda environment pins 3.13 exactly. |
|
Conda (Miniconda or Anaconda) |
latest |
Compulsory (developers) |
Environment & dependency management. Miniconda is sufficient. |
|
Docker Desktop |
>= 4.6 |
Compulsory (users) |
Runs the BuEM container. Includes Docker Engine >= 29 and Compose v2. |
|
Git |
latest |
Compulsory |
Source code access and version control. |
|
PostgreSQL |
>= 17 |
Compulsory |
Database back-end for building data. |
|
PgAdmin |
>= 8 |
Optional |
GUI for inspecting and managing the PostgreSQL database. |
|
City2TABULA |
v0.5.0 |
Compulsory |
Populates the building database that BuEM reads. See City2TABULA below. |
|
IDE (VS Code / PyCharm) |
latest |
Optional |
Recommended editor for development. VS Code with the Python extension works well. |
Note
Docker Desktop >= 4.6 ships with Docker Engine >= 29 and Docker Compose v2. You do not need to install Docker Engine or Compose separately when using Docker Desktop.
For Users
If you only need to run BuEM simulations via its API, install the following and skip the developer section:
Docker Desktop – provides the container runtime.
Git – to clone the repository and access
docker-compose.yml.PostgreSQL – database for building parameters.
City2TABULA – populates the database with building archetypes.
Quick verification:
docker --version # Docker version 29.x or higher
docker compose version # Docker Compose v2.x
git --version
pg_config --version # PostgreSQL 17.x or higher
Tip
pg_config is used instead of psql because many PostgreSQL
installations (especially GUI-based installers on Windows) do not add
psql to the system PATH. pg_config ships with the core
PostgreSQL libraries on all platforms. If the command is not found,
ensure the PostgreSQL installation directory (e.g.
C:\Program Files\PostgreSQL\17\bin on Windows, or
/usr/bin on Linux) is on your PATH.
Once the prerequisites are in place, proceed to Docker Installation to start the BuEM container.
For Developers
Developers need everything listed for users plus the local Python environment:
Python 3.13 and Conda – managed via
environment.yml.IDE – VS Code or PyCharm recommended.
PgAdmin – optional, helpful for database inspection.
Quick verification:
python --version # Python 3.13.x
conda --version
docker --version # Docker version 29.x or higher
git --version
pg_config --version # PostgreSQL 17.x or higher
See the tip in the Users section above if pg_config is not found.
Proceed to Conda Setup to create the development environment, then see Development Setup for code-quality tools and testing.
City2TABULA
City2TABULA generates the building-archetype database that BuEM consumes. Follow the City2TABULA setup guide to install version v0.5.0 and populate your PostgreSQL database before running BuEM.
Key steps (summary):
Clone the City2TABULA repository.
Install its conda environment.
Configure the PostgreSQL connection.
Run the database population script.
Refer to the City2TABULA documentation for the full procedure.
System Requirements
Resource |
Minimum |
|---|---|
Operating System |
Windows 10+, macOS 12+, or Linux (Ubuntu 22.04+ recommended) |
Memory |
4 GB (8 GB recommended for large datasets) |
Disk Space |
2 GB (additional space for weather data and results) |
Network |
Internet access for pulling Docker images and downloading dependencies |
Next Steps
Role |
Next Page |
|---|---|
Users (API / Docker) |
|
Developers |