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 returnFalse
.
-
safe_to_fork
¶ Whether it is still safe for the Bokeh server to fork new workers.
False
ifmodify_doc
has already been called.
-