lowfi/Cargo.toml
Tal 02a4e688bd chore: update dependencies
for some reason, rodio decided it would be a great idea to change all of
the core terminology to be less technical. this is frankly strange, but
it's best not to use an outdated version of the dependency.

rodio is for some reason switching to a "breaking change every single
update" versioning model. why? i have frankly no idea, semver exists for
a reason and they decided just not to use it. 0.x.x is stupid, and
people should realize semver exists for a reason. to the total of zero
people who will read this, thanks for reading my short rant.
2026-03-05 20:34:45 +01:00

83 lines
2.4 KiB
TOML

[package]
name = "lowfi"
version = "2.0.3"
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.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 = { version = "1.7.1", optional = true }
# Data
reqwest = { version = "0.13.1", features = ["stream", "http2", "default-tls"], default-features = false }
chrono = { version = "0.4.42", features = ["clock"], default-features = false }
bytes = "1.9.0"
# 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.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.25.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"
struct_excessive_bools = "allow"