Why are Plotly.py's HTMLs 3.5 times larger than Bokeh's? (though much more responsive)

Hi there,

first of all, congrats on a great product.

I’m currently comparing a number of Python visualisaton libraries for a masters thesis in GIS. File size is one of the (minor) measures I’m looking at, and I was wondering if anybody had any insights as to why Plotly.py’s output HTMLs (fig.write_html()) are roughly 3.5 times larger than those produced by Bokeh and even 4.5 times larger than what hvPlot produces (strangely, the two differ though hvPlot also interfaces with Bokeh).

Also, once loaded in the browser, Plotly.py’s responsiveness on large datasets is excellent (Bokeh’s is not), so I presume these two observations might be connected and I’m wondering what is going on under the hood.

As the JS side of things is not my expertise, any insights from the devs or the community would be greatly appreciated (though I guess an answer may require expert knowledge of both libraries).