Skip to content

justinlubin/honeybee

Repository files navigation

Honeybee

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.

Honeybee Editor video demo

hb-demo-003.mp4

Repository structure

The main directories are:

  • backend: Programming by Navigation synthesis (all the algorithms behind Honeybee). Written in Rust.
  • editor: Frontend code for the Honeybee Editor. Written in Elm.
  • library-generator: An ergonomic Python API to define building blocks for Honeybee and a working library for experimental biology. Written in Python.

The artifact-eval directory contains materials for the PLDI 2025 artifact evaluation and the benchmark directory contains the benchmarks we used for our PLDI 2025 publication.

Beyond Honeybee

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!

About

Programming by Navigation with Honeybee!

Topics

Resources

License

Stars

Watchers

Forks

Contributors 5