Language Bindings

Because the input accepted by BokehJS is an object graph, represented by declarative bits of JSON, any language that can generate the right JSON can generate Bokeh plots in the browser.

Resources for Authors

Since the low-level object interface in Python mirrors the JSON schema exactly, the best, most authoritative source of information for anyone writing bindings for Bokeh are the reference guide sections for the bokeh.core.properties and bokeh.models. In particular, the models reference has a JSON prototype for every models in the Bokeh object system.

Additionally, there is a very low-traffic bokeh-dev mailing list that is intended to be a high-signal communication channel for Bokeh language binding developers. If you are interested in being added to this mailing list, please contact us.

Known Bindings

These are the currently known projects that expose Bokeh to languages other than Python. If you know of any that are not on this list, or if you want to work on a new language binding for Bokeh and need some help, please let us know.

rbokeh
The rbokeh project, started by @hafen, adds support for Bokeh to the R language.
bokeh.jl
Created by @samuelcolvin, the bokeh.jl project brings Bokeh to Julia users.
bokeh-scala
The bokeh-scala exposes Bokeh in the Scala language. The project was created by the Bokeh core dev team’s own @mattpap.
bokeh.lua
The iTorch project, created by Facebook, integrates Bokeh as the solution for interactive plotting in a Jupyter notebook. Minimal Lua bindings were generated to support this effort.