EuroPython 2016: Jupyter for Everything Else

In July I had the chance to run a 3 hour Ipython-in-depth tutorial and to present "Jupyter for Everything Else" at EuroPython in Bilbao.  This is a poor attempt to write up about that work.  I had great plans to write up that work after the conference but was then busy preparing for ContainerCon Europe ... and so on ...

I ran the 3 hours IPython tutorial on the Monday afternoon.
I'd prepared well asking people to install Anaconda Python and Jupyter in advance, but I assumed few people would actually do that - so I came armed with 5 USB stcks with Linux, Windows and OSX versions of the Anaconda distribution to be free from any possible "conference wifi" deficiencies.

I was very pleased to have help from Gil (@LuRsT, whose name I still don't know ... it would have been impossible to start the tutorial and run around distributing USB keys, so Gil saved the day - thanks Gil.

My slides for the IPython-in-depth tutorial are here, and the github repo here (almost an exact clone from the offcial ipython repo of the same name).

The tutorial went well.  I was a little concerned that we were about 45 at the beginning about about 15-20 people at the end ... but that was after 3 hours with a conference break in the middle.  I was assured this was normal and anyway I could see that those who invested the full 3 hours were very happy to have done so.

On the Friday I presented "Jupyter for Everything Else".  This was intended to look at some alternative uses for Jupyter notebooks, in particular I like being able to use bash kernels to create notebooks of command-line experiments.  I have for  example run Docker demos, or labs using Jupyter+bash kernel.

My slides for that session are available here, the github repo here and the YouTube video below

I also demonstrated some extensions to the metakernel_bash  from Calysto, which allow to display images in line in the notebook, or create graphics using GraphViz dot language, or even invoke graphics such as Lightning or Bokeh servers from the bash command-line.  Unfortunately, I still haven't cleaned up that code in a form which I could create a Pull Request - shame on me ... that's why this blog post is soooo late.

Another important subject was on the use of the mybinder project for publishing live notebooks online.
I've already   blogged about publishing live command-line tutorials using mybinder bash metakernel here, in particular I published a live (you can run and modify the code) tcpdump tutorial, in "tcpdump (online runnable) tutorial under MyBinder/Jupyter".

Another subject I covered was OpenStack monitoring from a Jupyter Notebook (using Python3 kernel) using nbconvert under cron to execute the notebook and create graphical (html) results which could be sent by e-mail.   This allowed me to provide daily status reports for 4 OpenStack platforms that our NFV team manages.