ContainDS Dashboards for JupyterHub
A Dashboard publishing solution for Data Science teams to share results with decision makers.
Run a private on-premise or cloud-based JupyterHub with extensions to instantly publish apps and notebooks as user-friendly interactive dashboards to share with non-technical colleagues.
Currently supported frameworks:
- Jupyter notebooks (Voilà)
- Streamlit apps
- Plotly Dash apps
- Bokeh / Panel apps and notebooks
- R Shiny apps
- Any custom server or framework
This open source package allows data scientists to instantly and reliably publish interactive notebooks or other scripts as secure interactive web apps.
Source files can be pulled from a Git repo or from the user's Jupyter tree.
Any authorised JupyterHub user can view the dashboard, or choose to give permission only to named users.
How it works
- Data scientist creates a Jupyter Notebook as normal or uploads Python/R files etc
- Data scientist creates a new Dashboard to clone their Jupyter server
- Other logged-in JupyterHub users see the dashboard in their list
- Click to launch as a server, using OAuth to gain access
- User sees a safe user-friendly version of the original notebook - served by Voilà, Streamlit, Dash, Bokeh, Panel, R Shiny etc.
All of this works through a new Dashboards menu item added to JupyterHub's header.
Data scientist creates a Jupyter Notebook as normal
Data scientist creates a new Dashboard to clone their Jupyter server
Other logged-in JupyterHub users see the dashboard in their list
Uses OAuth to gain access
Other user sees a safe user-friendly Voilà version of the original notebook
Or other app frameworks
Requirements
Basic requirements:
- JupyterHub 1.x
- Python 3.6+
Note that JupyterHub 2.x is not supported. You will need to install a version 1.x (e.g. 1.5).
You should be able to use any authenticator for users to login - for example, corporate Google email sign in, or LDAP.
Any JupyterHub distribution should be suitable, depending on configuration. See requirements.
Installation
Full Setup and Installation details are in the documentation.
Contact and Support
Please see LICENSE for details.
Please do get in touch if you try out the package, or would like to but need some support. I would be very interested to find out how it can be used, and to work (without charge) to help you get it running. The project needs feedback in order to develop further!
Contact [email protected] with any comments or questions at all.
There is a Gitter room for general chat with other community members, e.g. for confguration and use case tips.