I am working on a server with confidential data and would like to use bokeh. I am not allowed to push the data to the bokeh server. Can I use the jupyter Notebook Version of bokeh without connecting to the server?
Certainly, if you pass plain Bokeh objects (e.g. plots, layouts) to
show, that just renders output using the BokehJS library only, without invoking the server. For the server to come in to play, you have to pass a Python function to show (often called
nbconvert a notebook, all that data will remain in the output, as data.
If you want static image output, you can generate PNGs. You should be aware in that case that all the data must be sent to a separate PhantomJS process so that BokehJS can render the data in a specially instrumented headless browser in order to generate and save out the PNGs.
It’s worth mentioning in passing: when you embed a Bokeh server app in a notebook (specifically in the notebook case), all that actually does is add some coroutines to the existing Jupyter kernal IOLoop. So “pushing to the server” is a bit misleading since all the data remains in the same Jupyter kernel process where it began. (It gets sent via websocket to from one part of the same process to another) In any case the server routines are not started unless you ask them to be started by passing a
modify_doc function to
the bokeh icon does not load, but the message: Loading Bokeh… persists. What is the Problem here?
You are on an airgapped network? Or behind a very restrictive firewall? That icon is loaded from a bokeh.org website, even when “inline” BokehJS resources are used. You can pass the argument
output_notebook if you just want to hide the standard output message and logo altogether.