[package]
name = "lowfi"
version = "2.0.5"
rust-version = "1.83.0"
edition = "2021"
description = "An extremely simple lofi player."
license = "MIT"
readme = "README.md"
categories = [
"command-line-interface",
"command-line-utilities",
"multimedia",
"multimedia::audio",
]
keywords = ["lowfi", "lofi", "music"]
documentation = "https://github.com/talwat/lowfi"
homepage = "https://github.com/talwat/lowfi"
repository = "https://github.com/talwat/lowfi"
[features]
mpris = ["dep:mpris-server", "dep:arc-swap"]
extra-audio-formats = ["rodio/default"]
scrape = [
"dep:serde",
"dep:serde_json",
"dep:html-escape",
"dep:scraper",
"dep:indicatif",
]
[dependencies]
clap = { version = "4.5.60", features = ["derive", "cargo"] }
eyre = "0.6.12"
fastrand = "2.3.0"
thiserror = "2.0.18"
tokio = { version = "1.50.0", features = ["macros", "rt", "fs", "io-util", "sync", "time"], default-features = false }
futures-util = { version = "0.3.32", default-features = false }
arc-swap = { version = "1.8.2", optional = true }
reqwest = { version = "0.13.2", features = ["stream", "http2", "default-tls"], default-features = false }
chrono = { version = "0.4.44", features = ["clock"], default-features = false }
bytes = "1.11.1"
crossterm = { version = "0.29.0", features = ["event-stream", "windows"], default-features = false }
rodio = { version = "0.22.2", features = ["symphonia-mp3", "playback"], default-features = false }
mpris-server = { version = "0.9.0", optional = true }
dirs = "6.0.0"
unicode-segmentation = "1.12.0"
url = { version = "2.5.8", default-features = false }
serde = { version = "1.0.228", features = ["derive"], optional = true }
serde_json = { version = "1.0.149", optional = true }
scraper = { version = "0.25.0", optional = true }
html-escape = { version = "0.2.13", optional = true }
indicatif = { version = "0.18.4", optional = true }
[target.'cfg(target_os = "linux")'.dependencies]
libc = "0.2.182"
[lints.clippy]
all = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
nursery = { level = "warn", priority = -1 }
unwrap_in_result = "warn"
missing_docs_in_private_items = "warn"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
must_use_candidate = "allow"
cast_precision_loss = "allow"
cast_sign_loss = "allow"
cast_possible_truncation = "allow"
struct_excessive_bools = "allow"