Thursday October 28 2:00 PM – Thursday October 28 4:00 PM in Workshop/Tutorial I

Python Dashboarding Shootout and Showdown

James A. Bednar, Adrien Treuille, Nicolas Kruchten, Philipp Rudiger, Sylvain Corlay

Prior knowledge:
No previous knowledge expected

Summary

For years, Python lagged behind other languages when it came to building interactive web applications. Python now has at least four full-featured, solid frameworks focused on dashboards and similar apps: Dash, Panel, Streamlit, and Voila+IPyWidgets. We'll hear presentations from proponents of each library, and then have a spirited debate and discussion: Which one is best for which purpose?

Description

In years past, Python data scientists often switched to commercial tools or other languages when they needed to share their results online as interactive apps, because Python tools were either focused on static visualizations or required extensive low-level programming. Starting with Dash and now with Panel, Streamlit, and Voila+IPyWidgets, there are now four main Python dashboarding frameworks to choose from. These tools all use quite different technologies and make different assumptions about how users will develop apps. Which one(s) should you pick?

In this workshop, you'll hear straight from proponents for these libraries, each of them pitching the unique selling points of their particular approach. You'll then listen in to a spirited debate and discussion between the champions as they argue for which library is best for criteria like:

  • scalability (memory and CPU usage per visitor)
  • ease and speed of development
  • exporting to standalone HTML
  • deploying publicly
  • deploying on internal systems
  • code length and complexity
  • knowledge of web tech (JS/HTML/CSS) required
  • iterative development
  • look and feel
  • customizability
  • complex apps (multipage, state, etc.)
  • Jupyter support
  • non-Jupyter usage
  • rendering large datasets
  • plotting library support

The goal is for listeners to come to their own conclusions about which library meets their own needs and priorities, having understood what sets each of these libraries apart from the others.