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
FunctionHandler
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 (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.
trap_exceptions (bool) – should exceptions in func be caught and logged or allowed to propagate
modify_document
Execute the configured func to modify the document.
func
After this method is first executed, safe_to_fork will return False.
safe_to_fork
False
Whether it is still safe for the Bokeh server to fork new workers.
False if modify_doc has already been called.
modify_doc