bokeh.document.locking¶
- class UnlockedDocumentProxy(doc: Document)[source]¶
Wrap a Document object so that only methods that can safely be used from unlocked callbacks or threads are exposed. Attempts to otherwise access or change the Document results in an exception.
- without_document_lock(func: bokeh.document.locking.F) bokeh.document.locking.NoLockCallback[bokeh.document.locking.F] [source]¶
Wrap a callback function to execute without first obtaining the document lock.
- Parameters
func (callable) – The function to wrap
- Returns
a function wrapped to execute without a
Document
lock.- Return type
callable
While inside an unlocked callback, it is completely unsafe to modify
curdoc()
. The value ofcurdoc()
inside the callback will be a specially wrapped version ofDocument
that only allows safe operations, which are:Only these may be used safely without taking the document lock. To make other changes to the document, you must add a next tick callback and make your changes to
curdoc()
from that second callback.Attempts to otherwise access or change the Document will result in an exception being raised.