bokeh.application.handlers.function#
Provide a Bokeh Application Handler to build up documents by running a specified Python function.
This Handler is not used by the Bokeh server command line tool, but is often useful if users wish to embed the Bokeh server programmatically:
def make_doc(doc: Document):
# do work to modify the document, add plots, widgets, etc.
return doc
app = Application(FunctionHandler(make_doc))
server = Server({'/bkapp': app}, io_loop=IOLoop.current())
server.start()
For complete examples of this technique, see examples/server/api
- class FunctionHandler(func: Callable[[Document], None], *, trap_exceptions: bool = False)[source]#
A Handler that accepts a plain python function to use for modifying Bokeh Documents.
For example, the following code configures a handler with a function that adds an empty plot to a Document:
def add_empty_plot(doc: Document): p = figure(x_range=(0, 10), y_range=(0, 10)) doc.add_root(p) return doc handler = FunctionHandler(add_empty_plot)
This handler could be configured on an Application, and the Application would run this function every time a new session is created.
- __init__(func: Callable[[Document], None], *, trap_exceptions: bool = False) None [source]#
- Parameters:
func (callable) –
a function to modify and return a Bokeh Document. The function should have the form:
def func(doc: Document): # modify doc return doc
and it should return the passed-in document after making any modifications in-place.
trap_exceptions (bool) – should exceptions in func be caught and logged or allowed to propagate