bokeh.models.callbacks

Client-side interactivity.

class Callback(**kwargs)[source]

Bases: bokeh.model.Model

Base class for interactive callback.

Note

This is an abstract base class used to help organize the hierarchy of Bokeh model types. It is not useful to instantiate on its own.

JSON Prototype
{
  "id": "528c401b-da19-4430-b09b-802e3a4d8077",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "name": null,
  "subscribed_events": [],
  "tags": []
}
class CustomJS(**kwargs)[source]

Bases: bokeh.models.callbacks.Callback

Execute a JavaScript function.

Warning

The explicit purpose of this Bokeh Model is to embed raw JavaScript code for a browser to execute. If any part of the code is derived from untrusted user inputs, then you must take appropriate care to sanitize the user input prior to passing to Bokeh.

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 JavaScript using PyScript.

JSON Prototype
{
  "args": {},
  "code": "",
  "id": "c1e94925-943b-4f31-a800-5356f38c878f",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "name": null,
  "subscribed_events": [],
  "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": "425be8d3-26da-46bb-837b-f479e23eb489",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "name": null,
  "subscribed_events": [],
  "tags": [],
  "url": "http://"
}