holoviz / panel

Panel: The powerful data exploration & web app framework for Python
https://panel.holoviz.org
BSD 3-Clause "New" or "Revised" License
4.8k stars 519 forks source link

Deprecate `panel.pane.Vizzu` proposal #7471

Open ahuang11 opened 2 weeks ago

ahuang11 commented 2 weeks ago

Feature Overview panel.pane.Vizzu integrates Vizzu for animated and interactive visualizations. However, as noted in PR #7356, it increases Panel's complexity and size, particularly affecting environments like Pyodide.

Proposal Deprecate panel.pane.Vizzu and migrate it to a standalone extension using the panel-copier-template (reference PR). This separation will streamline Panel’s core and allow for easier community maintenance.

Impact Usage seems limited; there are a few feature requests: Allow Vizzu stories in Panel Embed Vizzu plots in static HTML Add an IpyVizzu pane

Effort


This can also be extended to a few other panes, like VTK, deckgl, and echarts, etc

philippjfr commented 2 weeks ago

What I'm missing from this proposal is an explanation why Vizzu in particular should be deprecated? In general I like having support for a wide range of visualization libraries in Panel core. For VTK I think the argument is very clear because it is quite a complex piece to maintain and support with a lot of code behind it. For deck.gl, echarts, Vizzu I think the case is much less strong.

ahuang11 commented 2 weeks ago

To me, I think it's a matter of popularity/usage, which is why I think Vizzu could be deprecated. Matplotlib is one of the most popular libraries so I think the case is clear that it should be kept, as well as HoloViews, which HoloViz maintainers maintain, and Bokeh is a dependency.

For deck.gl, echarts, Vizzu I think the case is much less strong.

I'm not terribly familiar with Vizzu, but I think Panel only supports parts of Vizzu? So when Vizzu support gets expanded on, like for https://github.com/holoviz/panel/issues/6216, the lines of code will increase? And from my experience, deck.gl support was also limited.

Finally, I think if it gets separated out into another repo, ideally, there'd be someone interested in claiming ownership of it and maintaining it (ideally), similar to all the community contributed extensions in streamlit https://streamlit.io/components

MarcSkovMadsen commented 2 weeks ago

To me it would be a good idea to carve out Vizzu.

I think having it live in a separate repository is fine. If there starts being an interest it can develop more quickly and making breaking changes to improve the api would also be fine.

What is in core Panel should be of high quality.

maximlt commented 1 week ago

Looking at the pageview stats, the Vizzu pane has about 100 hits last month, a little more than Audio/SVG and less than JSON/PNG. Image

For reference, the most visited ones had about 500-600 hits last month.

Image

Interestingly, the most visited panes are plotting related (bokeh, plotly, holoviews).


I'd like to know how popular Vizzu is in the JavaScript ecosystem?

simzer commented 6 days ago

its not being kept up to date.

Vizzu has a maintained Python interface called IpyVizzu. It would make sense if the panel integration used it instead of providing a separate implementation.

jnareb commented 3 days ago

Side note: I tried to use Vizzu following the Panel documentation to display $sin(x)+1$ function, and based on the documentation, I was not able to use it correctly. The range and domain was left at its default values (and it looks like there is no auto-scaling), so the plot was not visible at all.

See https://huggingface.co/spaces/ncusi/demo-panel-plotting-simple (temporary) - at the bottom of the page.