These notes are for the presenters.
For the last two years the Jupyter team has been working on the new Jupyter frontend: JupyterLab. While JupyterLab does of course allow the use of Jupyter Notebooks, it goes beyond the classic Jupyter Notebook by providing a flexible and extensible web application with a set of reusable components. Users can arrange multiple notebooks, text editors, terminals, output areas, and custom components using tabs and collapsible sidebars. These components are carefully designed to enable the user to use them together or separately (for example, a user can send code from a file to a console with a keystroke, or can pop out an output from a notebook to work with it alone).
JupyterLab is based on a flexible application plugin system provided by PhosphorJS that makes it easy to customize existing components or extend it with new components. For example, users can install or write third-party plugins to view custom file formats, such as GeoJSON, interact with external services, such as Dask or Apache Spark, or display their data in effective and useful ways, such as interactive maps, tables, or plots.
In this tutorial we’ll walk users thought the best way to make use of JupyterLab, how to transition from the “classic” Jupyter Notebook frontend to JupyterLab, and how to make the best use of the new powerful features of JupyterLab.
You (should) be provided with red and green sticky notes. If you have any question and concern or need help, stick the red sticky note visible on back of your laptop's screen. A helper will come see you, or the speaker will take time to get questions.
If all is fine, or we're too slow for you, stick the green sticky note to the back of your laptop screen.
At each break, write a thing you understood of liked on the green sticky note, a thing you did not like or found hard on the red one. When exiting the room, stick them to the door frame. Make sure to get new sticky notes for the next section.
This can serve as a quick read through summary of what we talked about (with links) and a rough timeline if you want to follow up on the video later.
Today this tutorial will be presented to you by Matthias Bussonnier, two long standing members of the Jupyter Project. We have a number of helpers in the room. Attendees should have been given red/green sticky notes.
By now you should have installed JupyterLab following the instructions in the readme. For this tutorial, we are standardizing on a conda-based python distribution (miniconda or Anaconda). We may not be able to help with installation issues if you are using a different python distribution.
JupyterLab is close to be release as a 1.0, only a few changges are expected between now and final release. We will show you what can be done, but can still improve the usability quite a bit. When trying to do any task in the exercise try to think first:
-
How would I do that
-
Then try to do the task.
- Note what was intuitive, and what surprised you.
- Tell it to us (via post it or issues)
-
Feel free to interrupt with questions and clarification
-
There will likely be a binder available, but do not rely on the conference wifi.
-
Introduction to JupyterLab (slides)
-
Respond to FAQ:
- Why JupyterLab ?
- Can you get Lab and notebook at the same time: YES
- No difference in file format; Notebooks files are the same
- Following outline from https://github.com/jupyterlab/jupyterlab-demo/tree/master/narrative or https://gist.github.com/jasongrout/3039b5909734b1abf4544a8df68a8ace
Look into the Exercise 1 folder, and follow the instruction in Exercise-1.md
Write one good thing on the green sticky note, one bad on the red one.
- Arranging tabs through dragging
- How to author markdown and equations
- Collapsible cells
- drag cells, inside notebook and between views of files.
- Enable scrolling on outputs
- creating new view of outputs
- javascript rendering restrictions (removed in the next beta)
- binding multiple documents to the same kernel
- New Console for Notebook
- Markdown file + console workflow
- Python code file + console workflow
- Open a notebook in classic notebook, modify, save and reopen in Lab.
- Executing code in a markdown file using an attached console.
- Developing libraries with notebook and Python files attached to same kernel
- Reloading modules?
- Create terminal, work with terminal next to code file and console. Maybe using ipython in terminal.
- Attaching a code console to the same kernel as a notebook.
- Changing editor settings
- Changing theme
- Json config system overview
- Changing keyboard shortcuts
1. change a keyboard shortcut
1. Assign existing shortcut to new action.
2. Assign new Keyboard shortcut to an existing action.
2. add a keyboard shortcut (restart and run all)
3. change an editor setting
- Everything is an extension - show the package.json
- Installing/listing/enabling/disabling plugins.
jupyter lab build
--core-mode
- Exercise 5 - writing your own extension
JupyterLab 0.33 prerelease out:
- Workspaces
- Extension manager
- Console show outputs
- Open in new browser tab
- Longer tabs
- Many, many upgrades
Extensions in the works:
- Keyboard shortcut editor
- Status bar
- Real-time collaboration