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.py
module to provide lifecycle callbacks for the application and sessions.A
static
subdirectory containing app-specific static resources to serve.A
theme.yaml
file containing a Bokeh theme to automatically apply to all new documents.A
templates
subdirectory 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: str | PathLike[str], argv: list[str] = [])[source]#
Load an application directory which modifies a Document.
- __init__(*, filename: str | PathLike[str], 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.py
ormain.ipynb
to 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_unloaded
fromserver_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_created
fromserver_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_destroyed
fromserver_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.