Using IPyWidgets (UI Controls for the Jupyter Notebook)

Widget List

If you don’t have ipywidgets in your installation run : pip install ipywidgets

List of all IPyWidgets:
https://ipywidgets.readthedocs.io/en/latest/examples/Widget%20List.html

Slider

sliderval = widgets.IntSlider(
    value=0,
    min=0,
    max=100,
    step=10,
    description='Slider Value',
    disabled=False,
    continuous_update=False,
    orientation='horizontal',
    readout=True,
    readout_format='d'
)
sliderval
val = sliderval.value
print(val * 4)

Bounded Numeric Text

inputbounded = widgets.BoundedIntText(
    value=10,
    min=0,
    max=100,
    step=10,
    description='Bounded Input:',
    disabled=False
)
inputbounded
print(btntoggle.value)

ToggleButtons

btntoggle = widgets.ToggleButton(
    value=False,
    description='Click me',
    disabled=False,
    button_style='', # 'success', 'info', 'warning', 'danger' or ''
    tooltip='Description',
    icon='check' # (FontAwesome names without the `fa-` prefix)
)
btntoggle
print(btntoggle.value)

CheckBoxes

chkboxes = widgets.Checkbox(
    value=False,
    description='Check me',
    disabled=False,
    indent=False
)
chkboxes
print(chkboxes.value)
dropvals = widgets.Dropdown(
    options=[('BMW', 1), ('Range Rover', 2), ('Mercedes', 3)],
    value=1,
    description='Make:',
)
dropvals
print(dropvals.value)
print(dropvals.label)

SelectBox

selectbox = widgets.Select(
    options=['Linux', 'Windows', 'OSX'],
    value='OSX',
    # rows=10,
    description='OS:',
    disabled=False
)
selectbox
print(selectbox.value)

Radio Buttons

rdbuttons = widgets.RadioButtons(
    options=['pepperoni', 'pineapple', 'anchovies'],
    value='pineapple', # Defaults to 'pineapple'
    layout={'width': 'max-content'}, # If the items' names are long
    description='Pizza topping:',
    disabled=False
)
rdbuttons
print(rdbuttons.value)

Text

txtval = widgets.Text(
    value='',
    placeholder='What is your name?',
    description='String:',
    disabled=False
)

txtval
print(txtval.value)

Button

mybtn = widgets.Button(
    description='Say Hello',
    disabled=False,
    button_style='', # 'success', 'info', 'warning', 'danger' or ''
    tooltip='Say Hi',
    icon='check' # (FontAwesome names without the `fa-` prefix)
)

def sayhello(val):
    print("Hello {}".format(val))

@mybtn.on_click

def sayhello_onclick(a):
    sayhello(txtval.value)
mybtn

Color Picker

colorpicker = widgets.ColorPicker(
    concise=False,
    description='Pick a color',
    value='blue',
    disabled=False
)

colorpicker
print(colorpicker.value)

File Upload

fileupload = widgets.FileUpload(
    accept='',  # Accepted file extension e.g. '.txt', '.pdf', 'image/*', 'image/*,.pdf'
    multiple=False  # True to accept multiple files upload else False
)
fileupload
keys = [*fileupload.value]
filename = keys[0]
filename