Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New ypy-lib0 package #65

Open
davidbrochart opened this issue Feb 15, 2023 · 3 comments
Open

New ypy-lib0 package #65

davidbrochart opened this issue Feb 15, 2023 · 3 comments

Comments

@davidbrochart
Copy link
Collaborator

The (de)serialization functions in yutils.py are generic and could be used for other transports than WebSockets. In Yjs they are part of the lib0 library.
Should we create a new ypy-lib0 repo in this organization?

cc @dmonad

@davidbrochart
Copy link
Collaborator Author

@Horusiath do you think we should have a Rust implementation of lib0, and Python bindings for it?

@Horusiath
Copy link

Tbh. lib0 is very small library in Rust (unlike its counterpart in JS due to differences in standard library capabilities of both languages). From Rust side it's mostly about encoding/decoding variable length integers + serialisation of Any object. I don't know how much of a work it'll be in supporting this as a python wrapper over Rust library vs. simply implementing these functions directly in Python.

@davidbrochart
Copy link
Collaborator Author

I was not aware it already exists in Rust.
We already have them in Python, but I think it would make sense to use a faster implementation, and also it should be extracted out of ypy-websocket.
@Waidhoferj do you think Python bindings for the Rust implementation would be easy?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants