Have a look at IPyWidgetsIPyWidgets.
I've used it to create interactive dashboards in IPython/Jupyter. It's very concise and powerful.
You define a function:
def f(x):
return x
And you connect it to a widget using the Interact() function.
interact(f, x=10);
This generates a widget (a slider in this case) automatically and updates your function with new input when you interact with the widget. The type of widget is determined from the default value you specify (i.e. a checkbox for a boolean, a textbox for a string, etc.)