bokeh.command.util#

Provide utility functions for implementing the bokeh command.

build_single_handler_application(path: str, argv: list[str] | None = None) Application[source]#

Return a Bokeh application built using a single handler for a script, notebook, or directory.

In general a Bokeh Application may have any number of handlers to initialize Document objects for new client sessions. However, in many cases only a single handler is needed. This function examines the path provided, and returns an Application initialized with one of the following handlers:

Parameters:
  • path (str) – path to a file or directory for creating a Bokeh application.

  • argv (seq[str], optional) – command line arguments to pass to the application handler

Returns:

Application

Raises:

RuntimeError

Notes

If path ends with a file main.py then a warning will be printed regarding running directory-style apps by passing the directory instead.

build_single_handler_applications(paths: list[str], argvs: dict[str, list[str]] | None = None) dict[str, Application][source]#

Return a dictionary mapping routes to Bokeh applications built using single handlers, for specified files or directories.

This function iterates over paths and argvs and calls build_single_handler_application() on each to generate the mapping.

Parameters:
  • paths (seq[str]) – paths to files or directories for creating Bokeh applications.

  • argvs (dict[str, list[str]], optional) – mapping of paths to command line arguments to pass to the handler for each path

Returns:

dict[str, Application]

Raises:

RuntimeError

die(message: str, status: int = 1) Never[source]#

Print an error message and exit.

This function will call sys.exit with the given status and the process will terminate.

Parameters:
  • message (str) – error message to print

  • status (int) – the exit status to pass to sys.exit

report_server_init_errors(address: str | None = None, port: int | None = None, **kwargs: str) Iterator[None][source]#

A context manager to help print more informative error messages when a Server cannot be started due to a network problem.

Parameters:
  • address (str) – network address that the server will be listening on

  • port (int) – network address that the server will be listening on

Example

with report_server_init_errors(**server_kwargs):
    server = Server(applications, **server_kwargs)

If there are any errors (e.g. port or address in already in use) then a critical error will be logged and the process will terminate with a call to sys.exit(1)