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.
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 model
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.
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.
The rbokeh project, started by @hafen, adds support
for Bokeh to the R language.
Originally created by @samuelcolvin, the
bokeh.jl project brings Bokeh to Julia users.
The bokeh.jl binding is currently unmaintained. If you are interested in
picking up the bokeh.jl work, please contact the core devs.
The bokeh-scala exposes Bokeh in the Scala language. The
project was created by the Bokeh core dev team’s own @mattpap.