Python support in Team Hub execution?

Trying to look into migrating scheduled workflow execution and dashboard sharing via Team hub accounts. Is Python supported for dashboard charts / visualizations? Are custom Python environments / packages supported?

Is there any detailed documentation that I can review so that I can better understand the available team Admin settings and practical side of dashboard sharing with an end user?

:wave: Hey,

Python will be made available with the 5.2.2 update of the executors (happening in the next couple of days). You can then also pull in your own dependencies via the Conda Env Propagation Node - however, those dependencies (at the moment) won’t be persisted and pulled for each call of the Data App. But we have packaged quite some standard visualization frameworks already in our default Python distribution which is avail. out of the box (@carstenhaubold can share some details).

I’d also recommend to take a look at our new Generic ECharts View – KNIME Community Hub. Really powerful node to create custom visualizations based on Apache ECharts.

2 Likes

Exactly, the bundled Python environment that gets installed with the Python integration already contains matpotlib, seaborn and plotly (see KNIME Python Integration Guide).

In a Data App you probably want interactive plots, so plotly is a good choice. Or, as Christian suggested, the Generic ECharts View can probably also fulfil a lot of your needs (a blog post explaining that in detail is coming in the next few days).

1 Like

Thanks for the info. I use Python perform some workflow tasks, and I am exploring utilizing it for user interactive visualizations (as well as D3 and eCharts). I am trying to factor Team Hub support into which direction I take.

Are you aware of any instances where data apps utilize custom D3, eCharts or Python based charts and pass the user’s filter selection back into the Data App for processing similar to the KNIME chart nodes?

Ideally I am aiming to recreate multi-level drill down bar charts with per bar reference lines that pass filter selection back into the Data App for task processing.

For Python plotly based charts the selection can be communicated with the other visualization nodes if you set the custom_data (See the knio.view_plotly docs and corresponding blog post).

For D3 it might be possible, but it would require to write some custom JS hooks in your D3 plots to communicate selection updates back and forth between D3 and KNIME (which we have done for plotly for you already).

The ECharts node does not support that yet, unfortunately, but that’s on our agenda.

2 Likes

It seems like Plotly may be the best direction to start since it offers, filter sharing in KNIME, target lines per bar via setPointLines in the graph construction, and will be supported in the Teams hub.

Just to clarify. I am not just trying to share chart filters for visualization purposes, but to filter and change the underlying data upstream. The graph selections need to be passed back into the DataAPP as they are used to pinpoint where a user’s changes should be applied. Does that sound possible if I go in the Plotly direction?