facebookresearch/hiplot

Dash App

firmai opened this issue · 7 comments

This is an extremely cool pacakge, many research units that I have been working at are slowly switching from jupyter notebooks to dash type web-apps, would there be a way to get this into plolty dash? That would be an extremely exciting development.

Hi @firmai
That's a very interesting point, but it's not possible at the moment (and it's not in the roadmap either at this point).

As a user of both HiPlot and Dash, I can also attest this would be extremely useful. The existing parallel coordinate functionality in Dash is lacking and the HiPlot features would be much appreciated by the Dash community (Thread).

Hey @firmai @danthe3rd ,

I hope all is well. Just wanted to follow-up on the whole Dash/HiPlot integration discussion. I was able to get a (quite-hacky) one-way integration working using dash.html.Iframe to render the html produced by a HiPlot experiment via to_html(). The example is linked here.

This is one-way in the sense that interactions with the HiPlot rendering aren't being sent back to Dash. However, the user is able to select which columns to plot via Dash dropdown. I believe it is possible to get two-way integration but honestly didn't have the need to do it with my particular project.

The performance is fine with a small app like this but I would imagine it would suffer with larger projects as HiPlot is creating a new experiment with each Dash state change. I would be interested expanding this integration in the future so reach out if there is interest.

Hey @kravitsjacob thanks a lot for the quick proto you did! That will unlock a lot of people :)

I would be interested expanding this integration in the future so reach out if there is interest.

I believe that a proper integration would require to create an actual component in JS for hiplot. Is that something you are interested in doing? I'm happy to support you in doing so - if you need any change to HiPlot's codebase, or review pull requests. We already have an adaptation for Streamlit, I believe the adaptation for Dash would be a bit similar (?).

Hey @danthe3rd

Yes, I agree proper integration would require some sort of JS wrapper for HiPlot. As for the development, I'm gonna need some time haha - I'm in the middle of a PhD and got some tight timelines for the next few months. However, it's looking like my workload should be a bit more manageable at the start of 2022. I'll also ask some friends/colleagues to see if there is interest in helping. As I mentioned before, having Dash integration could really open up a lot of users as the existing Dash parallel plot functionality is quite lacking. Let's stay in touch!

Hey @danthe3rd

Yes, I agree proper integration would require some sort of JS wrapper for HiPlot. As for the development, I'm gonna need some time haha - I'm in the middle of a PhD and got some tight timelines for the next few months. However, it's looking like my workload should be a bit more manageable at the start of 2022. I'll also ask some friends/colleagues to see if there is interest in helping. As I mentioned before, having Dash integration could really open up a lot of users as the existing Dash parallel plot functionality is quite lacking. Let's stay in touch!

Hi @kravitsjacob
I would like to ask a solution for exporting the monitored table only as csv file. Unlike the Export button csv file, I want to exclude the unselected columns from file.

Hey @namikisik I agree with your request completely. I think it may be a more hiplot-specific feature request (and not related to the dash integration specifically). Therefore, I recommend starting a new issue to request your feature (just so it doesn't get lost in the shuffle or we start mixing topics).

Just to update on the dash integration front, @jakeval and I started some initial work in December. We have a fairly solid roadmap and have been working on it on and off at the start of 2022. We are both in graduate school now so it's been mainly a weekend project. I'd recommend following us for updates. We hope to have some form of hiplot-dash integration working by the end of the year!