Install & Compatibility
Where this runs
tested against v3.0.2 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
py 3.9
✕ build_error
✓ 11.4s
72MB installed
● package 72MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
YDocExtension
✓ from jupyter_server_ydoc import YDocExtension
✗ from jupyter_server_ydoc.extension import YDocExtension
This quickstart verifies the installation of `jupyter-server-ydoc` and checks if it's discoverable by the Jupyter Server extension manager. It then provides command-line instructions for enabling the extension and starting JupyterLab with collaborative features.
import subprocess
import sys
try:
# Verify that jupyter-server-ydoc is installed
import jupyter_server_ydoc
print("jupyter-server-ydoc is installed.")
# Programmatically check if the extension is discoverable by Jupyter Server
from jupyter_server.extension.manager import ExtensionManager
from jupyter_server.serverapp import ServerApp
from traitlets.config import Config
class DummyServerApp(ServerApp):
log_level = 0 # Suppress verbose logging
def initialize(self, argv=None):
super().initialize(argv)
if not hasattr(self, 'config'):
self.config = Config()
app = DummyServerApp()
manager = ExtensionManager(serverapp=app)
extension_name = "jupyter_server_ydoc"
if extension_name in manager.available_extensions:
print(f"Extension '{extension_name}' is discoverable by Jupyter Server.")
print("To enable collaborative features:")
print(f"1. Run in your terminal: `jupyter server extension enable {extension_name}`")
print("2. Start JupyterLab with collaboration enabled: `jupyter lab --collaborative`")
print("3. Share the JupyterLab URL with others for real-time collaboration.")
else:
print(f"Error: Extension '{extension_name}' not found by Jupyter Server ExtensionManager.")
print("Please ensure `jupyter-server-ydoc` is installed and the environment is correct.")
except ImportError:
print("Error: jupyter-server-ydoc is not installed.")
print("Please install it using: `pip install jupyter-server-ydoc`")
except Exception as e:
print(f"An unexpected error occurred: {e}")
Debug
Known issues
gotchaThe extension must be explicitly enabled for Jupyter Server. While `jupyter lab --collaborative` can enable it temporarily, for persistent use or headless servers, use `jupyter server extension enable jupyter_server_ydoc`.fixRun `jupyter server extension enable jupyter_server_ydoc` once to persistently enable it. Then launch JupyterLab normally, or with `jupyter lab --collaborative` for explicit collaboration mode.
affects: All versions
breakingjupyter-server-ydoc has strict version dependencies on `jupyterlab-server` and `jupyter-ydoc`. Incompatible versions can lead to server startup failures or non-functional collaboration.fixAlways check the `requires_dist` section on PyPI or the `pyproject.toml` in the GitHub repository for the exact compatible version ranges of its dependencies. Update all related Jupyter components together if possible.
affects: All versions
gotchaCollaboration relies on WebSocket communication. Ensure that firewalls, proxies, or Docker container network configurations do not block WebSocket connections to the Jupyter Server.fixVerify network settings allow WebSocket traffic on the Jupyter Server port. For Docker, ensure ports are exposed correctly. For cloud deployments, check security groups and load balancer settings.
affects: All versions
breakingThis library requires Python 3.10 or newer.fixUpgrade your Python environment to 3.10 or later. Using an older Python version will lead to installation failure.
affects: <2.3.0 (older versions might support 3.7+), but 2.3.0 explicitly requires >=3.10
Upgrade
Version history
3.0.2latest on PyPI · released Aug 25, 2026
Audit
Dependencies
jupyter-ydocrequiredProvides Yjs-based document models for Jupyter content.
jupyterlab-serverrequiredCore dependency for Jupyter Server extensions.
pycrdt-websocketrequiredHandles WebSocket communication for Yjs synchronization.