π― 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 reference
- Start coding! 
- Test frequently ( - jupyter lab --dev-mode) #TODO: watch for iterative dev
- Ask 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!