| Crates.io | lavalink-rs |
| lib.rs | lavalink-rs |
| version | 0.14.2 |
| created_at | 2020-08-11 15:03:12.706176+00 |
| updated_at | 2025-09-05 13:16:08.784424+00 |
| description | Lavalink API wrapper for discord audio playing |
| homepage | https://gitlab.com/vicky5124/lavalink-rs/ |
| repository | https://gitlab.com/vicky5124/lavalink-rs/ |
| max_upload_size | |
| id | 275377 |
| size | 1,858,856 |
An API Wrapper for lavalink. Compatible with all tokio 1.x based discord crates or asyncio based discord python libraries.
If you have questions, you can get support in the serenity, lavalink or hikari discord servers, or by opening an issue in the gitlab repository.
Documentation for the library can be found here for rust or here for python.
__anext__ to QueueRefnative_tls backendhyperhypertokio-websocketsTo install Lavalink, you can follow their getting started guide.
This is how you can install the library to be used.
You can install the latest version from crates.io:
lavalink-rs = "0.14"
# or
[dependencies.lavalink-rs]
version = "0.14"
Or the development release:
lavalink-rs = { git = "https://gitlab.com/vicky5124/lavalink-rs/", branch = "main"}
# or
[dependencies.lavalink-rs]
git = "https://gitlab.com/vicky5124/lavalink-rs/"
branch = "main"
If you wish to use a development version of songbird (or serenity, or twilight-model), add the following to the Cargo.toml:
[patch.crates-io.songbird]
git = "https://github.com/serenity-rs/songbird"
branch = "next"
[dependencies.songbird]
git = "https://github.com/serenity-rs/songbird"
branch = "next"
You can install the latest version from pypi by using python3 -m pip install lavalink_rs.
| OS | Arch | Python Versions | Supported? |
|---|---|---|---|
| Windows | x86 | 3.8-3.13 | ✅ |
| Windows | x64 | 3.8-3.13 | ✅ |
| Windows | aarch64 | - | ❌ |
| Mac OS | x86_64 | 3.8-3.13 | ✅ |
| Mac OS | aarch64 | 3.8-3.13 | ✅ |
| Linux | x86 | 3.8-3.13 | ✅ |
| Linux | x86_64 | 3.8-3.13 | ✅ |
| Linux | armv7 | 3.8-3.13 | ✅ |
| Linux | aarch64 | 3.8-3.13 | ✅ |
| Linux | ppc64le | - | ❌ |
| Linux | s390x | - | ❌ |
You can build the library using cargo build
To build for python, you can use maturin instead.
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install maturin
maturin develop --target x86_64-unknown-linux-gnu
macros: default feature - Adds procedural macros for ease of use.python for python3.8+ support.Use tokio-tungstenite as the websocket client (for Serenity):
tungstenite-rustls-native-roots: default feature - Use rustls with the system trusted roots.tungstenite-rustls-webpki-roots: Use rustls with the Mozilla set of trusted roots.tungstenite-native-tls Use the system native tls implementation.Use tokio-websockets as the websocket client (for Twilight):
websockets-rustls-native-roots: Use rustls with the system trusted roots.websockets-rustls-webpki-roots: Use rustls with the Mozilla set of trusted roots.websockets-native-tls Use the system native tls implementation.Discord library utilities:
serenity for serenity support.songbird for songbird support.twilight for twilight-model v0.15 support.To contribute to the project, fork the gitlab repository and create a merge request over there. Make sure to update the changelog with whatever update you did to the library.