  We aim to increase the flexibility at which a data worker can choose the
right tool for the job, regardless of whether the tool is a code library or an
interactive graphical user interface (GUI). To achieve this flexibility, we
extend computational notebooks with a new API mage, which supports tools that
can represent themselves as both code and GUI as needed. We discuss the design
of mage as well as design opportunities in the space of flexible code/GUI tools
for data work. To understand tooling needs, we conduct a study with nine
professional practitioners and elicit their feedback on mage and potential
areas for flexible code/GUI tooling. We then implement six client tools for
mage that illustrate the main themes of our study findings. Finally, we discuss
open challenges in providing flexible code/GUI interactions for data workers.
