[Demo preview video] Figure description:
The history tab opens the sidebar for Verdant containing three tabs: Activity (A), Artifacts (B), and Search (C). The Activity tab, shown open here, displays a list of events. A date (D) can be opened or collapsed to see what happened that day. Each row shows a version of the notebook (e.g. version #53) with a text description and visual minimap. Thee minimap shows cells added in green (see G) and deleted in red (F). In (E), a cell was edited and run (in blue), and the following cells were run but remained the same (in grey). The user can open any version (e.g., #53, H) in a ghost notebook tab for quick reference.
For design discussion and the research behind this check out our paper:
Mary Beth Kery, Bonnie E. John, Patrick O’Flaherty, Amber Horvath, and Brad A. Myers. 2019. Towards Effective Foraging by Data Scientists to Find Past Analysis Choices. In Proceedings of ACM SIGCHI, Glasgow, UK, May 2019 (CHI’19), 11 pages. DOI: 10.475/123 4
For a development install, do the following in the repository directory:
pip install lilgit-parser jupyter serverextension enable --py lilgit_parser jupyter serverextension list
This should ensure that the server-extension parser part of Verdant is installed. Next:
npm install npm run build jupyter labextension link .
The last line builds JupyterLab and may take a minute. Now, run JupyterLab app to check if Verdant is working:
jupyter lab .
If you make modifications to the Verdant source code, you'll need to rebuild the package and the JupyterLab app:
npm run build jupyter lab build
If you plan on making lots of edits to Verdant, extension building is easier if you use:
jupyter lab --watch
and then each time you make a change, you'll only have to re-run:
npm run build
This research has been funded by Bloomberg L.P. and has been conducted at the Bloomberg L.P. and at the Natural Programming Group at the Human-Computer Interaction Institute at Carnegie Mellon University. Thank you to the JupyterLab project and also to all our awesome study participants for volunteering early design feedback!