ypy-websocket
WebSocket connector for Ypy
What it is and what it does
Ypy-websocket is a Python library that provides async WebSocket connectivity for Ypy, a CRDT implementation. It allows you to build collaborative applications where multiple clients connect to a shared document and synchronize changes in real time. The library manages the synchronization logic between client-side YDoc instances and server-side rooms, with optional persistence through a store abstraction.
The package is built on async/await patterns using anyio and aiosqlite, and integrates with y-py for the underlying CRDT operations. It handles the WebSocket protocol layer so you can focus on the collaboration logic. However, the project is now archived and abandoned, with its last release on 2023-10-04 and no active maintenance.
Use it for:
- Build a collaborative text editor or document editor where multiple users edit the same document simultaneously.
- Create a real-time whiteboard or drawing application with synchronized canvas state across clients.
- Implement a shared note-taking application where changes propagate instantly to all connected participants.
- Develop a collaborative code editor backend that syncs edits across multiple IDE instances.
- Build a multiplayer game or interactive application requiring real-time state synchronization.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Ypy-websocket is an async WebSocket connector for Ypy that enables building WebSocket servers and clients to synchronize shared documents across multiple clients in real time.
No, not for new projects. While the package itself is functional and has low install friction, it is abandoned (last release 2023-10-04, archived repository, no active maintenance). For collaborative document synchronization, you should evaluate actively maintained alternatives or fork this package if you need it. Existing projects already using it may continue, but new adoption carries maintenance risk.
Install
ypy-websocket on PyPI
pip
pip install ypy-websocketuv
uv add ypy-websocketpoetry
poetry add ypy-websocketInstalling ypy-websocket
Before you install
Installation is straightforward with low friction. The package is abandoned as of its last commit on 2025-04-19, with no active maintenance; it has 52 stars and was last released on 2023-10-04. It depends on four runtime packages including y-py and anyio.
License in practice
MIT License permits free use, modification, and distribution with minimal restrictions. You may use this in proprietary projects and modify it as needed, provided you include the original copyright notice and license text.
Quickstart
pip install ypy-websocket
from ypy_websocket import WebsocketProvider
from y_py import YDoc
doc = YDoc()
provider = WebsocketProvider(doc, "ws://example.com/room")
Requires Python 3.7 or later; y-py and anyio must be installed as runtime dependencies.
Verify before relying
- Whether the abandoned status and 1045 days since last release pose practical risks for new projects.
- Whether the four runtime dependencies (aiosqlite, anyio, typing-extensions, y-py) are actively maintained.
- Whether this package is still suitable for production use given its Beta development status and lack of recent updates.
Package facts
| License | MIT License Copyright (c) 2022 David Brochart Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — aiosqlite, anyio, typing-extensions, y-py |
| Maintenance | abandoned — 1,045 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 1,110,442/month — #4,355 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: ypy_websocket-0.12.4-py3-none-any.whl
Keywords: websocket, yjs
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
pycrdt-websocketPycrdt-websocket provides an async WebSocket…
permissive · top 5,000 on PyPI
jupyter-server-ydocAdds real-time collaborative editing to Jupyter…
permissive · top 5,000 on PyPI
y-pyYpy is a Python binding for Y-CRDT that…
permissive · top 5,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
pycrdtpycrdt provides Python bindings for Yrs, a CRDT…
permissive · top 5,000 on PyPI
pycrdt-storeProvides persistent storage backends for…
permissive · top 15,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
jupyter-server-documentsA JupyterLab extension that moves document…
permissive · top 15,000 on PyPI