Roy Hyunjin Han
Create and Run Tools for Analyzing Open Data
Presented by Roy Hyunjin Han of CrossCompute
for Data Umbrella on January 7, 2025
My mission is to inspire people to make tools that improve health, safety, quality of life.
Share Runnable Tools
Years | Product | Framework | License |
---|---|---|---|
2015-2022 | CrossCompute Framework | Pyramid | Open Source (MIT) |
2023-Now | CrossCompute Analytics SDK | FastAPI | Open Source (MIT) |
Years | Product | Framework | License |
---|---|---|---|
2017-2018 | CrossCompute Notebook Extensions | Jupyter Notebook | Open Source (MIT) |
2021-Now | CrossCompute JupyterLab Extensions | JupyterLab | Open Source (MIT) |
Host Runnable Tools (Single Machine)
Develop Runnable Tools
Host Runnable Tools (Distributed Machines)
Host Runnable Tools (Peer to Peer)
Years | Product | Framework | License |
---|---|---|---|
? | ? | ? | ? |
Years | Product | Framework | License |
---|---|---|---|
2015-2022 | CrossCompute Framework | Pyramid | Open Source (MIT) |
2023-Now | CrossCompute Analytics SDK | FastAPI | Open Source (MIT) |
Years | Product | Framework | License |
---|---|---|---|
2017-2018 | CrossCompute Notebook Extensions | Jupyter Notebook | Open Source (MIT) |
2021-Now | CrossCompute JupyterLab Extensions | JupyterLab | Open Source (MIT) |
Host Runnable Tools (Single Machine)
Develop Runnable Tools
Host Runnable Tools (Distributed Machines)
Host Runnable Tools (Peer to Peer)
Years | Product | Framework | License |
---|---|---|---|
? | ? | ? | ? |
crosscompute.com
Try Different JupyterLab Extensions
https://crosscompute.net/a/try-jupyterlab-rtc
Try our CrossCompute JupyterLab Extension
https://crosscompute.net/a/try-crosscompute-sdk
Start a Command Line Session for Pair Programming
https://crosscompute.com/t/pair-program
IPython (2001 - Now)
IPython Notebook (2011-2013)
Jupyter Notebook (2014 - Now)
JupyterLab (2018 - Now)
Left Sidebar
Right Sidebar
Main Work Area
Minimap (v4.3)
Workspaces (v4.2)
Diagrams in Markdown (v4.1)
Inline Completer (v4.1)
Real Time Collaboration (v3, v4)
Dark Theme (v0)
Extensions (v0)
Framework :: Jupyter :: JupyterLab :: Extensions :: Prebuilt
pip install jupyterlab
CTRL-ENTER
SHIFT-ENTER
ALT-ENTER
Code Cells, Markdown Cells
TAB
SHIFT-TAB
0 0
CTRL-SHIFT--
SHIFT-m
ESC a
ESC b
ESC m
ESC y
CTRL-z
CTRL-SHIFT-z
CTRL-SHIFT-c
CTRL-/
➤ Lint code
Diff
➤ pip install nbdime
nbdime extensions --enable
Lint code quality
Debug
➤ pip install xeus-python
Diff
pip install nbdime
Lint code quality
Work incrementally
Notable Examples
extension-examples/commands
extension-examples/signals
extension-examples/react-widget
git clone https://github.com/jupyterlab/extension-examples
cd extension-examples/signals
pip install -e .
jupyter labextension develop . --overwrite
jlpm run build
Entrypoints
src/index.ts
PACKAGE/handlers.py
jupyter lab
SEVEN MINUTES!!
pip install "copier~=9.2" jinja2-time
mkdir myextension; cd myextension
copier copy --trust \
https://github.com/jupyterlab/extension-template .
pip install -e .[test]
jupyter labextension develop . --overwrite
jupyter server extension enable myextension
jlpm build
jlpm watch
jupyter lab --auto-reload
Add right sidebar
Add right sidebar
Listen for events in shell
Add right sidebar
Listen for events in shell
Add right sidebar
Listen for events in shell
Add right sidebar
Listen for events in shell
Listen for events in file browser
Add right sidebar with icon
Listen for events in shell
Listen for events in file browser
Open file in shell
Add right sidebar with icon
Listen for events in shell
Listen for events in file browser
Open file in shell
Add button to call server
git clone https://github.com/jupyterlab/jupyterlab
cd jupyterlab/packages
# grep -InR FileBrowser *
# vim $(grep -InR FileBrowser * -l)
grep- FileBrowser
vimgrep- FileBrowser
Thank you to Abdourahamane Issaka Sani and Reshama Shaikh
By Roy Hyunjin Han