Repository navigation
Visualization framework research #1
Description
- Voila
- Panel
- Holoviz
- Streamlit
- Grafana Labs
Activity
I was looking for a talk about similar libraries that we once watch but could not find it. However, here is a different talk about the same libraries (and additional options for your list): https://www.youtube.com/watch?v=mZOIeOeswB0. I did not watch it, so I don't know if it is good.
It might have been this one: https://www.youtube.com/watch?v=1UVghBXt6dY
For Grafana, I think it’s more suitable if you have to constantly monitor the stream and the output of the analysis is used in other interfaces. Will that be a case?
For Grafana, I think it’s more suitable if you have to constantly monitor the stream and the output of the analysis is used in other interfaces. Will that be a case?
There are some ideas (or long-term requirements) about "restreaming" the reduced data to data-analysis software. But people wanted to use Kafka for this as well.
These options below were reviewed because of this common benefits
- Separate backend not needed
- Well-documented
- Open source (or we have access to)
- Python developer friendly
- Templates or pre-built solution provided (front-end knowledge not needed)
Dash
Pros
- Very flexible
- A lot of examples that we might be able to use
- Similarity to flask and easy to have a complicated backend via flask.
Cons
- It might take a while to build a user-friendly, good-looking design.
Streamlit
Pros
- Neat and user-friendly design already applied.
- Cacheing and resource handling provided seamlessly.
- Easy to implement standalone web application, few lines of code needed.
- Flexible, almost as much as dash.
- Well-documented and with a helpful community.
Cons
- We need to be careful not to put too much functions in the dashboard.
- Easy to have a various versions of software, which will cause more maintaining cost.
Panel
Pros
- Neat look with various prebuilt solutions
- Easy and intuitive way of implementation
- Well documented.
- Many plotting methods which also create user-interfaces provided.
- Easy integration with Jupyter notebook compared to
streamlit
Cons
- You might have to manually setup the design and layout if you're not using the supported plotting libraries.
Comments
- It will be nice if we want to use their plotting libraries a lot.
Voila
Pros
- Directly translate Jupyter notebook into a web application.
Cons
- Not easy to customise the pages.
- You might end up writing a separate backend.
Comments
- If we give up possibility to extend this dashboard and aesthetic values or more user-friendly design, it'll be the easiest.
Grafana Labs Dashboards
Pros
- A lot of prebuilt solutions.
- Easy to connect to other Grafana services or distributed systems.
Cons
- Might need to maintain the access permit to the data or dashboard per users.
- Not easy to customise minor things.
Comments
- Seems like a good solution to monitor the data collection itself but not flexible enough for processing and plotting the collected data.
Other Options
| Shiny, flask, Jupyter, ipywidgets, qt, react, typescript, …
References
-
Python Dashboarding Shootout and Showdown (Coding Tech Workshop)
https://www.youtube.com/watch?v=1UVghBXt6dY -
Data Revenue Blog Post
https://www.datarevenue.com/en-blog/data-dashboarding-streamlit-vs-dash-vs-shiny-vs-voila
-
Conclusion
No concrete decision is made for now.
streamlit,dashandpanelare all quite similar.- We are not sure how we are going to render interactive plots at the moment and that might affect the decision.
- We might have more specific use-cases and requirements that will affect the decision.
Therefore we will just keep the visualization module simple enough to switch to another framework if needed.
- added a commit that references this issue
on Nov 7, 2025




