https://github.com/ladybug-tools/honeybee-energy-standards
🐝 :fire: :books: Honeybee-energy extension for standards, codes, and templates.
https://github.com/ladybug-tools/honeybee-energy-standards
Last synced: 9 months ago
JSON representation
🐝 :fire: :books: Honeybee-energy extension for standards, codes, and templates.
- Host: GitHub
- URL: https://github.com/ladybug-tools/honeybee-energy-standards
- Owner: ladybug-tools
- License: agpl-3.0
- Created: 2019-10-20T00:08:01.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-08-25T21:05:06.000Z (10 months ago)
- Last Synced: 2025-08-25T23:20:48.312Z (10 months ago)
- Language: Python
- Homepage:
- Size: 3.27 MB
- Stars: 5
- Watchers: 4
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[](https://github.com/ladybug-tools/honeybee-energy-standards/actions)
[](https://www.python.org/downloads/release/python-3100/) [](https://www.python.org/downloads/release/python-370/) [](https://www.python.org/downloads/release/python-270/) [](https://github.com/IronLanguages/ironpython2/releases/tag/ipy-2.7.8/)
# honeybee-energy-standards
Honeybee-energy extension for standards, codes, and templates.
All of the data that this module adds to the [honeybee-energy](https://github.com/ladybug-tools/honeybee-energy).lib comes from the
[OpenStudio Standards Gem](https://github.com/NREL/openstudio-standards) and the master
[Google Sheets files](https://drive.google.com/drive/folders/1x7yEU4jnKw-gskLBih8IopStwl0KAMEi)
that possess all of the most recent data. The original sources of this data include the following:
* The US Department of Energy [Commercial Reference Buildings](https://www.energy.gov/eere/buildings/commercial-reference-buildings).
* The [ASHRAE Standard 90.1](https://www.ashrae.org/technical-resources/bookstore/standard-90-1) including all versions from 2004 to the present.
* The [Commercial Buildings Energy Consumption Survey (CBECS)](https://www.eia.gov/consumption/commercial/), specifically for any templates before ASHRAE Standard 90.1 2004.
## Installation
```console
pip install honeybee-energy-standards
```
## QuickStart
```python
import honeybee_energy_standards
```
## [API Documentation](http://ladybug-tools.github.io/honeybee-energy-standards/docs)
## Local Development
1. Clone this repo locally
```console
git clone git@github.com:ladybug-tools/honeybee-energy-standards
# or
git clone https://github.com/ladybug-tools/honeybee-energy-standards
```
2. Install dependencies:
```console
cd honeybee-energy-standards
pip install -r dev-requirements.txt
```
3. Run Tests:
```console
python -m pytest tests/
```
4. Re-generate the Data from the [OpenStudio Standards Gem](https://github.com/NREL/openstudio-standards)
(or to update the JSONs based on changes to the honeybee schema)
```python
from standards_update._util._all import clean_all, remove_all
from standards_update._util._to_honeybee import convert_to_hb_json, remove_hb_jsons
remove_hb_jsons() # remove all of the honeybee JSON data that currently exists
# generate clean OpenStudio Standards Data JSONs from the gem
ashrae_standards = 'C:/Users/chris/Documents/GitHub/nrel/openstudio-standards/lib/' \
'openstudio-standards/standards/ashrae_90_1/'
clean_all(ashrae_standards)
# change the package to load all data from the clean Standards Gem JSONs
import standards_update._change_to_standards_data
convert_to_hb_json() # generate Honeybee JSONs from the clean Standards Gem JSONs
remove_all() # remove all of the clean Standards Gem JSONs now that they're converted
```
The resulting JSON data will be output to the data folder such that it can be
checked before copying it into honeybee_energy_standards.
## Note to developers using this repo as an example
Developers may use this repository and Python package as a template to create their
own extensions for the library of standards accessible to honeybee_energy. For such
developers, it is important to know the rules that must be followed to have a
successful honeybee energy standards extension. First, any honeybee energy standards
extension must have a package name the starts with `honeybee_energy` and ends
with `standards` (all words in between are up to the user, barring spaces and
special characters).
Second, the following folders *MUST* be included in any honeybee energy standards
extension:
* `constructions`
* `constructionsets`
* `schedules`
* `programtypes`
The following rules must be followed:
* All JSONs must use the [Honeybee Model Schema](https://www.ladybug.tools/honeybee-schema/model.html)
representation of objects and must be formatted with the name of the object as keys
and the schema definition of the object as values.
* The `constructions` sub-folder should contain the following files: `opaque_material.json`,
`opaque_construction.json`, `window_material.json`, `window_constructions.json`.
These files should possess objects that match their names.
* The `schedules` sub-folder should have all schedules in a `schedule.json` file.
* The `constructionsets` and `programtypes` folder can possess any number of JSON
files with their respective objects.
* Any objects that make up larger objects must be present. For example, all of the
constructions that make up the objects in `constructionsets` must be found in the
`constructions` sub-folder.