pyBuildingEnergy
Provides an assessment of building performance through a methodology that must take into account various aspects such as the thermal characteristics of the building, the use of renewable energy sources, building automation and control systems.
https://github.com/eurac-eebgroup/pybuildingenergy
Category: Consumption
Sub Category: Buildings and Heating
Last synced: about 6 hours ago
JSON representation
Repository metadata
python package to simulate the building performance of a building using the ISO 52000
- Host: GitHub
- URL: https://github.com/eurac-eebgroup/pybuildingenergy
- Owner: EURAC-EEBgroup
- License: bsd-3-clause
- Created: 2024-02-22T10:59:20.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2025-12-09T11:18:43.000Z (15 days ago)
- Last Synced: 2025-12-20T19:28:35.787Z (4 days ago)
- Language: HTML
- Size: 14.5 MB
- Stars: 39
- Watchers: 6
- Forks: 4
- Open Issues: 8
- Releases: 1
-
Metadata Files:
- Readme: Readme.md
- Changelog: CHANGELOG.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE.md
- Authors: AUTHORS.rst
Readme.md
pyBuildingEnergy

Citation
Please cite us if you use this library:
Documentation (New)
Check our new documentation in GitHub Pages: pybuildingenergy docs.
Features
The new EPBD recast provides an update on building performance assessment through a methodology that must take into account various aspects such as the thermal characteristics of the building, the use of energy from renewable sources, building automation and control systems, ventilation, cooling, energy recovery, etc.
The methodology should represent the actual operating conditions, allow for the use of measured energy for accuracy and comparability purposes, and be based on hourly or sub-hourly intervals that take into account the variable conditions significantly impacting the operation and performance of the system, as well as internal conditions.
pyBuildingEnergy aims to provide an assessment of building performance both in terms of energy and comfort. In this initial release, it is possible to assess the energy performance of the building using ISO 52106-1:2018. Additional modules will be added for a more comprehensive evaluation of performance, assessing ventilation, renewable energies, systems, etc.
The actual calculation methods for the assessment of building performance are the following:
- the (sensible) energy need for heating and cooling, based on hourly or monthly calculations;
- the latent energy need for (de-)humidification, based on hourly or monthly calculations;
- the internal temperature, based on hourly calculations;
- the sensible heating and cooling load, based on hourly calculations;
- the moisture and latent heat load for (de-)humidification, based on hourly calculations;
- the design sensible heating or cooling load and design latent heat load using an hourly calculation interval;
- the conditions of the supply air to provide the necessary humidification and dehumidification.
The calculation methods can be used for residential or non-residential buildings, or a part of it, referred to as "the building" or the "assessed object".
ISO 52016-1:2018 also contains specifications for the assessment of thermal zones in the building or in the part of a building. The calculations are performed per thermal zone. In the calculations, the thermal zones can be assumed to be thermally coupled or not. ISO 52016-1:2018 is applicable to buildings at the design stage, to new buildings after construction and to existing buildings in the use phase.
--
Weather Data
The tool can use weather data coming from 2 main sources:
- PVGIS API (link) - PHOTOVOLTAIC GEOGRAPHICAL INFORMATION SYSTEM
.epwfile from Ladybug Tools EPWMap
More details in the example folder.
Domestic Hot Water - DHW
- Calculation of volume and energy need for domestic hot water according to ISO 12831-3.
- Assessment of thermal load based on the type of DHW system.
Primary Energy - Heating System (New)
The EN 15316 series covers the calculation method for system energy requirements and system efficiencies. This family of standards is an integral part of the EPB set and covers:
EN 15316 Modular Structure (New)
- EN 15316-1: General and expression of energy performance (Modules M3-1, M3-4, M3-9, M8-1, M8-4)
- EN 15316-2: Emission systems (heating and cooling)
- EN 15316-3: Distribution systems (DHW, heating, cooling)
- EN 15316-4-X: Heat generation systems:
- 4-1: Combustion boilers
- 4-2: Heat pumps
- 4-3: Solar thermal and photovoltaic systems
- 4-4: Cogeneration systems
- 4-5: District heating
- 4-7: Biomass
- EN 15316-5: Storage systems
For space heating, applicable standards include EN 15316-1, EN 15316-2-1, EN 15316-2-3 and the appropriate parts of EN 15316-4 depending on the system type, including losses and control aspects.
Single zone and Multiple Zones (New)
EN ISO 52016 — Multi-zone Calculation and Adjacent Zones
EN ISO 52016 defines that:
The calculation now allows the definition of several thermal and non-thermal zones adjacent to the considered zone.
External Adjacent – Unheated Zone: It is possible to define an unheated adjacent zone in contact with the considered thermal zone.
The length of the separating wall may be entirely or partially connected to the considered zone.
The calculation involves:
- Determining the internal temperature of the non-thermal zone.
- Evaluating the heat exchange with the thermal zone.
External Adjacent – Heated Zone: In this case, the wall between the two zones is considered adiabatic (no heat exchange).
Adjusted Coefficient: To account for the different temperatures between zones (e.g., thermal and non-thermal), an adjusted coefficient is calculated.
Assumptions and Simplifications
The standard defines various assumptions specified in section 6.5.3 — Assumptions and specific conditions.
In general, it aims to simplify the zoning approach by reducing the number of zones to a minimum (ISO EN 52016-2:2018).
It also emphasizes that:
A multi-zone calculation with interactions between the zones requires significant and often arbitrary input data (on transmission properties and air flow direction and size).
It can also lead to other technical and procedural complications that add uncertainties to the results.
A further complication can be the involvement of different heating, cooling and ventilation systems for different zones, which adds to the complexity and arbitrariness of the input and modelling.
Key Remark: Therefore, the benefits of calculations with thermally coupled zones can be smaller than the drawbacks.
EN 16798-7 & 16798-1 - Natual ventilation and profiles (New)
Compute the ventilation heat transfer coefficient [W·K⁻¹] of the thermal zone either:
- from natural ventilation (ISO 16798-7:2017, single-sided airing via windows, wind/stack), or
- from occupancy-driven flow (simplified volumetric rate per floor area).
For more detail refers to natural ventilation.
Due to the need to have profiles of occupancy and consumption of buildings for some uses, tables of profiles useful for evaluating, occupancy, lights, heating, cooling, internal gains have been implemented.
These tables are provided by ANNEX A of ISO EN 16798-1.
In the tool they are available here: Table
Input Quality check (New)
The data provided before being used for the simulation are processed and evaluated to be considered fit for the simulation. This process includes a series of checks that allow to identify any potential errors.
For more details refers to Input Quality check.
Limitations
The library is developed with the intent of demonstrating specific elements of calculation procedures in the relevant standards. It is not intended to replace the regulations but to complement them, as the latter are essential for understanding the calculation. This library is meant to be used for demonstration and testing purposes and is therefore provided as open source, without protection against misuse or inappropriate use.
The information and views set out in this document are those of the authors and do not necessarily reflect the official opinion of the European Union.
The calculation is currently aimed at single-zone buildings with ground floor. The evaluation of multi-zone buildings is under evaluation.
Getting Started
Install the latest version of the library:
pip install pybuildingenergy
Building - System Inputs
- For building inputs refer to Building Inputs
- For heating system inputs (EN 15316-1) refer to Heating System Input
Example
New examples will follow soon...
Contributing and Support
Bug reports / Questions
If you encounter a bug, please create an issue detailing it. Provide steps to reproduce and a code snippet if possible.
Code contributions
We welcome and appreciate contributions! Every contribution, no matter how small, makes a difference.
License
- Free software: BSD 3-Clause License
- Documentation: pyBuildingEnergy Docs
Author
Acknowledgment
This work was carried out within European projects:
- Infinite — EU Horizon 2020 (grant agreement No. 958397)
- Moderate — Horizon Europe (grant agreement No. 101069834)
DHW Calculation developed with data and methods from EPBCenter spreadsheet.
References
- EPB Center - Energy Performance of Buildings Directive (EPBD)
- REHVA Journal - EN ISO 52000 family of standards
- European Commission - Energy Performance of Buildings Directive
- Directive (EU) 2024/1275 - Official Journal of the EU, May 8, 2024
- EN ISO 52010-1:2018 - External climatic conditions
- EN ISO 52016-1:2018 - Energy needs for heating and cooling
- EN ISO 52016-2:2018 - Explanation and justification of ISO 52016-1 and iso 52017-1
- EN 12831-3:2018 - DHW systems heat load and characterization
- EN 15316-1:2018 - System energy requirements and efficiencies
- EN 16798-7 & 16798-1 - Ventilation standards
Owner metadata
- Name: Energy Efficient Buildings @EURAC
- Login: EURAC-EEBgroup
- Email:
- Kind: organization
- Description: This research group focuses on energy flexible buildings and building clusters.
- Website: http://www.eurac.edu/en/research/technologies/renewableenergy/researchfields/Pages/Energy-management-in-buildings.aspx
- Location: Bolzano - Bozen
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/15102177?v=4
- Repositories: 3
- Last ynced at: 2024-05-29T13:39:47.410Z
- Profile URL: https://github.com/EURAC-EEBgroup
GitHub Events
Total
- Issues event: 2
- Watch event: 11
- Push event: 11
- Fork event: 1
- Create event: 1
Last Year
- Issues event: 1
- Watch event: 10
- Push event: 11
- Fork event: 1
- Create event: 1
Committers metadata
Last synced: 9 days ago
Total Commits: 110
Total Committers: 3
Avg Commits per committer: 36.667
Development Distribution Score (DDS): 0.055
Commits in past year: 20
Committers in past year: 1
Avg Commits per committer in past year: 20.0
Development Distribution Score (DDS) in past year: 0.0
| Name | Commits | |
|---|---|---|
| Daniele.Antonucci | d****i@e****u | 104 |
| OlgaSomova | 1****a | 4 |
| Ulrich Filippi Oberegger | u****i@g****m | 2 |
Committer domains:
- eurac.edu: 1
Issue and Pull Request metadata
Last synced: about 1 month ago
Total issues: 4
Total pull requests: 4
Average time to close issues: N/A
Average time to close pull requests: N/A
Total issue authors: 3
Total pull request authors: 2
Average comments per issue: 0.0
Average comments per pull request: 0.0
Merged pull request: 0
Bot issues: 0
Bot pull requests: 0
Past year issues: 1
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 1
Past year pull request authors: 0
Past year average comments per issue: 0.0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- Tokarzewski (2)
- Isaina (1)
- DanieleAntonucci20 (1)
Top Pull Request Authors
- Tokarzewski (2)
- Concave-Streak (2)
Top Issue Labels
Top Pull Request Labels
Package metadata
- Total packages: 1
-
Total downloads:
- pypi: 408 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 8
- Total maintainers: 1
pypi.org: pybuildingenergy
Energy Simulation of building using EN ISO 52000, EN ISO 15316, EN ISO 16798, EN ISO 12831, and more
- Homepage: https://github.com/EURAC-EEBgroup/pyBuildingEnergy/
- Documentation: https://pybuildingenergy.readthedocs.io/en/latest/Overview/overview.html
- Licenses: BSD 3-Clause License Copyright (c) 2025, Energy Efficient Buildings @EURAC Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- Latest release: 2.0.2 (published about 1 month ago)
- Last Synced: 2025-12-21T10:41:31.897Z (3 days ago)
- Versions: 8
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 408 Last month
-
Rankings:
- Dependent packages count: 9.653%
- Average: 36.67%
- Dependent repos count: 63.688%
- Maintainers (1)
Dependencies
- DateTime ==5.1
- Pyarrow ==13.0.0
- Sphinx ==1.8.5
- black ==21.7b0
- bump2version ==0.5.11
- coverage ==4.5.4
- flake8 ==3.7.8
- geopy ==2.4.1
- numpy ==1.23.2
- pandas ==2.2.1
- pip *
- pvlib ==0.10.1
- pyecharts ==2.0.4
- pytest ==6.2.4
- pytest-snapshot *
- requests ==2.31.0
- scikit-learn ==1.4.1.post1
- scikit-learn *
- timezonefinder ==6.2.0
- tox ==3.14.0
- tqdm ==4.66.1
- twine ==1.14.0
- watchdog ==0.9.0
- wheel ==0.33.6
- Sphinx ==7.2.6
- sphinx-rtd-theme ==2.0.0
Score: 10.96247504642097