Jupyter extension for streamlit

I am using a lot ipywigets to visualize and create dashboards with voila. Voila is very verstail and handy and has an extension that once install adds a simple Button in the jupyter Menu that when clicked renders the notebook in a new browser tab.

Ist there a similar extension/button for rendering a notebook with streamlit?

In voila the extension is install so: jupyter labextension install @voila-dashboards/jupyterlab-preview

There is no such equivalent in streamlit github repo. Nor did I find it googling it.

The reason behind the question is trying to find out if steeamlit apps can be served on a jupyter hub rendered without a user having to touch a terminal.


Hi @Joseberlines -

There isn’t currently an extension that does this, but we’d welcome someone in the community who is willing to develop this!

I believe people have done this, but it requires making sure that your JupyterHub server has enough ports open to make it work. The basic idea is running your script, specifying a specific port to run from (since 8501 could not be open, or could be in use by someone else).


One thing that might interest you is the ContainDS Dashboards extension for JupyterHub. This allows your users to specify a Streamlit .py file from their workspace to spin up directly as a dashboard, shared with other JupyterHub users who will then be able to interact with it as a web app (without being able to see the code at all).

That’s not a JupyterLab extension for interactive development like the Voilà plugin, i.e. to refresh the output while you’re coding. But it’s useful for immediate deployment of the web app to your colleagues - or to yourself, but under the default configuration, you do have to click to restart the dashboard to see any changes.