Skip to content

justinlubin/honeybee

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

701 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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:

  • 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.

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

Analyze experimental data with Programming by Navigation

Topics

Resources

License

Stars

Watchers

Forks

Contributors