My own implementation of Discord Audio & Video End-to-End Encryption (DAVE) Protocol , using OpenMLS, Python and Rust.
I don't intentionally try to use this mainstream, this project mostly will serve as a learning experience with Rust, and OpenMLS.
This uses uv extensively, and uses ty to typecheck. This also uses maturin to compile Rust bindings, alongside PyO3 to interface with the py/pyi code.
This also uses black, isort and ruff for coding style.
There's no official documentation yet; this is a WIP (whenever I have time available) (I still need to look into DAVE's voice opcodes, etc.), and this README.md will be redone (eventually).
However, installation of this library is:
pip install openmls_dave- MLS (RFC 9420) group key agreement
- SFrame media encryption
- Forward secrecy on membership changes
- Full type hints (via .pyi)