Could Someone Give me Advice with Customizing Panel Widgets for Interactive Data Dashboard?

Hello there, :wave:

I am new to the HoloViz ecosystem; and I have been exploring Panel for creating an interactive data dashboard. First; I want to express how impressed I am with the flexibility and power of this library kudos to the developers and the community.

That said; I have hit a roadblock with customizing widgets to enhance the user experience. Specifically; I am working on a dashboard that integrates a real time data feed from an API; and I want the widgets to dynamically adapt to the incoming data. For example:

I would like the options in a dropdown to update automatically based on changes in the incoming dataset.

I have read through the Panel documentation and a few tutorials, but I am struggling to find examples that address these requirements in depth. Additionally; if there are best practices for maintaining performance when handling frequent data updates.

Also, I have gone through this post; https://discourse.holoviz.org/t/new-user-questions-around-custom-data-table-implementation-mlops which definitely helped me out a lot.

Would anyone be able to point me to relevant resources; share snippets of similar implementations; or provide guidance on how to tackle these challenges? :thinking:

Thanks in advance for your help and assistance. :innocent:

This is my goto article for dynamically updating widgets. I’m sure it could be adopted to your use case.

Personally, I struggle to implement widgets with real time indicator updates. Therefore, I only create real time dashboards, where all the processing is done in the background and the real time dashboard can update at a different rate to the background processor, this way the user does not need to interact with widgets. I also posted a question about real time data processing which might also give you some pointers.

Maybe these can help:

https://panel.holoviz.org/how_to/best_practices/dev_experience.html
https://panel.holoviz.org/how_to/best_practices/user_experience.html