This document discusses Jupyter widgets, which allow building user interfaces entirely in Python within Jupyter notebooks. It notes that developing machine learning software is difficult as it is often stochastic, black box, and prone to overfitting. Traditional software development workflows are inadequate for machine learning. Jupyter widgets aim to address this by enabling data scientists to rapidly create user interfaces for exploring models within their familiar Jupyter environment using Python. Examples of Jupyter widgets libraries are provided.