🪐 ⚛️ Components
Jupyter UI provides a comprehensive set of React.js components for building interactive data applications. As a React.js developer, you just write a few lines of code to get a live notebook, cell, terminal, or any Jupyter component in your application.
Packages Overview
Jupyter UI is organized into several packages:
@datalayer/jupyter-react Components
The main package provides the following components:
Core Components
| Component | Description |
|---|---|
| JupyterReactTheme | Theme provider for Jupyter configuration and styling |
| Cell | Single executable code or markdown cell |
| Notebook | Full Jupyter notebook with all features |
| Console | Interactive REPL-style console |
| Terminal | Full terminal emulator |
| Output | Display Jupyter outputs (text, images, HTML, etc.) |
File & Navigation Components
| Component | Description |
|---|---|
| File Browser | Browse and manage files on Jupyter server |
| File Manager | Advanced file management interface |
| Viewer | Read-only notebook viewer |
Kernel Components
| Component | Description |
|---|---|
| Kernel | Kernel management and status |
| Kernel Selector | Select from available kernels |
| Kernel Status | Display kernel connection status |
| Kernel Variables | Inspect kernel variables |
| Kernel Logs | View kernel output logs |
UI Components
| Component | Description |
|---|---|
| Button | Jupyter-styled buttons |
| JupyterLab App | Full JupyterLab as a React component |
| Commands | Command palette integration |
| Dialog | Modal dialogs |
| Settings | Settings editor |
| CodeMirror | Code editor component |
Quick Example
import { JupyterReactTheme, Cell, useJupyter } from '@datalayer/jupyter-react';
function App() {
const { defaultKernel } = useJupyter({
jupyterServerUrl: "http://localhost:8888",
jupyterServerToken: "your-token",
startDefaultKernel: true,
});
return (
<JupyterReactTheme>
{defaultKernel && (
<Cell kernel={defaultKernel} source="print('Hello, Jupyter!')" />
)}
</JupyterReactTheme>
);
}

Features
The Jupyter UI components support:
- State Management: Predefined Zustand actions for reactive state
- Single React Tree: Components integrate into your application's React tree
- IPyWidgets: Full support for interactive widgets
- Collaboration: Real-time collaborative editing (RTC)
- Theming: Works with Primer React, Material-UI, and custom themes
- In-Browser Kernels: Pyodide and JupyterLite support
- Authentication: Jupyter token-based authentication
- Terminals: Full terminal emulator support
Related Packages
- @datalayer/jupyter-lexical - Rich document editor with Jupyter cells
- @datalayer/jupyter-embed - Easy embedding for any website
📄️ Notebook
The Notebook component.
📄️ Cell
The Cell component.
📄️ Console
The Console component.
📄️ Terminal
The Terminal component.
📄️ Button
The Button component.
📄️ Output
Output component for displaying code execution results
📄️ Kernel
Components for managing Jupyter kernels - monitoring status, selecting kernels, inspecting variables, and controlling kernel lifecycle.
📄️ Viewer
The Viewer component.
📄️ File Manager
The File Manager component.
📄️ File Browser
File Browser component for navigating Jupyter server contents
📄️ JupyterLabApp
The JupyterLabApp component - Full JupyterLab as a React component.