Python based Extension Development API: ColumnParameter for input_table_group

Hi all,

I’m using the Python Extension Development API. I want to set up a node with

input_table_group

to support an arbitrary number of input tables together with a

ColumnParameter

ParameterArray

to select one column from each input table.

It seems like this is not yet implemented. Or is there any way to do this?

My current MWE where I tried to implement this:

@knext.parameter_group(label="Column Selection")
class ColSelections:
colsel: knext.ColumnParameter = knext.ColumnParameter(
label="Cols",
description="Select cols",
default_value=None,
)
@knext.node(
name="Cf Node",
node_type=knext.NodeType.MANIPULATOR,
icon_path="icons/daly_elephant_small-64-64.png",
category=mtu_base_category,
)
@knext.input_table_group(
name="Tables to Concatenate",
description="Tables to concatenate to base table",
)
@knext.output_table(
name="Output Table", description="Something"
)
class CfNode:
"""Do something."""
col_selection: knext.ParameterArray = knext.ParameterArray(
label="Column Selections",
description="Select the columns.",
parameters=ColSelections(),
array_title="Selections",
)
def configure(
self,
configure_context: knext.ConfigurationContext,
input_schemas: list[knext.Schema],
) -> knext.Schema:
for pa, schema in zip(self.col_selection, input_schemas):
pa.colsel.apply(schema)
return input_schemas[0]
def execute(
self,
exec_context: knext.ExecutionContext,
input_tables: list[knext.Table],
) -> knext.Table:
return input_tables[0]

I also tried implementing this in many different ways, but it seems like Knime does not yet support this?

Any help is appreciated.

Thanks in advance and best regards,

Johannes