Examples#

IPython includes an interactive widget architecture that combines Python code running in the kernel and JavaScript/HTML/CSS running in the browser. These widgets allow users to interactively examine their code and data.

Interact function#

ipywidgets.interact automatically creates user interface (UI) controls to interactively explore code and data.

[1]:
from __future__ import print_function
from ipywidgets import interact, interactive, fixed, interact_manual
import ipywidgets as widgets

In the simplest case, interact automatically generates controls for function arguments and then calls the function with those arguments when you interactively edit the controls. The following is a function that returns its only argument x.

[2]:
def f(x):
    return x

Slider#

If you specify a function with an integer keyword argument (x=10), a slider is generated and bound to the function parameter:

[3]:
interact(f, x=10);

Checkbox#

If you specify True or False, interact generates a checkbox:

[4]:
interact(f, x=True);

Text area#

If you pass a string, interact generates a text area:

[5]:
interact(f, x='Hi Pythonistas!');

Decorator#

interact can also be used as a decorator. This way you can define a function and interact with it in a single setting. As the following example shows, interact also works with functions that have multiple arguments:

[6]:
@interact(x=True, y=1.0)
def g(x, y):
    return (x, y)