How to enable the `BOKEH_RESOURCES=inline` in a JupyterNotebook

I want to contribute to the bokeh project and did follow this introduction.

After successfully running the iris example I tried to modify bokehJS source code added some console.log().
I normally work with JupyterNotebooks. But I can’t see any prints in the JavaScript console, when I run my example. I know I have to enable BOKEH_RESOURCES=inline.

Here is what I have tried in the notebook.

from bokeh.settings import settings
settings.resources = 'inline'

and also

from bokeh.resources import INLINE
output_notebook(resources=INLINE)

What am I doing wrong?

Are you actually building BokehJS after modifying the Typescript source code? i.e. Have you followed the process here in the Developer’s Guide:

Yes, I did. I was also uninstalling and reinstalling bokeh.

Thank you for your support. Now it is running and working after I did rebuild it again.

In my opinion I did the same steps then before. I guess my computer has some strange problem, because it is the second time today that changes needed an huge amount of time to be available. Or maybe my computer is telling me that it is time for the weekend now.

Thanks again.

1 Like

Hello again.
I wanted to share my status, because I have still troubles getting the lastest build of bokehjs working. At the moment I have to close and re-open the Browser before I can use the latest build. This is a beginners guess, but maybe the old one is still in the cash.

This is why it worked, after I got some support from here, because I cloesed the Browser in the meantime.

I hope this will safe someone some time.

Once BokehJS is loaded in a notebook page, it is loaded. At a minimum, to pick up BokehJS changes, a “restart and clear output cells” is necessary, or opening a new page to clear it out. However, if you are developing on BokehJS, I would actually strongly advise just using plain scripts and avoiding the notebook completely, unless what you are working on is directly related to notebook integration. It’s just an unnecessary complication.

By the way @mosc9575 if your issue is caching you can open up the developer panel on chrome (Ctrl+Shift+i) and switch to the ‘network’ tab - in the top of the tab there is a checkbox ‘Disable cache’ as long as the developer panel is open it should always try to get a fresh copy ignoring the caching rules.

hopefully that helps!

@anx if you are using INLINE resources, then the BokehJS is literally appended to the DOM as <script> tags in a notebook output cell—that’s what “inline” signifies. Caching of network loads has no bearing on things when BokehJS is not loaded from the network CDN. The output cells need to be cleared by Jupyter, and then re-executed.

1 Like