Voila usecase when waiting on user input

Voila rendering does depend on executing every cell but your code can define listeners / hooks /callbacks using .observe() or you can even make buttons. Both of those avenues can define reactions to do upon certain events and so even though the code defining the widgets runs, they can still respond to user actions. Using this I made a notebook that runs in Voila that allows you to add .tsv files in addition to the demo file included. You then highlight the file you want to act on and press a button to process the .tsv file. I sort of based it on here (see here) and here with some further customization. I haven’t fully integrated my result into a series of other notebooks, but you can find it and see it in action by going here, launching Binder, going to the dashboard, and selecting the notebook ‘3D_scatter_Voila_matplotlibADJUSTABLE.ipynb’ from the listed files. When you launch that notebook, you can select the ‘Voila’ button from the toolbar along the top.