Skip to content

Visualization framework research #1

Description

@YooSunYoung
  • Voila
  • Panel
  • Holoviz
  • Streamlit
  • Grafana Labs

Activity

  1. SimonHeybrock commented on Feb 1, 2023

    @SimonHeybrock
    Member

    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.

  2. SimonHeybrock commented on Feb 1, 2023

    @SimonHeybrock
    Member

    It might have been this one: https://www.youtube.com/watch?v=1UVghBXt6dY

  3. YooSunYoung commented on Feb 1, 2023

    @YooSunYoung
    MemberAuthor

    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?

  4. SimonHeybrock commented on Feb 2, 2023

    @SimonHeybrock
    Member

    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.

  5. YooSunYoung commented on Feb 15, 2023

    @YooSunYoung
    MemberAuthor

    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

    Image link to document

    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

    Image link to document

    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

    Image link to document

    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 tostreamlit

    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

    Image link to document

    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

    Image link to the official webpage

    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, …

  6. YooSunYoung commented on Feb 15, 2023

    @YooSunYoung
    MemberAuthor

    References

  7. added this to the milestone on Feb 24, 2023
  8. self-assigned this
    on Feb 24, 2023
  9. removed this from the milestone on Feb 28, 2023
  10. YooSunYoung commented on Feb 28, 2023

    @YooSunYoung
    MemberAuthor

    Conclusion

    No concrete decision is made for now.

    • streamlit, dash and panel are 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions