How to elegantly handle a very large number of Input/State in callbacks?

That is really a nice solution. One question though. How can the typing in the handler be specified that a single output/input/state, multiple output/input/state or a list of them is accepted?

Now if I do:

@handler(
    Output(component_id='', component_property=''),
    Input(component_id='', component_property='')
)

Pycharm marks the Output and Input statements with the comment that it is expecting lists. The beauty of the latest version of Dash in my opinion is that you don’t have to enclose the inputs in lists anymore.

I’ll remove the typing info for now anyways.

Edit: Btw, has this been integrated in Dash already?

Edit 2: After some experimentation, I see that inputs and states have to be lists, otherwise the list comprehension in input_names doesn’t work