Skip to main content

Honeybee-energy extension for standards, codes, and templates.

Project description

Build Status Coverage Status

Python 2.7 Python 3.6

honeybee-energy-standards

Honeybee-energy extension for standards, codes, and templates.

All of the data that this module adds to the honeybee-energy.lib comes from the OpenStudio Standards Gem and the master Google Sheets files that possess all of the most recent data. The original sources of this data include the following:

Installation

pip install honeybee-energy-standards

QuickStart

import honeybee_energy_standards

API Documentation

Local Development

  1. Clone this repo locally
git clone git@github.com:ladybug-tools/honeybee-energy-standards

# or

git clone https://github.com/ladybug-tools/honeybee-energy-standards
  1. Install dependencies:
cd honeybee-energy-standards
pip install -r dev-requirements.txt
pip install -r requirements.txt
  1. Run Tests:
python -m pytests tests/
  1. Generate Documentation:
sphinx-apidoc -f -e -d 4 -o ./docs ./honeybee_energy_standards
sphinx-build -b html ./docs ./docs/_build/docs
  1. Re-generate the Data from the OpenStudio Standards Gem (or to update the JSONs based on changes to the honeybee schema)
from honeybee_energy_standards._util._all import clean_all, remove_all
from honeybee_energy_standards._util._all 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/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 honeybee_energy_standards._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

Note to developers using this repo as an example

Developers may use this repositiory 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 that all of the Python code within the honeybee_energy_standards package of this repository is not required to make such an extenstion and the only required folder within the package is the data folder. All Python code of this package only exists to update the JSONs within this data folder, which are what actually extend the honeybee_energy package. The data folder of any extension must obey the following rules:

  • All JSONs must use the Honeybee Model Schema 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 following sub-folders of data must be present: constructions, constructionsets, schedules and programtypes.
  • 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.
  • The 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

honeybee-energy-standards-1.4.2.tar.gz (429.9 kB view hashes)

Uploaded Source

Built Distribution

honeybee_energy_standards-1.4.2-py2.py3-none-any.whl (455.4 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page