Try Voilà

In [ ]:
!voila ~
In [ ]:
snippet = !curl -s http://jhub.name:8866/voila/render/nbgitpuller/binder/link_generator.ipynb | grep -oe '{[^{}]*hub_url[^{}]*}'
import json
json.loads(snippet[0])
Out[ ]:
{'_dom_classes': [],
 '_model_module': '@jupyter-widgets/controls',
 '_model_module_version': '1.4.0',
 '_model_name': 'TextModel',
 '_view_count': None,
 '_view_module': '@jupyter-widgets/controls',
 '_view_module_version': '1.4.0',
 '_view_name': 'TextView',
 'continuous_update': True,
 'description': 'hub_url',
 'description_tooltip': None,
 'disabled': False,
 'layout': 'IPY_MODEL_853d8ed268f846f199a0d40ed2955d76',
 'placeholder': '\u200b',
 'style': 'IPY_MODEL_d250904f9d7f4ca2ac058bd27f30dd08',
 'value': ''}

Compare to Commuter

In [ ]:
!cd ~ && commuter
In [ ]:
snippet = !curl -s http://jhub.name:4000/view/nbgitpuller/binder/link_generator.ipynb | grep -oe '<[^<>]*>[^<>]*interactive[^<>]*</[^<>]*>'
from IPython.display import HTML
HTML(snippet[0])
Out[ ]:
interactive(children=(Text(value='', description='hub_url'), Text(value='', description='clone_cmd'), Text(val…

So the Voila with Notebook is like Ploty-Dash with Python. Voila can render ipywidget, while NBViewer/Commuter can just display ipynb without ipywidget-rendering.

Voilà can display ipywidget-rendered ipynb via local file system.

Voilà Gallery can display ipywidget-rendered ipynb via Github etc. by using repo2docker, exactly the same way Binder does.

Comments

2019-10-20