In [37]:
%matplotlib inline
import matplotlib.pyplot as plt
from IPython.html.widgets import interact
from sklearn import datasets

In [2]:
digits = datasets.load_digits()

In [3]:
def browse_images(digits):
    n = len(digits.images)
    def view_image(i):
        plt.imshow(digits.images[i], cmap=plt.cm.gray_r, interpolation='nearest')
        plt.title('Training: %s' % digits.target[i])
        plt.show()
    interact(view_image, i=(0,n-1))

In [4]:
browse_images(digits)



In [5]:
def browse_list(digits):
    n = len(digits)
    def view_image(i):
        plt.plot(i)
        plt.title('Training: %s' % i)
        plt.show()
    interact(view_image, i=(0,n-1))

In [6]:
browse_list(range(7))



In [7]:
from IPython.html.widgets import interact, interactive, fixed
from IPython.html import widgets
from IPython.display import clear_output, display, HTML

In [8]:
def show_args(**kwargs):
    s = '<h3>Arguments:</h3><table>\n'
    for k,v in kwargs.items():
        s += '<tr><td>{0}</td><td>{1}</td></tr>\n'.format(k,v)
    s += '</table>'
    display(HTML(s))

In [9]:
show_args(a=10, b='Hi There', c=True)


Arguments:

a10
cTrue
bHi There

In [41]:
i = interact(show_args,
         Temp=(0,10),
         Current=(0.,10.,0.01),
         z=True,
         Text=u'Type here!',
         #Algorithm=['This','That','Other'],
         a=widgets.FloatSliderWidget(min=-10.0, max=10.0, step=1, value=5.0, description="Float (a)")
         )


Arguments:

Current4.99
TextType here!
zTrue
Temp2
Float (a)5.0

In [38]:
mysecondwidget = widgets.DropdownWidget(values=["Item A", "Item B", "Item C"], value="Item A")
mywidget = widgets.ToggleButtonsWidget(values=range(5))

In [39]:
mysecondwidget

In [40]:
mywidget


---------------------------------------------------------------------------
TraitError                                Traceback (most recent call last)
/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/html/widgets/widget.pyc in _handle_msg(self, msg)
    270         if method == 'backbone' and 'sync_data' in data:
    271             sync_data = data['sync_data']
--> 272             self._handle_receive_state(sync_data) # handles all methods
    273 
    274         # Handle a custom msg from the front-end

/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/html/widgets/widget.pyc in _handle_receive_state(self, sync_data)
    283                 value = self._unpack_widgets(sync_data[name])
    284                 with self._lock_property(name, value):
--> 285                     setattr(self, name, value)
    286 
    287     def _handle_custom_msg(self, content):

/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/utils/traitlets.pyc in __set__(self, obj, value)
    358 
    359     def __set__(self, obj, value):
--> 360         new_value = self._validate(obj, value)
    361         old_value = self.__get__(obj)
    362         obj._trait_values[self.name] = new_value

/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/utils/traitlets.pyc in _validate(self, obj, value)
    373     def _validate(self, obj, value):
    374         if hasattr(self, 'validate'):
--> 375             return self.validate(obj, value)
    376         elif hasattr(self, 'is_valid_for'):
    377             valid = self.is_valid_for(value)

/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/utils/traitlets.pyc in validate(self, obj, value)
   1092                 msg = "Could not decode {!r} for unicode trait '{}' of {} instance."
   1093                 raise TraitError(msg.format(value, self.name, class_of(obj)))
-> 1094         self.error(obj, value)
   1095 
   1096 

/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/utils/traitlets.pyc in error(self, obj, value)
    396             e = "The '%s' trait must be %s, but a value of %r was specified." \
    397                 % (self.name, self.info(), repr_type(value))
--> 398         raise TraitError(e)
    399 
    400     def get_metadata(self, key):

TraitError: The 'value_name' trait of a ToggleButtonsWidget instance must be a unicode string, but a value of 1 <type 'int'> was specified.
---------------------------------------------------------------------------
TraitError                                Traceback (most recent call last)
/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/html/widgets/widget.pyc in _handle_msg(self, msg)
    270         if method == 'backbone' and 'sync_data' in data:
    271             sync_data = data['sync_data']
--> 272             self._handle_receive_state(sync_data) # handles all methods
    273 
    274         # Handle a custom msg from the front-end

/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/html/widgets/widget.pyc in _handle_receive_state(self, sync_data)
    283                 value = self._unpack_widgets(sync_data[name])
    284                 with self._lock_property(name, value):
--> 285                     setattr(self, name, value)
    286 
    287     def _handle_custom_msg(self, content):

/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/utils/traitlets.pyc in __set__(self, obj, value)
    358 
    359     def __set__(self, obj, value):
--> 360         new_value = self._validate(obj, value)
    361         old_value = self.__get__(obj)
    362         obj._trait_values[self.name] = new_value

/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/utils/traitlets.pyc in _validate(self, obj, value)
    373     def _validate(self, obj, value):
    374         if hasattr(self, 'validate'):
--> 375             return self.validate(obj, value)
    376         elif hasattr(self, 'is_valid_for'):
    377             valid = self.is_valid_for(value)

/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/utils/traitlets.pyc in validate(self, obj, value)
   1092                 msg = "Could not decode {!r} for unicode trait '{}' of {} instance."
   1093                 raise TraitError(msg.format(value, self.name, class_of(obj)))
-> 1094         self.error(obj, value)
   1095 
   1096 

/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/utils/traitlets.pyc in error(self, obj, value)
    396             e = "The '%s' trait must be %s, but a value of %r was specified." \
    397                 % (self.name, self.info(), repr_type(value))
--> 398         raise TraitError(e)
    399 
    400     def get_metadata(self, key):

TraitError: The 'value_name' trait of a ToggleButtonsWidget instance must be a unicode string, but a value of 2 <type 'int'> was specified.

In [23]:
[widget for widget in dir(widgets) if widget.endswith('Widget')]


Out[23]:
['AccordionWidget',
 'BoundedFloatTextWidget',
 'BoundedIntTextWidget',
 'ButtonWidget',
 'CheckboxWidget',
 'ContainerWidget',
 'DOMWidget',
 'DropdownWidget',
 'FloatProgressWidget',
 'FloatSliderWidget',
 'FloatTextWidget',
 'HTMLWidget',
 'ImageWidget',
 'IntProgressWidget',
 'IntSliderWidget',
 'IntTextWidget',
 'LatexWidget',
 'PopupWidget',
 'RadioButtonsWidget',
 'SelectWidget',
 'TabWidget',
 'TextWidget',
 'TextareaWidget',
 'ToggleButtonWidget',
 'ToggleButtonsWidget',
 'Widget']

In [ ]: