in pure python it is possible and simple, we open a canvas and the update with fig.canvas.draw()
however when dealing with jupyter notebook things change. In a jupyter notebook we have to deal with different implementations depending on how matplotlib is imported, %inline vs %notebook. The notebook version is quite simple but has a non negligible overhead.
Have checked: