Scipy Jupyter advanced tutorial

This is some of the material that covers the advanced Jupyter/IPython SciPy tutorial that is/was/will be given in July 2015.

During this tutorial we will cover a few non-usual topics for Jupyter/IPython and in particular concerning the notebook.

The topics we will cover are the following:

How you can extend the notebook function, first by installing already existing available extensions, then how to write your own. It will take a little knowledge of javascript, but don't worry, we have a recap for you.

We'll dive a bit in the structure of how and where are the different configuration and extensions folders. Where you should store files and how to retrieve them.

We'll have a look at some of the Jupyter notebook API to do some easy customisation, and rebind keyboard shortcut.

We will walk you through how to write an extension that provides a custom keyboard shortcut and action that the user can trigger.

Extensions can also extend the notebook server, and you can add custom handlers to allow some processing. You will probably be happy to do a bit of Python.

Once you are Javascript experts, we can get into writing your own widgets, with the view of the javascript side that talks to Python object in the kernel.

We will finish with a demo on how you can install jupyterHub to get a multi-user install.

By the end of this tutorial you should be able to hack the Jupyter Notebook to cover your own needs.