Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork7.9k
WebAgg based jupyter notebook backend#29725
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
This is an interesting technical approach and fine for local usage but it does not work for Jupyter notebooks in general. At its heart Jupyter is a protocol for messages sent between a front end (web browser) and a backend (Jupyter server) that may be running on the same or different machine, and can spawn new kernel processes (e.g. python) on the same or different machines. The communication here to update the plot is using direct communication between the front end and webagg's So probably it is best not to claim that works in Jupyter. At best you will end up having to deal with questions about Note that to really get the I think your ultimate motivation here is to support blitting and avoid event accumulation in Matplotlib plots in Jupyter, in which case perhaps the best approach would be to continue with#27160. It looks like that was progressing well but stalled because you didn't have time to address the review comments. If you could get that working to your satisfaction here in the |
Thank you very much@ianthomas23 for your detailed comment! I fully agree with your view on this. Indeed I can try to find the time to finish#27160 properly, but to be honest, one reason why I've lost a bit of pace is because I've been I can fix the python-side, but I don't have the time to dig into the javascript code since it's not my expertise... To be clear, an
|
Uh oh!
There was an error while loading.Please reload this page.
I've been playing around a bit with
webagg
andjupyter notebooks
to finally get a backend thatfully supports the interactive features ofEOmaps... (e.g. that properly supports blitting)
In the process, I've noticed that it is possible to create a quite minimalist implementation of a
webagg
based backend forjupyter notebooks
that does the job nicely!The idea here is the following:
ipywidgets
HTML
widget to<iframe>
the generatedwebagg
page into the notebook.This works really nice out of the box and together with#27160 it is a backend that finally supports blitting in jupyter notebooks without any lags or glitches.
Would be nice to get an opinion from your side on this idea (and if you think something like this should go into matplotlib or if this is better kept insideEOmaps and loaded with
%matplotlib module://eomaps.backend_webagg_widget
.PR checklist