[package]
name = "lavalink-rs"
version = "0.11.1"
edition = "2021"
authors = ["vicky5124 <vickyf5124@gmail.com>"]
license = "MPL-2.0"
description = "Lavalink API wrapper for discord audio playing"
readme = "README.md"
homepage = "https://gitlab.com/vicky5124/lavalink-rs/"
repository =  "https://gitlab.com/vicky5124/lavalink-rs/"
keywords = ["lavalink", "discord", "serenity", "twilight", "songbird"]
categories = ["multimedia"]
documentation = "https://docs.rs/lavalink-rs"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[lib]
name = "lavalink_rs"
crate-type = ["cdylib", "rlib"]

[workspace]
exclude = ["examples", "docs"]

[features]
default = ["rustls", "macros"]

songbird = ["songbird-dep"]
serenity = ["serenity-dep"]
twilight = ["twilight-model"]
twilight16 = ["twilight-model-16"]

macros = ["macros-dep"]

rustls = ["reqwest/rustls-tls", "tokio-tungstenite/rustls-tls-webpki-roots"]
native-tls = ["reqwest/native-tls", "tokio-tungstenite/native-tls"]

python = ["pyo3", "pyo3-asyncio", "pyo3-log", "log", "paste", "macro_rules_attribute", "parking_lot"]

[package.metadata.docs.rs]
features = ["rustls", "twilight", "serenity", "songbird", "macros", "python"]

[dependencies]
arc-swap = "1"
serde_json = "1"
dashmap = "5"
http = "1"
tracing = "0.1"
futures = "0.3"
url = "2"
oneshot = "0.1"
serde_qs = "0.12"

[dependencies.tokio-tungstenite]
version = "0.21"

[dependencies.tokio]
version = "1"
features = ["sync"]

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.reqwest]
version = "0.11"
default-features = false
features = ["json"]

[dependencies.songbird-dep]
package = "songbird"
version = "0.4"
default-features = false
optional = true

[dependencies.serenity-dep]
package = "serenity"
version = "0.12"
default-features = false
optional = true

[dependencies.twilight-model]
version = "0.15"
optional = true

[dependencies.twilight-model-16]
package = "twilight-model"
version = "0.16.0-rc"
optional = true

[dependencies.pyo3]
version = "0.20"
features = ["extension-module"]
optional = true

[dependencies.pyo3-asyncio]
version = "0.20"
features = ["attributes", "tokio-runtime"]
optional = true

[dependencies.pyo3-log]
version = "0.9"
optional = true

[dependencies.log]
version = "0.4"
optional = true

[dependencies.parking_lot]
version = "0.12"
optional = true
#features = ["deadlock_detection"]

[dependencies.paste]
version = "1"
optional = true

[dependencies.macro_rules_attribute]
version = "0.2"
optional = true

[dependencies.macros-dep]
package = "lavalink_rs_macros"
version = "0.1"
#path = "./macros"
optional = true


[build-dependencies]
version_check = "0.9"
