[package] name = "lowfi" version = "2.0.0-dev" 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"] extra-audio-formats = ["rodio/default"] scrape = [ "dep:serde", "dep:serde_json", "dep:html-escape", "dep:scraper", "dep:indicatif", ] [dependencies] # Basics clap = { version = "4.5.21", features = ["derive", "cargo"] } eyre = "0.6.12" fastrand = "2.3.0" thiserror = "2.0.12" # Async tokio = { version = "1.41.1", features = ["macros", "rt", "fs", "io-util", "sync", "time"], default-features = false } futures-util = { version = "0.3.31", default-features = false } arc-swap = "1.7.1" # Data reqwest = { version = "0.12.9", features = ["stream", "http2", "default-tls"], default-features = false } bytes = "1.9.0" # I/O crossterm = { version = "0.29.0", features = ["event-stream"], default-features = false } rodio = { version = "0.21.1", 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.4", default-features = false } # Scraper serde = { version = "1.0.219", features = ["derive"], optional = true } serde_json = { version = "1.0.142", optional = true } scraper = { version = "0.24.0", optional = true } html-escape = { version = "0.2.13", optional = true } indicatif = { version = "0.18.0", optional = true } [target.'cfg(target_os = "linux")'.dependencies] libc = "0.2.167" [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"