[![Build Status](https://travis-ci.com/ladybug-tools/honeybee-energy-standards.svg?branch=master)](https://travis-ci.com/ladybug-tools/honeybee-energy-standards)
[![Python 2.7](https://img.shields.io/badge/python-2.7-green.svg)](https://www.python.org/downloads/release/python-270/) [![Python 3.6](https://img.shields.io/badge/python-3.6-blue.svg)](https://www.python.org/downloads/release/python-360/)
# 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.
Raw data
{
"_id": null,
"home_page": "https://github.com/ladybug-tools/honeybee-energy-standards",
"name": "honeybee-energy-standards",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "Ladybug Tools",
"author_email": "info@ladybug.tools",
"download_url": "https://files.pythonhosted.org/packages/71/ae/0e80522907aaf76b3f8928e9671f74e86c3df84ca33b30d3771316e5f49b/honeybee-energy-standards-2.3.0.tar.gz",
"platform": null,
"description": "[![Build Status](https://travis-ci.com/ladybug-tools/honeybee-energy-standards.svg?branch=master)](https://travis-ci.com/ladybug-tools/honeybee-energy-standards)\n\n[![Python 2.7](https://img.shields.io/badge/python-2.7-green.svg)](https://www.python.org/downloads/release/python-270/) [![Python 3.6](https://img.shields.io/badge/python-3.6-blue.svg)](https://www.python.org/downloads/release/python-360/)\n\n# honeybee-energy-standards\n\nHoneybee-energy extension for standards, codes, and templates.\n\nAll of the data that this module adds to the [honeybee-energy](https://github.com/ladybug-tools/honeybee-energy).lib comes from the\n[OpenStudio Standards Gem](https://github.com/NREL/openstudio-standards) and the master\n[Google Sheets files](https://drive.google.com/drive/folders/1x7yEU4jnKw-gskLBih8IopStwl0KAMEi)\nthat possess all of the most recent data. The original sources of this data include the following:\n\n* The US Department of Energy [Commercial Reference Buildings](https://www.energy.gov/eere/buildings/commercial-reference-buildings).\n* The [ASHRAE Standard 90.1](https://www.ashrae.org/technical-resources/bookstore/standard-90-1) including all versions from 2004 to the present.\n* The [Commercial Buildings Energy Consumption Survey (CBECS)](https://www.eia.gov/consumption/commercial/), specifically for any templates before ASHRAE Standard 90.1 2004.\n\n## Installation\n\n```console\npip install honeybee-energy-standards\n```\n\n## QuickStart\n\n```python\nimport honeybee_energy_standards\n\n```\n\n## [API Documentation](http://ladybug-tools.github.io/honeybee-energy-standards/docs)\n\n## Local Development\n\n1. Clone this repo locally\n\n```console\ngit clone git@github.com:ladybug-tools/honeybee-energy-standards\n\n# or\n\ngit clone https://github.com/ladybug-tools/honeybee-energy-standards\n```\n\n2. Install dependencies:\n\n```console\ncd honeybee-energy-standards\npip install -r dev-requirements.txt\n```\n\n3. Run Tests:\n\n```console\npython -m pytest tests/\n```\n\n4. Re-generate the Data from the [OpenStudio Standards Gem](https://github.com/NREL/openstudio-standards)\n(or to update the JSONs based on changes to the honeybee schema)\n\n```python\nfrom standards_update._util._all import clean_all, remove_all\nfrom standards_update._util._to_honeybee import convert_to_hb_json, remove_hb_jsons\n\nremove_hb_jsons() # remove all of the honeybee JSON data that currently exists\n\n# generate clean OpenStudio Standards Data JSONs from the gem\nashrae_standards = 'C:/Users/chris/Documents/GitHub/nrel/openstudio-standards/lib/' \\\n 'openstudio-standards/standards/ashrae_90_1/'\nclean_all(ashrae_standards)\n\n# change the package to load all data from the clean Standards Gem JSONs\nimport standards_update._change_to_standards_data\n\nconvert_to_hb_json() # generate Honeybee JSONs from the clean Standards Gem JSONs\nremove_all() # remove all of the clean Standards Gem JSONs now that they're converted\n```\n\nThe resulting JSON data will be output to the data folder such that it can be\nchecked before copying it into honeybee_energy_standards.\n\n## Note to developers using this repo as an example\n\nDevelopers may use this repository and Python package as a template to create their\nown extensions for the library of standards accessible to honeybee_energy. For such\ndevelopers, it is important to know the rules that must be followed to have a\nsuccessful honeybee energy standards extension. First, any honeybee energy standards\nextension must have a package name the starts with `honeybee_energy` and ends\nwith `standards` (all words in between are up to the user, barring spaces and\nspecial characters).\n\nSecond, the following folders *MUST* be included in any honeybee energy standards\nextension:\n\n* `constructions`\n* `constructionsets`\n* `schedules`\n* `programtypes`\n\nThe following rules must be followed:\n\n* All JSONs must use the [Honeybee Model Schema](https://www.ladybug.tools/honeybee-schema/model.html)\n representation of objects and must be formatted with the name of the object as keys\n and the schema definition of the object as values.\n* The `constructions` sub-folder should contain the following files: `opaque_material.json`,\n `opaque_construction.json`, `window_material.json`, `window_constructions.json`.\n These files should possess objects that match their names.\n* The `schedules` sub-folder should have all schedules in a `schedule.json` file.\n* The `constructionsets` and `programtypes` folder can possess any number of JSON\n files with their respective objects.\n* Any objects that make up larger objects must be present. For example, all of the\n constructions that make up the objects in `constructionsets` must be found in the\n `constructions` sub-folder.\n",
"bugtrack_url": null,
"license": "AGPL-3.0",
"summary": "Honeybee-energy extension for standards, codes, and templates.",
"version": "2.3.0",
"project_urls": {
"Homepage": "https://github.com/ladybug-tools/honeybee-energy-standards"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3aa5efbcea0099e64bb7f69e446425598d19aa82b5c437316e28b52e6faa9aaa",
"md5": "adabd42d15a3d0da674549429bdb705b",
"sha256": "7694da8e4253b90bf02c41f54535cf51b3b26caab267087b743c9bfe89005fdb"
},
"downloads": -1,
"filename": "honeybee_energy_standards-2.3.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "adabd42d15a3d0da674549429bdb705b",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 499853,
"upload_time": "2023-10-17T23:06:32",
"upload_time_iso_8601": "2023-10-17T23:06:32.940310Z",
"url": "https://files.pythonhosted.org/packages/3a/a5/efbcea0099e64bb7f69e446425598d19aa82b5c437316e28b52e6faa9aaa/honeybee_energy_standards-2.3.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "71ae0e80522907aaf76b3f8928e9671f74e86c3df84ca33b30d3771316e5f49b",
"md5": "d219ce1de98f4b2ade02d3d073a2a15e",
"sha256": "59a1c7f9ba6b16d37038ef4995e0cedba43f3aadd1d263038700b04a3c9c77d5"
},
"downloads": -1,
"filename": "honeybee-energy-standards-2.3.0.tar.gz",
"has_sig": false,
"md5_digest": "d219ce1de98f4b2ade02d3d073a2a15e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 497736,
"upload_time": "2023-10-17T23:06:35",
"upload_time_iso_8601": "2023-10-17T23:06:35.085256Z",
"url": "https://files.pythonhosted.org/packages/71/ae/0e80522907aaf76b3f8928e9671f74e86c3df84ca33b30d3771316e5f49b/honeybee-energy-standards-2.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-17 23:06:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ladybug-tools",
"github_project": "honeybee-energy-standards",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "honeybee-energy-standards"
}