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):

    # 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/howto/server_embed

class FunctionHandler(func)[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):
    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)[source]
Parameters:func (callable) –

a function to modify and return a Bokeh Document. The function should have the form:

def func(doc):
    # modify doc
    return doc

and it should return the passed-in document after making any modifications in-place.

modify_document(doc)[source]

Execute the configured func to modify the document.

After this method is first executed, safe_to_fork will return False.

safe_to_fork

Whether it is still safe for the Bokeh server to fork new workers.

False if modify_doc has already been called.