Skip to main content

Lavalink API wrapper for discord audio playing

Project description

lavalink-rs

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 or lavalink discord servers, or by opening an issue in the gitlab repository.

To-Do

0.12

  • Implement some const methods
  • RoutePlanner API
  • Switch from reqwests to hyper
  • native and webpki roots for rustls feature separation
  • Support tokio-websockets
  • Expose Http and methods to python
  • Implement search utilities to python

Future

  • Streamable queue reader
  • Improve documentation with examples, better formatting, and fill in missing data
  • Expand event logging
  • hikari-lightbulb example
  • discord.py example
  • hata example
  • twilight-rs example
  • Gitlab CI Tests
  • Implement abstractions for ease of use
  • Region based node selection method

Done

  • native_tls backend
  • Player queues
  • Readbale player queues
  • Search engine helpers
  • Write basic cocumentation
  • Songbird utilities
  • Serenity utilities
  • Twilight utilities
  • Load balancer node selection method
  • Lavasnek (PyO3)
  • Lavasnek events
  • Remove third party dependency for custom user data.
  • Round-Robin node selection method
  • Main and fallback node selection method
  • CPU Load based node selection method
  • Memory usage based node selection method
  • Custom node selection method
  • Python stubs
  • Basic Twilight 0.16 support
  • Hide password from logs

Links to download stuff you will need

To install Lavalink, you can follow their getting started guide.

How to use

Install the version from crates.io:

lavalink-rs = "0.11"

# or

[dependencies.lavalink-rs]
version = "0.11"

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"

To build for python, you can use maturin.

python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install maturin
maturin develop --target x86_64-unknown-linux-gnu

Features

  • macros: default feature - Adds procedural macros for ease of use.
  • rustls: default feature - Use rustls.
  • native-tls Use the system native tls.
  • serenity for serenity support.
  • songbird for songbird support.
  • twilight for twilight-model v0.15 support.
  • twilight16 for twilight-model v0.16-rc support.
  • python for python3.8+ support.

Contributing

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lavasnek_rs-0.11.1.tar.gz (631.3 kB view hashes)

Uploaded Source

Built Distributions

lavasnek_rs-0.11.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

lavasnek_rs-0.11.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (6.0 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

lavasnek_rs-0.11.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (5.4 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

lavasnek_rs-0.11.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (5.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

lavasnek_rs-0.11.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (5.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

lavasnek_rs-0.11.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

lavasnek_rs-0.11.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl (3.6 MB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

lavasnek_rs-0.11.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl (3.7 MB view hashes)

Uploaded PyPy macOS 10.12+ x86-64

lavasnek_rs-0.11.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

lavasnek_rs-0.11.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (6.0 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

lavasnek_rs-0.11.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (5.4 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

lavasnek_rs-0.11.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (5.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

lavasnek_rs-0.11.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (5.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

lavasnek_rs-0.11.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

lavasnek_rs-0.11.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl (3.6 MB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

lavasnek_rs-0.11.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl (3.7 MB view hashes)

Uploaded PyPy macOS 10.12+ x86-64

lavasnek_rs-0.11.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

lavasnek_rs-0.11.1-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (6.0 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

lavasnek_rs-0.11.1-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (5.4 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

lavasnek_rs-0.11.1-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (5.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

lavasnek_rs-0.11.1-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (5.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

lavasnek_rs-0.11.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

lavasnek_rs-0.11.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl (3.6 MB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

lavasnek_rs-0.11.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl (3.7 MB view hashes)

Uploaded PyPy macOS 10.12+ x86-64

lavasnek_rs-0.11.1-cp312-none-win_amd64.whl (3.5 MB view hashes)

Uploaded CPython 3.12 Windows x86-64

lavasnek_rs-0.11.1-cp312-none-win32.whl (2.9 MB view hashes)

Uploaded CPython 3.12 Windows x86

lavasnek_rs-0.11.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.1 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

lavasnek_rs-0.11.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (6.0 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

lavasnek_rs-0.11.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (5.4 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

lavasnek_rs-0.11.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (5.2 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

lavasnek_rs-0.11.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (5.2 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARMv7l

lavasnek_rs-0.11.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.2 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

lavasnek_rs-0.11.1-cp312-cp312-macosx_11_0_arm64.whl (3.6 MB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

lavasnek_rs-0.11.1-cp312-cp312-macosx_10_12_x86_64.whl (3.7 MB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

lavasnek_rs-0.11.1-cp311-none-win_amd64.whl (3.5 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

lavasnek_rs-0.11.1-cp311-none-win32.whl (2.9 MB view hashes)

Uploaded CPython 3.11 Windows x86

lavasnek_rs-0.11.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

lavasnek_rs-0.11.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (6.0 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

lavasnek_rs-0.11.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (5.4 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

lavasnek_rs-0.11.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (5.2 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

lavasnek_rs-0.11.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (5.2 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

lavasnek_rs-0.11.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.2 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

lavasnek_rs-0.11.1-cp311-cp311-macosx_11_0_arm64.whl (3.6 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

lavasnek_rs-0.11.1-cp311-cp311-macosx_10_12_x86_64.whl (3.7 MB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

lavasnek_rs-0.11.1-cp310-none-win_amd64.whl (3.5 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

lavasnek_rs-0.11.1-cp310-none-win32.whl (2.9 MB view hashes)

Uploaded CPython 3.10 Windows x86

lavasnek_rs-0.11.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (6.0 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

lavasnek_rs-0.11.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (5.4 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

lavasnek_rs-0.11.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (5.2 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

lavasnek_rs-0.11.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (5.2 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

lavasnek_rs-0.11.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.2 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

lavasnek_rs-0.11.1-cp39-none-win_amd64.whl (3.5 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

lavasnek_rs-0.11.1-cp39-none-win32.whl (2.9 MB view hashes)

Uploaded CPython 3.9 Windows x86

lavasnek_rs-0.11.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (6.0 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

lavasnek_rs-0.11.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (5.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

lavasnek_rs-0.11.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (5.2 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

lavasnek_rs-0.11.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (5.2 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

lavasnek_rs-0.11.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.2 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

lavasnek_rs-0.11.1-cp38-none-win_amd64.whl (3.5 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

lavasnek_rs-0.11.1-cp38-none-win32.whl (2.9 MB view hashes)

Uploaded CPython 3.8 Windows x86

lavasnek_rs-0.11.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (6.0 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ s390x

lavasnek_rs-0.11.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (5.4 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

lavasnek_rs-0.11.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (5.2 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

lavasnek_rs-0.11.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (5.2 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARMv7l

lavasnek_rs-0.11.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.2 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page