Data Dashboarding: Exploring Tools and Frameworks for Python
amogha kancharla (~amogha) |
2
Description:
Nearly any Python library has the capability to generate static visual outputs such as PNGs, SVGs, and HTML files, that can be copy-pasted into presentations, emails or published as figures in papers.
However, in today's data-driven landscape, there's a growing need for dynamic, Python-backed applications that users can interact with in real-time to explore and analyze data. Fortunately, Python offers a rich ecosystem of tools to fulfill this demand. Among the top contenders for building web-based data dashboards are:
Dash (developed by Plotly) Panel (developed by Anaconda) Voila (developed by QuantStack) Streamlit
We'll start with a Jupyter notebook containing data analysis and visualization code for a dataset. For each of the four frameworks—Dash, Panel, Voila, and Streamlit—we'll give a brief overview of how this Jupyter notebook can be translated into a dashboard. For instance, we'll see how Voila directly converts the notebook into a dashboard, while Streamlit utilizes built-in visualization components.
We will demonstrate pre-built dashboards to illustrate the capabilities of each framework.
After introducing each framework, we will move on to a comprehensive comparison of the frameworks. This comparison will cover various parameters, such as graphing library support, Jupyter Notebook integration, ease-of-use, maturity, and popularity. Additionally, we will discuss the compatibility and integration of these frameworks with AI, big data analytics, and real-time visualization, providing insights into how each tool can be leveraged for advanced data applications.
Each framework has its merits and drawbacks, and your choice will not depend on choosing the absolute ‘best’, but rather on choosing the one that best fits your needs. We'll take a walk through the Python Data Dashboarding ecosystem, introducing its most prominent players and showcasing how a Jupyter Notebook analysis can be transformed into interactive dashboards using each tool. Through a systematic comparison, we delve into each framework's strengths, weaknesses, and diverse applications.
Each framework has its merits and drawbacks, and your choice will not depend on choosing the absolute ‘best’, but rather on choosing the one that best fits your needs.
Prerequisites:
The intended audience is individuals interested in building interactive data dashboards using Python, who have experience with one or more tools. Attendees may include data analysts, researchers, developers, and enthusiasts seeking clarity on selecting the most suitable tools for their dashboarding projects.
Attendees will gain insights into Python-based dashboarding solutions that eliminate the need for JavaScript expertise. Drawing from extensive research, this talk will provide a comprehensive overview of these tools, empowering attendees to make informed decisions and effectively utilize Python for their dashboarding needs.
Some of the pre-requisites that can help:
- Overview of Python Dashboarding tools
- Comparative Analysis
- Interactivity and Customization
- User Experience and Design
Speaker Info:
This is a dual speaker talk. Some information about both speakers is as follows: Navya Agarwal:
- 21 year old Computer Science student based out of Delhi, India
- Previously gave a talk at PyCon India 2023, recording not available :(
- Gave a talk at PyDelhi Conference 2023 (recording available here - https://youtu.be/HclGLQVLBhM?t=4915)
- Worked with NetworkX as an Open Source Developer as part of the Outreachy program
- Currently working as an intern on the Machine Learning Engineering team at Corteva Agriscience (This is where I worked with Data Dashboarding tools in Python!)
- Currently working to restart the PyLadies Delhi chapter too!
Amogha Kancharla:
- Global Impact Scholar @PyData
- Building @Women in Cloud Native @OneByteSocial
- AWS Certified.
- Currently working to restart the Pyladies Hyderabad chapter too!
Speaker Links:
Navya Agarwal: LinkedIn: https://www.linkedin.com/in/navya-agarwal-/ Twitter: https://twitter.com/Navya_Agarwal_ GitHub: https://github.com/navyagarwal
Amogha Kancharla: LinkedIn: https://linkedin.com/in/amoghakancharla Twitter: https://twitter.com/amoghak_ GitHub: https://github.com/amoghakancharla