🐝 A python library to create, run and visualize the results of daylight (radiance) and energy analysis (OpenStudio).
Clone or download
semantic-release and ladybugbot 0.1.2
Latest commit 9658488 Nov 8, 2018



Build Status Coverage Status

Python 2.7 IronPython


Honeybee is a Python library to create, run and visualize the results of daylight (RADIANCE) and energy analysis (EnergyPlus/OpenStudio). The current version supports only Radiance integration. For energy simulation you may use the legacy honeybee for Grasshopper.

This repository includes the core library which is the base for Honeybee plugins. For plugin-specific questions and comments refer to honeybee-grasshopper or honeybee-dynamo repositories.

Check this repository for the legacy honeybee plugin for Grasshopper.


pip install lbt-honeybee

Tentative road map

  • Basic Radiance Integration.
  • Support annual daylight simulation - daylight coefficient method [Nov 2016].
  • Support three-phase daylight simulation [Dec 2016].
  • Support five-phase daylight simulation [Aug 2017].
  • Fix PEP 8 issues [Dec 2017]
  • Code documentation [Dec 2017]
  • Provide cloud service support for daylight simulation.
  • Basic EnergyPlus integration.
  • Support basic HVAC modeling.
  • Full OpenStudio integration.

API Documentation

Citing honeybee

For the daylighting library cite this presentation:

Sadeghipour Roudsari, Mostapha. Subramaniam, Sarith. 2016. Automating Radiance workflows with Python. The 15th Annual Radiance Workshop. Padua, Italy. Available at: https://www.radiance-online.org/community/workshops/2016-padua/presentations/213-SadeghipourSubramaniam-AutomatingWorkflows.pdf `


Here is a Python example that shows how to put a grid-based analysis together. For more examples check one of the plugins repository.

from honeybee.room import Room
from honeybee.radiance.material.glass import Glass
from honeybee.radiance.sky.certainIlluminance import CertainIlluminanceLevel
from honeybee.radiance.recipe.pointintime.gridbased import GridBased

# create a test room
room = Room(origin=(0, 0, 3.2), width=4.2, depth=6, height=3.2,

# add fenestration
#  # add a window to the back wall
room.add_fenestration_surface(wall_name='back', width=2, height=2, sill_height=0.7)

# add another window with custom material. This time to the right wall
glass_60 = Glass.by_single_trans_value('tvis_0.6', 0.6)
room.add_fenestration_surface('right', 4, 1.5, 1.2, radiance_material=glass_60)

# run a grid-based analysis for this room
# generate the sky
sky = CertainIlluminanceLevel(illuminance_value=2000)

# generate grid of test points
analysis_grid = room.generate_test_points(grid_size=0.5, height=0.75)

# put the recipe together
rp = GridBased(sky=sky, analysis_grids=(analysis_grid,), simulation_type=0,

# write and run the analysis
batch_file = rp.write(target_folder=r'c:\ladybug', project_name='room')
rp.run(batch_file, debug=False)

# results - in this case it will be an analysis grid
result = rp.results()[0]

# print the values for each point
for value in result.combined_value_by_id():
    print('illuminance value: %d lux' % value[0])