JupyterLab: The Next Generation Jupyter Web Interface

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
my name is Jason grout I'm at Bloomberg and I'm here to talk about Jupiter lab which is the next generation of the Jupiter web-interface I'll just mention that there's a few people here on the right-hand side this is some of the major contributors to Jupiter lab but there are also many more so first the classic notebook since its launch a couple of years ago it's grown to be the de-facto platform for doing interactive data science and sharing your results with others one of the nice things about the classic Jupiter notebook is that it lets you combine rich output code input as well as narrative text including mathematics how many people here have used the Jupiter notebook okay if you didn't raise your hand turn to the person next to you it looks like and they can fill you in but one of the things we've noticed about the Jupiter notebook is that people need many more tools for their workflow and so the Jupiter notebooks grown a few other components for example a terminal text editor a file browser etc each of these components helps us in our workflow but they're still sort of distinct things and one of the things that Jupiter lab does is it brings all those components together into a single unifying platform so this is an example of Jupiter lab you have your notebook on the top and editor a view of an output cell and a file browser off to the left hand side plus a few other tabs across the top that you'll see to give a little bit of background about Jupiter lab it's been in development for about three years many contributors some working on it full-time many from the community as well many releases because we have six and we've broken up Jupiter lab into many different components in each component has its own release but to give you an idea it's about 12,000 commits which is about the same amount of commits as the classic notebook so we've gone come quite far in the last three years with Jupiter lab and just in the last month or so we've released what we call Jupiter lab beta which really means user 1.0 it's ready for daily use the extension developer API is still evolving and so that's why we call it beta but it's ready for daily use you can install it with Conda or install it with pip the takeaway from this slide is that you should really go check it out today and just as a side if you're interested in the Jupiter ecosystem and learning more about the Jupiter ecosystem and revving shoulders with more using Jupiter please come to Jupiter Khan August 21st through 25th in New York City and especially we'd love to see you on the Saturday the free Jupiter community sprint day it's August 25 so let's see what Jupiter out looks like so this is Jupiter lab let me make sure that looking for a thumbs up on if if it's big enough for you to see is it good okay so here's Jupiter lab you can create a new tab by either clicking a plus or a file new you can create a new notebook you can create a console which is like the ipython console in the terminal you can create a terminal a full-functioning terminal or a text editor let's look at notebooks first so here's an example notebook from Jake van der pastas data science handbook this is the same notebook interface that we know and love same notebook file so that we know and love but completely new implementation of the of the viewer and so you can see that works for example shift-enter is executing things and I'm evaluating the code but we've taken some time to implement a few features that people have been wanting for a while now since we have a brand-new implementation of this for example you can collapse code cells inputs or outputs you can drag code cells around to move them etc and drag it back if you'd like you can even open up a new version a new view of this document here and so that it's easy to drag it over to the side so now you have two side by side notebooks and now it's easy for me to see two parts of the notebook at the same time in fact dragging also works between documents and if I drag between two documents it copies the cells so you can have a template notebook and just copy cells into another notebook if you'd like but it's more than just having components side by side one of the things that bringing the components under a single platform does is it lets us have components to interact with each other so for example I can open up new console for this notebook what it does is it opens up a console that's attached to the exact same kernel as this notebook is and you now you see as I evaluate code in the notebook you'll see a log appearing in the console of exactly what code I've evaluated this is nice the log on the in the console is immutable it tells me exactly what code I evaluated in what order I evaluated it and it also allows me to play around in this kernel without messing up my notebook I can investigate things outside of sort of my document and I have two tools here then talking to the same kernel this is the sort of functionality that you Pro lab enables the tools integrated in working working together here's another notebook demonstrating the Jupiter widgets ecosystem the Jupiter widgets is a powerful system for doing interactive it's sort of dashboard he like computations so here I drag a slider and it's recomputing the solution to the lawrence equations but it just as i can have two components talking to each other it's easy for me to split components out so for example i can create a new view for this output and I can even overlay it on top of this and now I have sort of a prototypical dashboard talking to the same kernel just another view of this output of this cell so that's a notebook the same interface you know and love same files that you know and love but more powerful and integrated into the Jupiter lab environment so let's look at the editor so here's a markdown file for example and with any sort of document in jupiter lab we can have multiple viewers so for example I can show the markdown preview for this file and put it to the side and this is actually a live preview they're both viewers are talking to the same underlying model you can see you know there's a live preview preview for the for the markdown but just like the notebook I that powerful thing in Jupiter is being able to hook up to kernels and so you see I have some code blocks here I'm gonna create a console for this editor you get to pick whatever kernel I won probably the language that I'm writing in my markdown document and now if I press shift enter inside this code cell this code block it sends it to the console over in the bottom right and I can keep going through the code block so automatically sends the entire code block here and it's very easy for me to check my eggs apples here here again I have a markdown file and a view of the markdown file and I can execute from the markdown file this is also really powerful if you instead of having markdown files you have code files the code files then you can check each line of the code file as you go through you can see that things get pretty crammed so you can also code a single document mode to blow up one part of the jupiter lab interface and you can also collapse it back down to go to your full layout and we deal with many many different kinds of file types inside of troop inside of our workflows so jupiter lab has a number of viewers for different kinds of files so for example images or PDF files for example you can deal with even geo json files so here's a live map it can deal with all sorts of files including csv files one of the biggest data formats that we deal with these days CSV files this is a grid renderer that's a high-performance grid read or written by Chris Cole Bert is part of the underlying phosphor J s library upon which jupiter lab is built it's part of the jupiter lab collaboration but it does more than just open up small csv files here here's a 200 megabyte file 1.2 million bros excel in Libre Office can't open it's too big but our high-performance data grid viewer once it can transfer 200 megabytes to the to the browser smooth is butter and if this is too small for you the actual data grid component can handle there's an example out there where it can handle a trillion rows and a trillion columns still smooth is better scrolling through your data but Jupiter lab is more than just a collection of tools here it's also about being extensible I've last year at Syfy someone came up to us and said we'd love to see a faster viewer FASTA file viewer and so it took us a few minutes maybe an hour or so to wrap up a JavaScript viewer for a fast to file and just a couple of dozen lines of code and now you can view a faster files not just as files but you can also view them in the notebook a couple dozen lines of code enables us to deal with a new file format either as a file or in the notebook in fact if you look at Jupiter lab here is Jupiter lab itself ice mentioned sixty components here is Jupiter lab it's got a console each one of these is a component of Jupiter lab everything that you see here is an extension in Jupiter lab including the main menu including the file browser everything here the cool thing about it is you can write your own extensions that live on the same level as the extensions that come with Jupiter lab this means that you can write your own tools your own customization of your own tools that live on the same level playing field to extend a component of Jupiter lab replace a component of Jupiter lab and this is really the genius of open source that you can customize your own tools and of all the things in Jupiter lab the thing I'm most excited about is to see what sort of extensions what sort of customizations what sort of things that you guys write for your workflow again come to Jupiter con if you'd like to learn more about Jupiter the other thing you can do is if you just blot on Google Jupiter lab the first post the first link is a blog post that's a fantastic blog post explaining Jupiter lab a little more the second link here is the github and the third is an excellent user documentation that walks you through Jupiter lab so install it today I'm excited to hear what you guys have to think about it thank you [Applause]
Info
Channel: InfoQ
Views: 71,805
Rating: 4.9680367 out of 5
Keywords: Jupyter, JupyterLab, Jupyter Notebook, Jupyter Web Interface, QCon, QCon.ai, InfoQ, Artificial Intelligence, Machine Learning
Id: ctOM-Gza04Y
Channel Id: undefined
Length: 10min 26sec (626 seconds)
Published: Mon Jun 25 2018
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.