Skip to content

Commit

Permalink
Respect youtube 5k character limit data-umbrella#92
Browse files Browse the repository at this point in the history
  • Loading branch information
invisibleroads committed Jan 31, 2025
1 parent c495b1a commit 113fff7
Showing 1 changed file with 41 additions and 58 deletions.
99 changes: 41 additions & 58 deletions 2025/109-roy-jupyter.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,20 @@ https://www.meetup.com/data-umbrella
- Transcript: https://github.com/data-umbrella/event-transcripts/blob/main/2024/109-roy-jupyter.md
- Meetup Event: https://www.meetup.com/data-umbrella/events/304917194/
- Video: https://youtu.be/ERbe2yfXmFY
- Transcriber: ? [needs a transcriber]
- Transcriber: ? [needs a transcriber]

## Resources
- https://jupyterlab.readthedocs.io/en/latest/extension/extension_dev.html
- slides: https://slides.com/invisibleroads/make-your-own-jupyterlab-extension
- Slides: https://slides.com/invisibleroads/make-your-own-jupyterlab-extension

We have some other Jupyter presentations that complement this well:
We have some other Jupyter presentations that complement this well:
- a) Jupyter Notebook and Data Analysis with Python:
https://youtu.be/hc8-AhYBu08
- b) Debugging in Python, in Jupyter Notebook:
https://youtu.be/1b9fq7-xesI

## About the Event
Make your own JupyterLab extension in this tutorial. JupyterLab is a free and open source, browser based integrated development environment (IDE) that is the successor to Jupyter Notebook. Designed from the core to be extensible, JupyterLab is itself an extension of the Jupyter framework. Since its release, open source developers have contributed hundreds of third party extensions (652 third-party extensions as of 2024-10-15).
Make your own JupyterLab extension in this tutorial. JupyterLab is a free and open source, browser based integrated development environment (IDE) that is the successor to Jupyter Notebook. Designed to be extensible, JupyterLab is itself an extension of the Jupyter framework. Since its release, open source developers have contributed hundreds of third party extensions (652 third-party extensions as of 2024-10-15).

JupyterLab extensions can customize or enhance any part of JupyterLab. They can provide new themes, file viewers and editors, or renderers for rich outputs in notebooks. Extensions can add items to the menu or command palette, keyboard shortcuts, or settings in the settings system.

Expand All @@ -30,60 +30,44 @@ JupyterLab began in 2015 thanks to a $6 million grant from the Leona M. and Harr
## Timestamps
```
00:00 About Data Umbrella
03:15 About the Presentation and Presenter
03:15 About the Presenter
04:00 About CrossCompute
05:33 Sandbox Tools for Testing JupyterLab Extensions and Extension Development
06:12 Overview
06:50 Brief History of the Jupyter Project
05:33 Sandbox Tools for Testing Untrusted Code
06:12 Talk Overview
06:50 Brief History of Jupyter
07:40 Jupyter Notebook vs JupyterLab
08:41 Cool Features of JupyterLab that You Might Not Know
10:25 JupyterLab Basics: Installation, Essential Keyboard Shortcuts
12:20 -- Notebook Pre-Commit Hooks for Clearing Outputs
13:39 -- Notebook Pre-Commit Hooks for Linting using nbqa
14:28 -- Notebook Diffs to Compare Changes using nbdime
15:12 -- Activating the JupyterLab Debugger kernel using xeus-python
16:22 -- Try Untrusted JupyterLab Extensions in a Sandbox Environment
17:05 -- Vim Key Bindings for JupyterLab with jupyterlab-vim
17:33 -- Interactive Matplotlib Plots for JupyterLab with ipympl
18:21 JupyterLab Extensions: Plotting (ipympl, ipydatagrid, ipywidgets, pythreejs, mapboxgl-jupyter, ipyleaflet, pydeck, jupyter_bokeh)
18:31 JupyterLab Extensions: Plotting Spreadsheet Data with ipydatagrid
19:47 JupyterLab Extensions: Publishing (spellchecker, jupyterlab-latex, jupyterbook, jupyterlab-crosscompute)
20:15 JupyterLab Extensions: Publishing Web-Based Tools with jupyterlab-crosscompute
21:07 JupyterLab Extensions: Code (jupyterlab-lsp, nbdime, jupytext, nbqa, search-replace, jupyterlab-vim, jupyterlab-variableInspector, jupyter-resource-usage, gather, jupyter-ai)
21:15 JupyterLab Extensions: Code using Supercharged Tooltips with jupyterlab-lsp
22:27 JupyterLab Extensions: Code Collection with gather
22:50 JupyterLab Extensions: Code Block Completion with jupyter-ai
23:00 JupyterLab Extensions: Repository (jupyterlab-git, jupyterlab-gitlab, jupyterlab-github)
23:05 JupyterLab Extensions: Repository Clickable Git Commands with jupyterlab-git
23:38 JupyterLab Extensions: Data (jupyterlab-spreadsheet, jupyterlab-spreadsheet-editor, jupyterlab-sql, jupyter-archive, jupyter-fs)
23:48 JupyterLab Extensions: Data Spreadsheet Editing using jupyterlab-spreadsheet-editor
24:09 JupyterLab Extensions: Data from Compressed Archives using jupyter-archive
24:22 JupyterLab Extensions: Data from Networked File Systems like S3 using jupyter-fs
24:36 JupyterLab Extensions: Deployment (jupyter-scheduler, jupyterlite)
24:39 JupyterLab Extensions: Deployment via Scheduled Jobs using jupyter-scheduler
25:00 JupyterLab Extensions: Deployment using WASM in the Browser using jupyterlite
25:18 Make a JupyterLab Extension: Overview
25:50 Make a JupyterLab Extension: Documentation Highlights (Common Extension Points, Extension Examples README)
26:45 Make a JupyterLab Extension: How to Experiment with Example Extensions
27:20 Make a JupyterLab Extension: How to Read the Code of a JupyterLab Extension by Examining Entrypoints
28:25 Make a JupyterLab Extension: How to Start a Sandbox Pair Programming Session Restricted to Specific IP Addresses and SSH Keys
30:13 Make a JupyterLab Extension: How to Install and Test Example Extensions in a Remote Sandbox
30:50 Make a JupyterLab Extension: Examining the Entrypoint for the Front End of a JupyterLab Extension
31:30 Make a JupyterLab Extension: How to Start Your Extension from a Template
32:48 Make a JupyterLab Extension: Walkthrough - Add Right Sidebar
33:26 Make a JupyterLab Extension: Walkthrough - Listen for Events in Shell and Show Events with console.log
33:55 Make a JupyterLab Extension: Walkthrough - Listen for Events in Shell and Show Events in a React Widget
34:30 Make a JupyterLab Extension: Walkthrough - Use Signals to Connect Your Widget with Events from Other Widgets
35:57 Make a JupyterLab Extension: Walkthrough - Listen for Events in the File Browser
36:17 Make a JupyterLab Extension: Walkthrough - How to Handle Module Not Found Error by Adding Dependencies
37:03 Make a JupyterLab Extension: Walkthrough - Open File in Shell (or How to Cause Changes in Other Widgets)
38:10 Make a JupyterLab Extension: Walkthrough - Add CSS Styling to Your Extension Components
38:47 Make a JupyterLab Extension: Walkthrough - Add Button to Call the Server (or How to Get the Front End to Call the Back End API)
39:05 Make a JupyterLab Extension: Walkthrough - How to Write a View for the Server Extension (or How to Make the Back End API for Your Extension)
39:43 Make a JupyterLab Extension: Walkthrough - Where to Find the Code for the Walkthrough in https://github.com/crosscompute/jupyterlab-crosscompute
40:55 Make a JupyterLab Extension: How to Search the Standard Extensions for Hints using vim $(grep -InR "YOUR QUERY" * -l)
42:06 Make a JupyterLab Extension: Standard Extensions Overview
42:50 More Resources
10:25 JupyterLab Installation, Keyboard Shortcuts
12:20 -- Pre-Commit Hooks for Clearing Outputs and Linting
14:28 -- Diff to Compare Changes
15:12 -- Debugger Kernel
16:22 -- Sandbox Environment for Testing Extensions
18:21 -- Plotting (8 packages)
19:47 -- Publishing (4 packages)
21:07 -- Code (10 packages)
23:00 -- Repository (3 packages)
23:38 -- Data (5 packages)
24:36 -- Deployment (2 packages)
25:18 Make a JupyterLab Extension
25:50 -- Documentation Highlights (Common Extension Points, Extension Examples)
26:45 -- Experiment with Example Extensions
27:20 -- Examine Extension Entrypoints
28:25 -- Start Sandbox to Compile Example Extensions
30:50 -- Examine the Entrypoint for the Extension Front End
31:30 -- Start Your Extension from a Template
32:48 -- Add Right Sidebar
33:26 -- Show Shell Events with console.log
33:55 -- Show Shell Events in a React Widget
34:30 -- Use Signals to Connect Your Widget with Other Widgets
35:57 -- Listen for Events in the File Browser
36:17 -- Handle Module Not Found by Adding Dependencies
37:03 -- Open File in Shell
38:10 -- Add CSS Styling to Your Extension
38:47 -- Add Button to Call the Server API
39:05 -- Write a View for the Server API
39:43 -- Where to Find the Walkthrough Code
40:55 -- Search Standard Extensions with vim $(grep -InR "YOUR QUERY" * -l)
42:50 Resources
```
https://github.com/data-umbrella/event-transcripts/issues/92

Expand All @@ -92,11 +76,10 @@ For the past several years, Roy has been working on CrossCompute, a distributed

- LinkedIn: https://www.linkedin.com/in/invisibleroads/

#OpenSource #Jupyter #JupyterLab
#OpenSource #Jupyter


## Video
<a href="http://www.youtube.com/watch?feature=player_embedded&v=ERbe2yfXmFY" target="_blank"><img src="http://img.youtube.com/vi/ERbe2yfXmFY/0.jpg"
alt="Make Your Own JupyterLab Extension" width="50%" /></a>
<a href="http://www.youtube.com/watch?feature=player_embedded&v=ERbe2yfXmFY" target="_blank"><img src="http://img.youtube.com/vi/ERbe2yfXmFY/0.jpg" alt="Make Your Own JupyterLab Extension" width="50%" /></a>

## Transcript

0 comments on commit 113fff7

Please sign in to comment.