orangeqs.juice.dashboard.widgets.active_user_widget#

Active user widget for the OrangeQS Juice Dashboard.

Module Contents#

Classes#

ActiveUserWidget

Lists who is working on the setup, most recently active first.

API#

class orangeqs.juice.dashboard.widgets.active_user_widget.ActiveUserWidget(*, doc: bokeh.document.Document | None = None, list_users: collections.abc.Callable[[], list[orangeqs.juice.schemas.jupyterhub.ActiveUser]] | None = None)#

Lists who is working on the setup, most recently active first.

async update() → None#

Look up the active users and re-render.

The JupyterHub lookup blocks, so it runs in a thread and without_document_lock keeps this coroutine off the document lock while it waits; the render is scheduled back onto the document.