#!/usr/bin/env python # coding: utf-8 # # Displaying a spinner during a long-running jub # In[5]: import sys, time def job(t): print("starting") sys.stdout.flush() time.sleep(t) print("done") # In[6]: from IPython.display import display from ipywidgets import HTML from contextlib import contextmanager @contextmanager def spinner(): spin = HTML("") display(spin) yield print() spin.close() # In[8]: with spinner(): job(5)