Comments (6)
Would this remove the need to preload polymer and the urth channel stuff on every notebook page, even when widgets aren't used? Would that happen after widgets.init()?
from declarativewidgets.
@parente that is the point. Nothing gets preloaded until the cell with unit is ran. Maybe only the minimum js would be on all pages.
from declarativewidgets.
Maybe only the minimum js would be on all pages.
I was after even removing this. For instance, the %matplotlib notebook
magic injects all the JS it needs only after this call. Nothing needs to be in Jupyter before then and so it doesn't need to be an extension to Jupyter. It would be very cool if the widgets could reach that point (but I know that would involve some kind of replacement for the urth_import server handler which probably is not replaceable.)
from declarativewidgets.
We would still need the extension to have the js available for download. But I agree that nothing needs to be preloaded on the browser, if possible.
from declarativewidgets.
Was doing some experimentation on this. I thought that I could block the kernel from returning from the cell run and orchestrate init though the COM channel. This is not possible because COM channel browser -> kernel is done through the shell channel also.
I also did not see a way to pausing running of cells from the browser side.
I'm going to leave this one open, but will move to work on something else.
from declarativewidgets.
Thought on how the kernel init code can interact with the browser to cause the init.
Using Comm.
- Our extension will register a comm target with a name like
jupyter_declarativewidgets_init
and provide a handler (https://github.com/jupyter/notebook/blob/master/notebook/static/services/kernels/comm.js#L46) - The code on the kernel side (
widgets.init()
) will send a COMM_OPEN message to that target. That should trigger the browser code on https://github.com/jupyter/notebook/blob/master/notebook/static/services/kernels/comm.js#L78 that would then call our handler. - There might be an optional handshake to let the kernel side know that all is
ready
and that could take place through the same COMM channel.
CommManager will then become another dependency that would have to be injected into our env.
from declarativewidgets.
Related Issues (20)
- declarativewidgets not working HOT 5
- Documentation not found HOT 1
- Need to modify scala build to install toree from apache's dist server and not pypi HOT 3
- R declarative widgets donβt actually depend on SparkR HOT 4
- Move to https://github.com/jupyter-widgets? HOT 7
- Error enabling on OSX with matplotlib 2.0 installed
- Associated repo website is 404 HOT 2
- Changing DataFrame Limit HOT 3
- widgets failing to load after notebook closed and reopened HOT 1
- dom-bind-behavior bug against Polymer 1.9
- urth-import fails with POLYMER package ECONFLICT
- urth-viz-table, selectionIndex property doesn't work
- Install declarativewidgets without "pip install"
- Link to latest docs is broken HOT 2
- Edit license and rename file to LICENSE
- Date Picker
- Broken links
- Is declarative widgets maintained? HOT 13
- Some extension like Explorer visualization HOT 1
- Why was it retired? Are there any follow-up projects like this? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from declarativewidgets.