jupyter-ydoc
Document structures for collaborative editing using Ypy
Decision gist · record as of 2026-08-14
Yes, if you are building or extending Jupyter for collaborative use. The package is actively maintained, has low installation friction, and provides a clean abstraction over CRDTs for Jupyter's document types. It is a foundational dependency for collaborative Jupyter features rather than a standalone tool, so install it only if your project explicitly needs real-time document synchronization.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Low friction installation with only two runtime dependencies (anyio and pycrdt).
- Active maintenance with a recent release 39 days ago and current repository activity.
License · maintenance · safety
BSD 3-Clause License (permissive) — BSD 3-Clause License permits commercial and private use with minimal restrictions; suitable for most projects.
last release 2026-07-06 (39 days) · last repo commit 2026-08-11 · 46 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,558,567 downloads/mo, #3,765 on PyPI
Alternatives
Verify before relying
pip install jupyter-ydoc
from jupyter_ydoc import YNotebook, YUnicode, YBlob
notebook = YNotebook()
text_doc = YUnicode()
blob_doc = YBlob()- Whether these document structures integrate seamlessly with existing Jupyter server infrastructure without additional configuration.
- Performance characteristics when handling large notebooks or concurrent edits from many users.
- Whether custom document types registered via entry points work reliably in production Jupyter deployments.
What it is and what it does
jupyter_ydoc wraps pycrdt's conflict-free replicated data types (CRDTs) into document classes tailored for the Jupyter ecosystem. It provides three built-in document types: YNotebook for notebook files, YUnicode for text documents, and YBlob for binary data. Each is designed to support collaborative real-time editing where changes from multiple users merge automatically without conflicts.
The package uses an entry-point system to make documents discoverable and extensible. You can load the built-in documents directly or register your own custom document types via pyproject.toml configuration. This design allows Jupyter applications and extensions to work with collaborative documents in a pluggable way, without hard-coding specific document implementations.
Use it for
- Enable real-time collaborative notebook editing in JupyterHub or JupyterLab with automatic conflict resolution.
- Build custom collaborative text editors for Jupyter that sync changes across multiple users without manual merging.
- Create Jupyter extensions that need to store and synchronize binary data structures across collaborative sessions.
- Implement custom document types for domain-specific Jupyter workflows by registering them via the jupyter_ydoc entry point.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are building or extending Jupyter for collaborative use.
The package is actively maintained, has low installation friction, and provides a clean abstraction over CRDTs for Jupyter's document types. It is a foundational dependency for collaborative Jupyter features rather than a standalone tool, so install it only if your project explicitly needs real-time document synchronization.
Install
jupyter-ydoc on PyPI
Before you install
Low friction installation with only two runtime dependencies (anyio and pycrdt). Active maintenance with a recent release 39 days ago and current repository activity.
Requires Python 3.10 or later.
License in practice
BSD 3-Clause License permits commercial and private use with minimal restrictions; suitable for most projects.
Quickstart
pip install jupyter-ydoc
from jupyter_ydoc import YNotebook, YUnicode, YBlob
notebook = YNotebook()
text_doc = YUnicode()
blob_doc = YBlob()
Verify before relying
- Whether these document structures integrate seamlessly with existing Jupyter server infrastructure without additional configuration.
- Performance characteristics when handling large notebooks or concurrent edits from many users.
- Whether custom document types registered via entry points work reliably in production Jupyter deployments.
Package facts
| License | BSD 3-Clause License permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesanyiopycrdt |
| Maintenance | Actively maintained 39 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,558,567 / month, #3,765 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: jupyter_ydoc-4.1.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “jupyter collaborative editing”
- jupyter-ydocProvides pycrdt-based collaborative data structures for Jupyter…
- jupyter-docproviderAdds real-time collaborative editing to JupyterLab and Jupyter…
- jupyter-server-ydocAdds real-time collaborative editing to Jupyter Server and JupyterLab…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
See also jupyter-docprovider · jupyter-server-ydoc · pycrdt-store · pycrdt · pycrdt-websocket · jupyter-collaboration · ypy-websocket · jupyter-collaboration-ui · jupyter-server-documents · jupytext