bokeh.models.callbacks

Client-side interactivity.

class Callback(**kwargs)

Bases: bokeh.model.Model

Base class for interactive callback. Callback is generally not useful to instantiate on its own.

JSON Prototype
{
  "id": "2efb4e2f-0936-4e19-b681-3f372f7f08f9",
  "name": null,
  "tags": []
}
class CustomJS(**kwargs)

Bases: bokeh.models.callbacks.Callback

Execute a JavaScript function.

classmethod from_py_func(func)

Create a CustomJS instance from a Python function. The function is translated to Python using PyScript.

args

property type: args:Dict(String, Instance(Model))

A mapping of names to Bokeh plot objects. These objects are made available to the callback code snippet as the values of named parameters to the callback.

code

property type: code:String

A snippet of JavaScript/CoffeeScript code to execute in the browser. The code is made into the body of a function, and all of of the named objects in args are available as parameters that the code can use. Additionally, a cb_obj parameter contains the object that triggered the callback and an optional cb_data parameter that contains any tool-specific data (i.e. mouse coordinates and hovered glyph indices for the HoverTool).

lang

property type: lang:Enum(‘javascript’, ‘coffeescript’)

The implementation scripting language of the snippet. This can be either raw JavaScript or CoffeeScript. In CoffeeScript’s case, the snippet will be compiled at runtime (in a web browser), so you don’t need to have node.js/io.js, etc. installed.

JSON Prototype
{
  "args": {},
  "code": "",
  "id": "da33fe91-9e43-496e-814b-dd2b8c126b72",
  "lang": "javascript",
  "name": null,
  "tags": []
}
class OpenURL(**kwargs)

Bases: bokeh.models.callbacks.Callback

Open a URL in a new tab or window (browser dependent).

url

property type: url:String

The URL to direct the web browser to. This can be a template string, which will be formatted with data from the data source.

JSON Prototype
{
  "id": "fdb53083-8f35-4622-8d9a-4340fe882257",
  "name": null,
  "tags": [],
  "url": "http://"
}