Ypy-websocket
Ypy-websocket is an async WebSocket connector for Ypy.
Documentation: https://davidbrochart.github.io/ypy-websocket
Source Code: https://github.com/y-crdt/ypy-websocket
Ypy-websocket is a Python library for building WebSocket servers and clients that connect and synchronize shared documents. It can be used to create collaborative web applications.
The following diagram illustrates a typical architecture. The goal is to share a document among several clients.
Each client has an instance of a YDoc, representing their view of a document. A shared document also lives in a room on the server side. Conceptually, a room can be seen as the place where clients collaborate on a document. The WebSocket to which a client connects points to the corresponding room through the endpoint path. In the example below, clients A and B connect to a WebSocket at path room-1, and thus both clients find themselves in a room called room-1. All the YDoc synchronization logic is taken care of by the WebsocketProvider.
Each update to a shared document can be persisted to disk using a store, which can be a file or a database.
flowchart TD
classDef room1 fill:#f96
classDef room2 fill:#bbf
A[Client A<br>room-1]:::room1 <-->|WebSocket<br>Provider| server(WebSocket Server)
B[Client B<br>room-1]:::room1 <-->|WebSocket<br>Provider| server
C[Client C<br>room-2]:::room2 <-->|WebSocket<br>Provider| server
D[Client D<br>room-2]:::room2 <-->|WebSocket<br>Provider| server
server <--> room1((room-1<br>clients: A, B)):::room1
server <--> room2((room-2<br>clients: C, D)):::room2
A <-..-> room1
B <-..-> room1
C <-..-> room2
D <-..-> room2
room1 ---> store1[(Store)]
room2 ---> store2[(Store)]
Release files for ypy-websocket 0.12.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ypy_websocket-0.12.4.tar.gz | 17.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ypy_websocket-0.12.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:36.8 kB
Release files / ypy_websocket-0.12.4.tar.gz
| Download URL | ypy_websocket-0.12.4.tar.gz |
|---|---|
| Size | 17.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cbbf5fdaa9a301a0b5f9455f1f29478b7c05b62773b2dd2a65c6502b4e10afa1
|
|
BLAKE2b-256 checksum How to use checksums |
68d1a49775fddf5d1e0c967e8dee21d6eee6f88e4280762e6099f0914cf58491
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / ypy_websocket-0.12.4-py3-none-any.whl
| Download URL | ypy_websocket-0.12.4-py3-none-any.whl |
|---|---|
| Size | 19.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ff04a206d8d6996ad30aff582dea0a152f933537efa404d1936ec68fffe0e910
|
|
BLAKE2b-256 checksum How to use checksums |
3d576dbc4fabc51f47112b4b11a6e9321fac3cfe830ff28b165d740e902a494f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|