bokeh.application.handlers.directory#
Provide a Bokeh Application Handler to build up documents by running
the code from main.py or main.ipynb files in specified directories.
The directory may also optionally contain:
A
server_lifecyle.pymodule to provide lifecycle callbacks for the application and sessions.A
staticsubdirectory containing app-specific static resources to serve.A
theme.yamlfile containing a Bokeh theme to automatically apply to all new documents.A
templatessubdirectory containing templates for app display
A full directory layout might look like:
myapp
|
+---main.py
+---server_lifecycle.py
+---static
+---theme.yaml
+---templates
+---index.html
- class DirectoryHandler(*, filename: PathLike, argv: list[str] = [])[source]#
Load an application directory which modifies a Document.
- __init__(*, filename: PathLike, argv: list[str] = []) None[source]#
- Keywords:
filename (str) : a path to an application directory with either “main.py” or “main.ipynb”
argv (list[str], optional) : a list of string arguments to make available as sys.argv to main.py
- modify_document(doc: Document) None[source]#
Execute the configured
main.pyormain.ipynbto modify the document.This method will also search the app directory for any theme or template files, and automatically configure the document with them if they are found.
- on_server_loaded(server_context: ServerContext) None[source]#
Execute on_server_unloaded` from
server_lifecycle.py(if it is defined) when the server is first started.- Parameters:
server_context (ServerContext) –
- on_server_unloaded(server_context: ServerContext) None[source]#
Execute
on_server_unloadedfromserver_lifecycle.py(if it is defined) when the server cleanly exits. (Before stopping the server’sIOLoop.)- Parameters:
server_context (ServerContext) –
Warning
In practice this code may not run, since servers are often killed by a signal.
- on_session_created(session_context: SessionContext) Coroutine[Any, Any, None][source]#
Execute
on_session_createdfromserver_lifecycle.py(if it is defined) when a new session is created.- Parameters:
session_context (SessionContext) –
- on_session_destroyed(session_context: SessionContext) Coroutine[Any, Any, None][source]#
Execute
on_session_destroyedfromserver_lifecycle.py(if it is defined) when a session is destroyed.- Parameters:
session_context (SessionContext) –
- process_request(request: HTTPServerRequest) dict[str, Any][source]#
Processes incoming HTTP request returning a dictionary of additional data to add to the session_context.
- Parameters:
request – HTTP request
- Returns:
A dictionary of JSON serializable data to be included on the session context.