# JupyterLab — Next-Generation Interactive Development Environment > The extensible web-based IDE for notebooks, code, and data from Project Jupyter, succeeding the classic Jupyter Notebook interface. ## Install Save the content below to `.claude/skills/` or append to your `CLAUDE.md`: # JupyterLab — Next-Generation Interactive Development Environment ## Quick Use ```bash pip install jupyterlab jupyter lab # Or with conda conda install -c conda-forge jupyterlab jupyter lab --port 8888 ``` ## Introduction JupyterLab is the next-generation web interface for Project Jupyter. It provides a flexible, tabbed workspace where notebooks, terminals, text editors, file browsers, and rich outputs coexist in a single browser window, replacing and extending the classic Jupyter Notebook UI. ## What JupyterLab Does - Provides a tabbed IDE in the browser for interactive computing - Supports Jupyter notebooks with inline code execution and rich output - Includes a built-in terminal, text editor, CSV viewer, and image viewer - Connects to 40+ language kernels including Python, R, Julia, and Scala - Offers a plugin system for adding new file types, viewers, and tools ## Architecture Overview JupyterLab is a TypeScript/React frontend that communicates with a Jupyter Server backend via REST and WebSocket APIs. The backend manages kernels (language runtimes) and file storage. The UI is built from composable extensions that register commands, widgets, and MIME renderers into a shared application shell. ## Self-Hosting & Configuration - Install via pip, conda, or Docker and run with `jupyter lab` - Configure via `jupyter_lab_config.py` for auth, ports, and allowed origins - Deploy multi-user setups using JupyterHub as a spawner frontend - Install extensions with `pip install` or the built-in extension manager - Set custom workspace layouts and save them for team-wide consistency ## Key Features - Drag-and-drop tabbed interface with split panes and side panels - Real-time collaboration for shared notebook editing (via jupyter-collaboration) - Built-in CSV, JSON, Markdown, and image viewers with no extra plugins - Extensible: 1,000+ community extensions for Git, LSP, debugging, and more - Supports both classic `.ipynb` notebooks and plain script execution ## Comparison with Similar Tools - **Jupyter Notebook (classic)** — Simpler single-document UI; JupyterLab offers a full IDE layout - **Google Colab** — Cloud-hosted with free GPUs; proprietary, limited customization - **Marimo** — Reactive Python notebook; newer, smaller ecosystem - **VS Code Notebooks** — Integrated into VS Code; requires a full editor install - **Databricks Notebooks** — Cloud-native; tied to the Databricks platform ## FAQ **Q: Can I use JupyterLab with languages other than Python?** A: Yes. Install a kernel for your language (IRkernel for R, IJulia for Julia, etc.) and it appears as an option in JupyterLab. **Q: How do I enable real-time collaboration?** A: Install `jupyter-collaboration` and share the URL. Multiple users can edit the same notebook simultaneously. **Q: Is JupyterLab suitable for production?** A: JupyterLab is designed for interactive development. For production deployments with multiple users, pair it with JupyterHub and configure authentication and resource limits. **Q: Can I migrate from classic Jupyter Notebook?** A: Yes. JupyterLab reads the same `.ipynb` files. No conversion is needed. ## Sources - https://github.com/jupyterlab/jupyterlab - https://jupyterlab.readthedocs.io --- Source: https://tokrepo.com/en/workflows/jupyterlab-next-generation-interactive-development-4de315f7 Author: AI Open Source