lowfi/Cargo.toml
2025-12-06 22:11:49 +01:00

75 lines
2.2 KiB
TOML

[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"], default-features = false }
arc-swap = "1.7.1"
futures-util = { version = "0.3.31", default-features = false, features = ["io"]}
# 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 = "2.5.4"
# 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"