A long timer at Anaconda Inc., Philipp Rudiger is a Staff Software Engineer developing open-source and client-specific solutions for data management, visualization and analysis. He is the author of the open source dashboarding and visualization libraries Panel, Lumen, hvPlot and GeoViews and one of the core developers of Bokeh, Datashader and HoloViews. Before making the switch to software development he completed a PhD and Masters in Computational Neuroscience at the University of Edinburgh working on biologically inspired, deep and recurrent neural network models of the visual system.
The Jupyter ecosystem provides a powerful platform for iteratively developing and deploying data applications and dashboards. In this talk we will discover how to leverage Panel and Lumen to develop data applications by iterating in a notebook, previewing and finally deploying it to a JupyterHub or to an external cloud provider - all without leaving the JupyterLab UI. Along the way we will explore best practices for structuring these applications and make them performant. We will also explore the integration of these tools with the rest of the Jupyter ecosystem, e.g. by leveraging Jupyter Widgets, and deploy them in applications running outside Jupyter on the Panel server. In doing so we will discover the power of Jupyter not just for exploratory workflows but for sharing complex and rich data applications with the world.
Developing & Iterating
In the first section we will go over the development of a rich and powerful data application in a notebook. We will demonstrate how we can quickly build and preview individual components by displaying them inline and previewing the entire application using a JupyterLab extension.
Once we have built the application we will go over recommendations for structuring the application to make them easier to maintain but also to achieve a good look and feel and get the best performance out of the application.
Jupyter Widgets integration
Next we will go over the integrations of the Panel and Lumen stack with the Jupyter Widgets ecosystem. The ability to leverage this existing ecosystem allows users to leverage the tools they love and allows taking Jupyter Widgets out of Jupyter and ship them in a standalone application.
Lastly we will demonstrate how we can easily deploy Panel applications in a JupyterHub environment using existing extensions like CDSDashboards and how we can begin to extend this with Jupyter extensions that provide UIs to deploy to a cloud provider.