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 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.
bokeh-dev
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.