jupyter-server-ydoc
jupyter-server extension integrating collaborative shared models.
What it is and what it does
jupyter-server-ydoc is a Jupyter Server extension that integrates Y documents (a CRDT-based collaborative data structure) to enable real-time multi-user editing in JupyterLab. It sits between the Jupyter Server and JupyterLab clients, synchronizing changes across connected users through pycrdt and pycrdt-websocket for transport.
The package handles the server-side coordination of shared document state, allowing multiple users to edit the same notebook or file simultaneously with live updates. It depends on jupyter-server, jupyter-ydoc, jsonschema, jupyter-events, jupyter-server-fileid, pycrdt, and pycrdt-websocket to manage document synchronization, event routing, and file identity tracking.
Use it for:
- Enable live collaborative notebook editing for teams working on the same analysis or code in real time.
- Support classroom or workshop environments where an instructor and students edit shared notebooks together.
- Facilitate pair programming and code review sessions within JupyterLab without manual file synchronization.
- Build shared research or data science workflows where multiple analysts need to work on the same notebook concurrently.
- Implement document-level conflict resolution and undo/redo that respects concurrent edits from multiple users.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Adds real-time collaborative editing to Jupyter Server and JupyterLab through Y document integration, enabling multiple users to edit notebooks and files simultaneously.
Yes, if you need real-time multi-user editing in Jupyter. The package is actively maintained, has low install friction, carries a permissive BSD license, and has no known vulnerabilities. It is a purpose-built extension for Jupyter Server with stable dependencies. Install it only if your Jupyter deployment requires collaborative editing; it is not useful as a standalone library.
Install
jupyter-server-ydoc on PyPI
pip
pip install jupyter-server-ydocuv
uv add jupyter-server-ydocpoetry
poetry add jupyter-server-ydocInstalling jupyter-server-ydoc
Before you install
Low friction install with active maintenance. Released 11 days ago with recent commits. Depends on 7 runtime packages including jupyter-server, pycrdt, and pycrdt-websocket for collaboration infrastructure.
License in practice
Modified BSD License (3-Clause) is permissive and imposes no restrictions on commercial or proprietary use, only requiring preservation of copyright and license notices in distributions.
Quickstart
pip install jupyter-server-ydoc
from jupyter_server_ydoc import YDocExtension
# Extension is loaded automatically by Jupyter Server when installed
Requires Python 3.10 or later; intended as a Jupyter Server extension, not standalone library code.
Verify before relying
- Whether this package alone enables collaboration or requires additional JupyterLab frontend extensions to be installed separately.
- Performance characteristics and scalability limits for concurrent users in a shared session.
- Whether pycrdt-websocket is the only supported transport or if other backends are available.
Package facts
| License | # Licensing terms This project is licensed under the terms of the Modified BSD License (also known as New or Revised or 3-Clause BSD), as follows: - Copyright (c) 2021-, Jupyter Development Team All… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 7 — jsonschema, jupyter-events, jupyter-server-fileid, jupyter-server, jupyter-ydoc, pycrdt, pycrdt-websocket |
| Maintenance | actively maintained — 11 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,498,380/month — #3,831 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: jupyter_server_ydoc-3.0.0-py3-none-any.whl
Tags
More Application Frameworks packages
FastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
jupyter-docproviderAdds real-time collaborative editing to…
permissive · top 15,000 on PyPI
jupyter-ydocProvides pycrdt-based collaborative data…
permissive · top 5,000 on PyPI
jupyter-collaborationAdds real-time collaborative editing to…
permissive · top 15,000 on PyPI
jupyter-collaboration-uiAdds real-time collaboration UI elements to…
permissive · top 15,000 on PyPI
ypy-websocketYpy-websocket is an async WebSocket connector…
permissive · top 5,000 on PyPI
jupyterlab-gitAdds Git version control integration directly…
permissive · top 15,000 on PyPI
jupyterhubJupyterHub is a multi-user server that spawns,…
permissive · top 15,000 on PyPI
y-pyYpy is a Python binding for Y-CRDT that…
permissive · top 5,000 on PyPI
pycrdtpycrdt provides Python bindings for Yrs, a CRDT…
permissive · top 5,000 on PyPI
jupyter-server-documentsA JupyterLab extension that moves document…
permissive · top 15,000 on PyPI