First Things First… What is Jupyter?
Lately, I’ve been moving into the Python world where I quickly encountered Jupyter notebooks. They seem like a pretty dominant technology that lets you script python block-by-block and render the results. You can also render data into charts, manage user-interface widgets, and do most anything else.
What is the Problem With Jupyter?
But Jupyter really just runs on a single machine. What about when you want to share this information to say, teach a class, or work with a team of data scientists?
So… We Have Jupyter Hub!
Jupyter Hub is a multi-user version of Jupyter… so it fixes our problems! Here I’ll paraphrase content and use images from a wonderful video I watched on YouTube – you can watch it at the bottom of this post if you like.
Basically, Jupyter Hub just provides a higher level service to the standard Jupyter notebooks. It contains:
- A proxy server to route requests.
- A “hub” which handles authentication, user details, and spawning new notebooks. Authentication is flexible and can most likely tie in your corporate authentication system.
- Any number of spawned Jupyter processes to run notebooks for the given users. A variety of spawning techniques exist (e.g. spawning to Docker).
You can see this architecture below.
So, if you need multi-user Jupyter, I suggest you look into installing and trying Jupyter hub, and I highly recommend the video below as a starting point!