Discover the winners & finalists of the 2022 Dataiku Frontrunner Awards!READ THEIR USE CASES

Support Panel Webapps in DataIku

Panel is a powerful #python #mlapp framework build on top of Bokeh. 

A high-level app and dashboarding solution for Python — Panel 0.12.4 documentation (holoviz.org)

Panel can be supported similarly to Bokeh. The Panel server is build on top of Bokeh, therefore it should be very easy to support. For example `bokeh serve` is replaced with `panel serve`.

For some use cases the existing Bokeh Webapp feature of DataIku can be used. For example this one

 

 

 

import numpy as np
import pandas as pd
import panel as pn

pn.extension(sizing_mode='stretch_width')

layout = pn.layout.FlexBox(*(
pn.indicators.Trend(
data={'x': list(range(10)), 'y': np.random.randn(10).cumsum()},
width=150,
height=100,
plot_type=pn.indicators.Trend.param.plot_type.objects[i%4]
) for i in range(28)
))

def stream():
for trend in layout:
trend.stream(
{
'x': [trend.data['x'][-1]+1],
'y': [trend.data['y'][-1]+np.random.randn()]
}, rollover=20)

cb = pn.state.add_periodic_callback(stream, 500)

pn.template.FastListTemplate(
site="Panel",
title="Streaming Trend Indicators",
main=[layout,],
header_background="#428bca"
).servable()

 

 

 

 

I would expect the panel server to sometimes serve extra panel assets and support other features that the bokeh server does not. Therefore the need for a dedicated Panel option.

1 Comment
CoreyS
Dataiker Alumni

Thank you for your feedback @MarcSkovMadsen! We felt that this would work better as a Product Idea so we moved it here. Thanks again!