bokeh.server.session#

Provides the ServerSession class.

class ServerSession(session_id: ID, document: Document, io_loop: IOLoop | None = None, token: str | None = None)[source]#

Hosts an application “instance” (an instantiated Document) for one or more connections.

notify_connection_lost() None[source]#

Notify the document that the connection was lost.

classmethod patch(message: msg.patch_doc, connection: ServerConnection) msg.ok[source]#

Handle a PATCH-DOC, return a Future with work to be scheduled.

classmethod pull(message: msg.pull_doc_req, connection: ServerConnection) msg.pull_doc_reply[source]#

Handle a PULL-DOC, return a Future with work to be scheduled.

classmethod push(message: msg.push_doc, connection: ServerConnection) msg.ok[source]#

Handle a PUSH-DOC, return a Future with work to be scheduled.

request_expiration() None[source]#

Used in test suite for now. Forces immediate expiration if no connections.

subscribe(connection: ServerConnection) None[source]#

This should only be called by ServerConnection.subscribe_session or our book-keeping will be broken

unsubscribe(connection: ServerConnection) None[source]#

This should only be called by ServerConnection.unsubscribe_session or our book-keeping will be broken

async with_document_locked(func: Callable[[...], T], *args: Any, **kwargs: Any) T[source]#

Asynchronously locks the document and runs the function with it locked.

property token: str#

A JWT token to authenticate the session.

current_time() float[source]#

Return the time in milliseconds since the epoch as a floating point number.