Honeybee LBT
lbt-honeybee is a Python metapackage that bundles the core Honeybee libraries for environmental building performance analysis. It provides access to tools for creating building geometry, assigning materials and boundary conditions, and preparing models for advanced simulations like daylighting (Radiance) and energy analysis (EnergyPlus/OpenStudio). The current version is 0.9.297, and it sees frequent minor updates, primarily for dependency bumps.
Common errors
-
ModuleNotFoundError: No module named 'lbt_honeybee.model'
cause Attempting to import classes directly from the `lbt_honeybee` package, which is a metapackage and does not contain the core classes itself.fixImport core classes from `honeybee` (e.g., `from honeybee.model import Model`) or specific sub-packages like `honeybee_energy` or `honeybee_radiance`. -
Error: Failed to find energyplus executable
cause The EnergyPlus simulation engine is not installed or not correctly configured in the system's PATH, preventing energy simulations.fixInstall EnergyPlus and ensure its executables are accessible from your system's PATH. Consult the Ladybug Tools installation guide for detailed steps. -
AttributeError: 'Model' object has no attribute 'add_zone'
cause Confusing `honeybee.model.Model` (core geometry) with `honeybee_energy.model.Model` (energy model). Specific energy-related methods often reside on the `honeybee_energy` model.fixEnsure you are using the correct `Model` class for your intended operation. For energy-specific tasks, import `from honeybee_energy.model import Model as EnergyModel` and use that instance.
Warnings
- gotcha lbt-honeybee is a metapackage. While it installs all necessary components, you generally import classes and functions from the individual sub-packages (e.g., `honeybee`, `honeybee_energy`, `honeybee_radiance`) rather than `lbt_honeybee` directly.
- breaking The Honeybee Python SDK is currently in a 0.x.x version series, indicating that its API is not yet stable. Breaking changes may occur between minor versions as the project evolves towards 1.0.
- gotcha For full energy and daylighting simulation capabilities, external simulation engines like EnergyPlus, OpenStudio, and Radiance must be installed and correctly configured on your system. These are not bundled with the Python package.
Install
-
pip install lbt-honeybee
Imports
- Model
from lbt_honeybee.model import Model
from honeybee.model import Model
- Face
from lbt_honeybee.face import Face
from honeybee.face import Face
- EnergyModel
from honeybee_energy.model import Model as EnergyModel
- RadianceModel
from honeybee_radiance.model import Model as RadianceModel
Quickstart
from honeybee.model import Model
from honeybee.face import Face
from honeybee.boundary import adiabatic_boundary_condition
from honeybee.geometry.face import rectangular_face_by_origin_and_vectors
# Create a rectangular floor with origin at (0, 0, 0), width 10 and depth 5
floor_geo = rectangular_face_by_origin_and_vectors((0,0,0), (10,0,0), (0,5,0))
floor = Face('Floor', floor_geo, bc=adiabatic_boundary_condition)
# Create a Model from the floor
model = Model('SimpleFloorModel', faces=[floor])
print(f"Created Honeybee Model: {model.display_name}")
print(f"Model as JSON (first 200 chars):\n{model.to_json()[:200]}...")