lowfi 2.0.5

An extremely simple lofi player.
[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]
# Basics
clap = { version = "4.5.60", features = ["derive", "cargo"] }
eyre = "0.6.12"
fastrand = "2.3.0"
thiserror = "2.0.18"

# Async
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 }

# Data
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"

# I/O
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"

# Text processing
unicode-segmentation = "1.12.0"
url = { version = "2.5.8", default-features = false }

# Scraper
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"