Python bindings for libdave, Discord's C++ DAVE1 protocol implementation.
See the API docs for a general overview of the protocol, as well as https://daveprotocol.com/ for an in-depth protocol description.
pip install dave.pyPrebuilt wheels for all platforms and many 64-bit architectures are available directly from PyPI (32-bit architectures are not supported).
If you're missing wheels for any specific platform/architecture, feel free to open an issue!
To build from source, any PEP 517-compatible build frontend can be used, e.g. python -m build.
Note that building from source (or sdist) also requires $VCPKG_ROOT to point to a vcpkg clone, as well as a lot of patience.
While this is not targeting/built for any project in particular, there isn't really any documentation to speak of right now. Sorry about that.
For implementation hints, feel free to reference this disnake PR or this (partial) TypeScript reference implementation.
This project follows semantic versioning, i.e. breaking changes will be limited to major versions (e.g. v1.x -> v2.0).
Releases are independent and do not necessarily match upstream libdave releases or protocol versions/changes.
Footnotes
-
"Discord's audio & video end-to-end encryption" ↩