The plot viewer could contain a QWebView widget to show bokeh or other iterative visualizations, maybe even matplotlib's interactive webagg.
Instead of redirecting things to the Plots plugin, I think we should create a new plugin called Viewer.
Presumably, would there be a way for Spyder to detect that interactive output needed to be redirected to the Viewer pane rather than the plots plugin or the Console?
Objects that want to output html content let Jupyter frontends know about it so they can handle that content accordingly. So we need to capture that content and re-route it to the Viewer.
Would this require modification to qtconsole?
Yes, we need to make it emit all html content it comes from the kernel through a QtSignal. Then we need to capture that content in Spyder and send it to Viewer.
The problem with Viewer is that it needs to contain the html/js/css that a regular Jupyter notebook has because most libraries expect that.
i suggest we do not add another panel called viewer. seems like too much on top of a plots one, we should have one or the other snd render all type of plots in there. To do this I suggest we use the panel library.
i suggest we do not add another panel called viewer
It'd be not only for plots, but for any kind of web content. And for that we need a new pane.
i suggest we do not add another panel called viewer. seems like too much on top of a plots one, we should have one or the other snd render all type of plots in there.
I agree. The viewer panel would replace the current plot panel. The viewer pannel should be able to show interactive plots from matplotlib like the notebook has. I would like it to have a similar interface. With the previews on the side, but with the content in the main window interactive.
To do this I suggest we use the panel library.
I just briefly read up on panel and it looks great, but I don't see what the advantage pressing one solution over another. Would this save the effort of implementing the html/js/css of a Jupyter notebook?
An html viewer would support panel as well as any other technology used in the
notebook.
I think panel would allow to have a single interface for embedding stuff (be it bokeh or anything else)