You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Collaboration fix**: Updated WebSocket room path from `api/collaboration/document` to `api/collaboration/room` for jupyter-collaboration v4.x compatibility
64
+
-**Architecture refactor**: Cleaned up to maintain generic, reusable components only
|[@datalayer/jupyter-react](./packages/react)|[](https://www.npmjs.com/package/@datalayer/jupyter-react)|Core React components for Jupyter integration|
26
-
|[@datalayer/jupyter-lexical](./packages/lexical)|[](https://www.npmjs.com/package/@datalayer/jupyter-lexical)| Rich text editor with Lexical framework |
27
-
|[@datalayer/jupyter-docusaurus-plugin](./packages/docusaurus-plugin)|[](https://www.npmjs.com/package/@datalayer/jupyter-docusaurus-plugin)| Docusaurus plugin for Jupyter notebooks |
28
-
|[datalayer-jupyter-vscode](./packages/vscode)|[](https://marketplace.visualstudio.com/items?itemName=datalayer.datalayer-jupyter-vscode)| VS Code extension |
|[@datalayer/jupyter-react](./packages/react)|[](https://www.npmjs.com/package/@datalayer/jupyter-react)|Generic React components for Jupyter |
26
+
|[@datalayer/jupyter-lexical](./packages/lexical)|[](https://www.npmjs.com/package/@datalayer/jupyter-lexical)| Rich text editor with Lexical framework |
27
+
|[@datalayer/jupyter-docusaurus-plugin](./packages/docusaurus-plugin)|[](https://www.npmjs.com/package/@datalayer/jupyter-docusaurus-plugin)| Docusaurus plugin for Jupyter notebooks |
28
+
|[datalayer-jupyter-vscode](./packages/vscode)|[](https://marketplace.visualstudio.com/items?itemName=datalayer.datalayer-jupyter-vscode)| VS Code extension |
29
29
30
30
## 🚀 Quick Start
31
31
@@ -53,6 +53,54 @@ function App() {
53
53
}
54
54
```
55
55
56
+
### Collaborative Editing
57
+
58
+
Jupyter UI supports real-time collaboration through a pluggable provider system:
As a developer start with the [setup of your environment](https://jupyter-ui.datalayer.tech/docs/develop/setup) and try [one of the examples](https://jupyter-ui.datalayer.tech/docs/category/examples). We have [documentation](https://jupyter-ui.datalayer.tech) for more details.
@@ -100,17 +148,26 @@ We host a Storybook on ✨ https://jupyter-ui-storybook.datalayer.tech that show
100
148
### Advanced Features
101
149
102
150
-**🔌 IPyWidgets Support** - Full support for interactive widgets
103
-
-**👥 Collaborative Editing** - Real-time collaboration using Y.js
151
+
-**👥 Collaborative Editing** - Pluggable provider system supporting:
152
+
- Jupyter collaboration (WebSocket-based with Y.js)
153
+
- Custom providers via `ICollaborationProvider` interface
104
154
-**🎨 Theming** - JupyterLab theme support with dark/light modes
105
155
-**🔧 Extensible** - Plugin system for custom functionality
106
156
-**🚀 Performance** - Virtual scrolling, lazy loading, and optimizations
The above image shows a gallery of the available React.js components ready to be used in you custom application. These open source components are used to build [Datalayer](https://datalayer.io), a collaborative platform for data analysis.
170
+
The above image shows a gallery of the available React.js components ready to be used in your custom application.
114
171
115
172
## Why?
116
173
@@ -151,7 +208,7 @@ We maintain a plugin for [Docusaurus](https://docusaurus.io) in the [docusaurus-
Copy file name to clipboardExpand all lines: SUMMARY.md
+14-3Lines changed: 14 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,15 @@
4
4
5
5
Jupyter UI is an open-source React.js component library that bridges the gap between the Jupyter ecosystem and modern web development frameworks. It provides React components that are 100% compatible with Jupyter, allowing developers to build custom data products without being constrained by the traditional JupyterLab interface.
6
6
7
+
## Recent Updates (January 2025)
8
+
9
+
### Collaboration Provider System
10
+
11
+
- Implemented plugin-based architecture for extensible collaboration
- Added collaboration support to `Notebook2` component
15
+
7
16
### Core Problem Solved
8
17
9
18
Traditional JupyterLab uses the Lumino widget toolkit, an imperative UI framework that isn't compatible with modern declarative frameworks like React. This forces developers to either:
@@ -23,7 +32,7 @@ The project uses Lerna to manage a monorepo structure with the following organiz
23
32
```
24
33
jupyter-ui/
25
34
├── packages/ # Core library packages
26
-
│ ├── react/ # Main React component library
35
+
│ ├── react/ # Main React component library (generic)
27
36
│ ├── lexical/ # Rich text editor integration
28
37
│ ├── docusaurus-plugin/ # Docusaurus integration
29
38
│ └── vscode/ # VS Code extension
@@ -60,12 +69,15 @@ The main package providing React components for Jupyter functionality.
60
69
- Provides React context providers for state management
61
70
- Supports both local and remote Jupyter servers
62
71
- Implements WebSocket communication for real-time updates
0 commit comments