Support Panel Webapps in DataIku

MarcSkovMadsen
MarcSkovMadsen Registered Posts: 3 ✭✭✭
edited July 16 in Product Ideas

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
1 votes

New · Last Updated

Comments

Setup Info
    Tags
      Help me…