bokeh.models.callbacks

Client-side interactivity.

class Callback(**kwargs)[source]

Bases: bokeh.model.Model

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

JSON Prototype
{
  "id": "f0157d7d-091a-4bf3-925a-d61af0f5bff4",
  "js_callbacks": {},
  "name": null,
  "tags": []
}
class CustomJS(**kwargs)[source]

Bases: bokeh.models.callbacks.Callback

Execute a JavaScript function.

args

property type: 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: String

A snippet of JavaScript 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).

Note

Use CustomJS.from_coffeescript() for CoffeeScript source code.

classmethod from_coffeescript(code, args={})[source]

Create a CustomJS instance from CoffeeScript code.

classmethod from_py_func(func)[source]

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

JSON Prototype
{
  "args": {},
  "code": "",
  "id": "47c11088-9428-40df-801e-b6b09436894e",
  "js_callbacks": {},
  "name": null,
  "tags": []
}
class OpenURL(**kwargs)[source]

Bases: bokeh.models.callbacks.Callback

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

url

property type: 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": "a121f852-fba2-404b-af57-d0079e10544c",
  "js_callbacks": {},
  "name": null,
  "tags": [],
  "url": "http://"
}