Hoping an experienced Bokeh user share compatibility / appropriateness of application information

I have two very different projects I am looking at Bokeh for. Is Bokeh appropriate, reasonably the best choice?

Application One

is run locally (127.0.0.1) in a JupyterLab python application. After spending some time trying to do some things with the ipywidgets, I landed on the bokey widgets documentation for what I want to do. Thus my question is, will this work out of the box in the JupyterLab? By this I mean that with reasonable expectations, after the import and perhaps another line or two is added at the top of the notebook, then bokey will works for interactive plotting.

Also then, wouold bokey be using a separate kernel/server from JupyterLab? Would state be shared?

Application Two

A large javascript application communicates dynamically through a websocket. The backend is C++. Can bokey be used to add interactive graphics that display in divs within the existing application?

This question is too vague to be answered, and really depends on exactly what you mean by “interactive” (and of course “reasonable expectations” which in my experience with users over ten years, can vary wildly). Please describe your specific actual use-case/requirements in more detail.

Also then, wouold bokey be using a separate kernel/server from JupyterLab? Would state be shared?

Same as above, not enough information to say. Depending on what you mean, how you do things, the answer could be yes or it could be no.

In general, the best approach to this kind of question is to describe your requirements and needs directly, without any references or assumptions about technologies or implementations.

Can bokey be used to add interactive graphics that display in divs within the existing application?

Yes, you can use the BokehJS JavaScript library directly, without any Python. It’s not quite as developed/documented as the Python counterpart, but the usage demonstrated in these examples should be stable:

mean by “interactive”

For example, a financial chart where the user may pull a slider and watch the horizontal scale expand or collapse. As the description becomes more specific it ramifies into a tree. That is probably a good representation of what would be found on the branches.

“reasonable expectations”

The architecture and implementation is intended to be used in such a manner, but of course, unintended things, things that would end up on a list of issues, will come up. I noticed a number of discussions on this site that were a couple of years old but no longer relevant because they were fixed. It is not reasonable to expect zero problems.

kernel … no enough information

Would two servers be running or one? Is Brokeh integrated into the server the same server that tge notebook is talking with, or does it go off an look for a different socket number. If it is the latter than how the heck does it integrate state with the notebook … would their be a communication problem to communicate state between them?

Thanks Bryan for that comment and link about using Bokej as a JS library without Python.