ISO, EN, ASHRAE, and CIBSE building-science standards as importable Python modules — 59 standards, ~990 functions. Every equation, every table, every annex — written so you can read the law alongside the code. Built on numpy and scipy. ISO 52016 hourly RC-network solver validated to machine precision against the EPB Center reference.
Most building-science software uses standards — but the calculation is buried inside black-box solvers and the link back to the published equation is whatever a paying customer of TRNSYS / IDA / EnergyPlus chooses to document. digital_standards inverts that: every module is named after its standard (iso_6946, iso_52016, en_16798), every equation is one Python function with the standard's clause number, every reference table is a typed constant. The library IS the audit trail.
Want a U-value? Read the equation directly:
from iso_6946.equations import R, R_tot, U
R_layers = [R(0.015, 0.70), R(0.250, 0.77), R(0.150, 0.040), R(0.020, 0.87)]
print(f"U = {U(R_tot(R_layers)):.3f} W/(m²·K)")
| Thermal & Energy | ISO 6946, 13789, 12831, 13790, 52016, 52010, 13788, 10211, 13370, 14683, 10456, 15099, 10077, 52000, 52003, 52018, 52022, EN 16798 |
|---|---|
| Thermal Comfort | ISO 7730, ISO 7726, EN 16798, ASHRAE 55 |
| Radiant Heating & Cooling | EN 1264, 14037, 14240, 442, ISO 11855 |
| HVAC & Ventilation | EN 15242, 15316-1…5, 16798-7/-9/-13, 12831-2/-3, 12828, 14825, 15378, ASHRAE Fundamentals (psychrometrics) |
| ASHRAE | 55, 62.1, 62.2, 90.1, 189.1, 209, Guideline 36, 140, 15, 170 |
| CIBSE (UK) | TM33, TM52, TM59, TM63 |
| Building Installations | EN 12056 (drainage), EN 1775 (gas), EN 1717 (backflow), EN 806-3 (water), PN-HD 60364 (electrical), PN-B-02151 (acoustics), EN 15193 (lighting), ISO 9836 (areas) |
| Fluids | IAPWS-IF97 (water/steam), ASHRAE Fundamentals (moist air) |
| Regulations | Polish WT2021 (U-limits, EP-limits, climate zones), UK Part L |
equations.py | The law. One pure function per equation, named for the clause it implements. |
|---|---|
tables.py | Reference data — constants, lookup tables, climate values — straight from the annexes. |
types.py | Dataclasses describing the data the standard talks about (Construction, Layer, Zone, …). |
methodology.py | Engineering classes that compose the equations into the calculation flow the standard prescribes. |
Same structure across every standard, so once you've read one module you can read any of them.
The ISO 52016 hourly RC-network solver is validated to machine precision against the EPB Center reference spreadsheet for the ASHRAE 140 BEST940 case under the Denver DRYCOLD TMY climate. Every other module ships with unit tests against worked examples in the published standard.
digital_standards is in pre-release. Public availability and licensing terms will be announced via the ModelTok newsletter.