π― Session FormatΒΆ
This is an open exploration session. Youβll choose a project that interests you and work on it with instructor support. Donβt worry about finishing - the goal is to practice the development workflow and problem-solving.
π‘ Extension IdeasΒΆ
Community ExtensionsΒΆ
Jupyterlab-contrib Jupyter Marketplase
Frontend ExtensionsΒΆ
Beginner-Friendly: TBD Intermediate: TBD
Extensions with Server ComponentsΒΆ
Beginner-Friendly: TBD
Intermediate: TBD
π§ Key JupyterLab APIsΒΆ
Commonly Used Tokens/Services:ΒΆ
| API | Use Case | Documentation |
|---|---|---|
INotebookTracker | Track active notebooks | Docs |
IStatusBar | Add widgets to status bar | Docs |
ICommandPalette | Register commands | Docs |
IFileBrowserFactory | Access file browser | Docs |
IThemeManager | Theme customization | Docs |
ISettingRegistry | Extension settings | Docs |
For Server Extensions:ΒΆ
Jupyter Server Handlers: Documentation
Tornado Request Handlers: Tornado Docs
π Beginner-Friendly GitHubΒΆ
Want to contribute to JupyterLab itself? Here are good first issues:
JupyterLab Core:
Extension Template:
π Essential ResourcesΒΆ
Documentation:ΒΆ
Code Examples:ΒΆ
Extension Examples Repository - 40+ example extensions
JupyterLab GitHub - Core extensions source code
Tools:ΒΆ
Browser DevTools - Debug frontend
Run JupyterLab with
--debugto see more server side details
π Getting Started ChecklistΒΆ
Choose an extension idea (or GitHub issue)
Create extension from template (if new project)
Identify which JupyterLab APIs youβll need
Look up API documentation and examples
Set up development environment #TODO: links and
jlpmcommands for quick referenceStart coding!
Test frequently (
jupyter lab --dev-mode) #TODO: watch for iterative devAsk instructors for help when stuck
π¬ Getting HelpΒΆ
During this session:
Raise your hand for instructor help
Discuss with neighbors
Zulip for real-time chat
After the tutorial:
JupyterLab Discourse - Community forum
Zulip Chat - Continue conversing with the Jupyter Community!