vega / ipyvega

IPython/Jupyter notebook module for Vega and Vega-Lite
BSD 3-Clause "New" or "Revised" License
372 stars 65 forks source link

Polestar with notebook configuration #1

Closed domoritz closed 9 years ago

domoritz commented 9 years ago

I think the easiest integration of polestar with IPython notebooks is to have a configuration that disables the dataset selector and somehow listens to data changes from the kernel. We should implement a postMessage like interface. regardless, we have to make sure that we keep things contained so it works in jupyter and colab.

wrobstory commented 9 years ago

Not sure if this will be helpful or not, but I've done some exploratory work using the widget communication layer for this type of thing: https://github.com/wrobstory/sticky/blob/PR_sticky-deux/sticky/core.py

domoritz commented 9 years ago

Awesome. I'll check it out. The issue with widgets is that they are not currently coLab compatible and we try to support both.

wrobstory commented 9 years ago

Curious: when talking with the Jupyter devs, did they recommend iFrame as the best path forward? It would be nice for all of the JS-in-Notebook projects to converge on the same solution. The Folium project is trying to figure this out right now.

domoritz commented 9 years ago

I talked to the colab devs and they said that Jupyter will eventually adopt an iframe solution as well. But you as the developer of an extension should not have to worry about it. The reason for us to wrap things in an iframe is purely practical to have a cotainer that doesn't affect jupyter be able to execute js. I heard that jupyter doesn't allow arbitrary js execution any more for security reasons (unless you use widgets, which we don't want to). I'd love to hear your thoughts.

domoritz commented 9 years ago

We have a special configuration now. We still need to add persistence. See https://github.com/uwdata/ipython-vega-lite/issues/5

@wrobstory I'd love to hear your opinion on how to add persistence.