Honeybee is a programming tool scientists can use to help them write Python code to analyze experimental data. Its goal is to enable scientists to write the programs they need with only domain expertise, not programming expertise.
The frontend for Honeybee—which currently targets experimental biology—can be accessed via the Honeybee Editor.
Honeybee is based on our recent work on Programming by Navigation appearing in PLDI 2025.
hb-demo-003.mp4
The main directories are:
engine: Programming by Navigation synthesis (all the algorithms behind Honeybee). Written in Rust.editor: Frontend code for the Honeybee Editor. Written in Elm.honey_lang: An ergonomic Python API (Honey) to define building blocks for Honeybee. Written in Python.honey_libs: Honeybee libraries. Written in Python using Honey.
The pldi25 directory contains materials for the PLDI 2025 artifact evaluation,
including the benchmarks we used (in the benchmark subdirectory). The easiest
way to run the artifact evaluation is to follow the steps on the pre-packaged
Zenodo archive for the project.
Honeybee is part of a broader project we’re working on called SciInterop to enable scientists across a variety of scientific domains to write code with only domain expertise, not programming expertise. Honeybee and SciInterop are based on our recent work on Programming by Navigation, which is agnostic to the underlying scientific domain. SciInterop can therefore support domains that look very different from biology, like geospatial data analysis. For example, for geospatial data analysis, we’re incorporating bread-and-butter computational analyses such as the normalized difference vegetation index (NDVI). Beyond additional domains, we are also working on capabilities for SciInterop to help debug experimental design issues before time-consuming and costly experiments get run as well as functionality to import existing scientific publications into a Honeybee-like navigation interface. Stay tuned to our website honeybee-lang.org and our GitHub repository to stay up-to-date on our project!