spotify_player 0.23.0

A Spotify player in the terminal with full feature parity
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "spotify_player"
version = "0.23.0"
authors = ["Thang Pham <phamducthang1234@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A Spotify player in the terminal with full feature parity"
readme = "README.md"
keywords = [
    "spotify",
    "tui",
    "ratatui",
    "player",
]
license = "MIT"
repository = "https://github.com/aome510/spotify-player"

[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ target }{ archive-suffix }"

[package.metadata.cargo-machete]
ignored = [
    "async-trait",
    "vergen",
]

[features]
alsa-backend = [
    "streaming",
    "librespot-playback/alsa-backend",
]
daemon = [
    "daemonize",
    "streaming",
]
default = [
    "rodio-backend",
    "media-control",
]
fzf = ["fuzzy-matcher"]
gstreamer-backend = [
    "streaming",
    "librespot-playback/gstreamer-backend",
]
image = [
    "viuer",
    "dep:image",
]
jackaudio-backend = [
    "streaming",
    "librespot-playback/jackaudio-backend",
]
media-control = [
    "souvlaki",
    "winit",
    "windows",
]
notify = ["notify-rust"]
pixelate = ["image"]
portaudio-backend = [
    "streaming",
    "librespot-playback/portaudio-backend",
]
pulseaudio-backend = [
    "streaming",
    "librespot-playback/pulseaudio-backend",
]
rodio-backend = [
    "streaming",
    "librespot-playback/rodio-backend",
]
rodiojack-backend = [
    "streaming",
    "librespot-playback/rodiojack-backend",
]
sdl-backend = [
    "streaming",
    "librespot-playback/sdl-backend",
]
sixel = [
    "image",
    "viuer/sixel",
]
streaming = [
    "librespot-playback",
    "librespot-connect",
    "rustfft",
]

[[bin]]
name = "spotify_player"
path = "src/main.rs"

[dependencies.anyhow]
version = "1.0.102"

[dependencies.async-trait]
version = "0.1.89"

[dependencies.backtrace]
version = "0.3.76"

[dependencies.chrono]
version = "0.4.44"

[dependencies.chrono-humanize]
version = "0.2.3"

[dependencies.clap]
version = "4.6.0"
features = [
    "derive",
    "string",
]

[dependencies.clap_complete]
version = "4.6.0"

[dependencies.config_parser2]
version = "0.1.7"

[dependencies.crossterm]
version = "0.29.0"

[dependencies.daemonize]
version = "0.5.0"
optional = true

[dependencies.dirs-next]
version = "2.0.0"

[dependencies.flume]
version = "0.12.0"

[dependencies.futures]
version = "0.3.32"

[dependencies.fuzzy-matcher]
version = "0.3.7"
optional = true

[dependencies.html-escape]
version = "0.2.13"

[dependencies.image]
version = "0.25.10"
optional = true

[dependencies.librespot-connect]
version = "0.8.0"
optional = true

[dependencies.librespot-core]
version = "0.8.0"

[dependencies.librespot-metadata]
version = "0.8.0"

[dependencies.librespot-oauth]
version = "0.8.0"

[dependencies.librespot-playback]
version = "0.8.0"
features = ["native-tls"]
optional = true
default-features = false

[dependencies.log]
version = "0.4.29"

[dependencies.maybe-async]
version = "0.2.10"

[dependencies.notify-rust]
version = "4.12.0"
features = ["d"]
optional = true
default-features = false

[dependencies.parking_lot]
version = "0.12.5"

[dependencies.rand]
version = "0.10.0"

[dependencies.ratatui]
version = "0.30.0"

[dependencies.regex]
version = "1.12.3"

[dependencies.reqwest]
version = "0.13.2"
features = [
    "json",
    "query",
]

[dependencies.rspotify]
version = "0.15.3"
features = ["cli"]

[dependencies.rustfft]
version = "6"
optional = true

[dependencies.rustls]
version = "0.23.37"
features = ["ring"]
default-features = false

[dependencies.serde]
version = "1.0.228"
features = ["derive"]

[dependencies.serde_json]
version = "1.0.149"

[dependencies.souvlaki]
version = "0.8.3"
optional = true

[dependencies.tokio]
version = "1.50.0"
features = [
    "rt",
    "rt-multi-thread",
    "macros",
    "time",
]

[dependencies.toml]
version = "1.1.0"

[dependencies.tracing]
version = "0.1.44"

[dependencies.tracing-subscriber]
version = "0.3.23"
features = ["env-filter"]

[dependencies.ttl_cache]
version = "0.5.1"

[dependencies.unicode-bidi]
version = "0.3.18"

[dependencies.vergen]
version = "=9.0.6"

[dependencies.viuer]
version = "=0.9.2"
optional = true

[dependencies.which]
version = "8.0.2"

[target.'cfg(any(target_os = "windows", target_os = "macos"))'.dependencies.winit]
version = "0.30.13"
optional = true

[target.'cfg(target_os = "windows")'.dependencies.clipboard-win]
version = "5.4.1"

[target.'cfg(target_os = "windows")'.dependencies.windows]
version = "0.58.0"
features = [
    "Win32_Foundation",
    "Win32_Graphics_Gdi",
    "Win32_System_LibraryLoader",
    "Win32_UI_WindowsAndMessaging",
]
optional = true

[lints.clippy.cast_possible_truncation]
level = "allow"
priority = 20

[lints.clippy.cast_possible_wrap]
level = "allow"
priority = 20

[lints.clippy.cast_precision_loss]
level = "allow"
priority = 20

[lints.clippy.cast_sign_loss]
level = "allow"
priority = 20

[lints.clippy.complexity]
level = "warn"
priority = 4

[lints.clippy.missing_errors_doc]
level = "allow"
priority = 20

[lints.clippy.module_name_repetitions]
level = "allow"
priority = 20

[lints.clippy.pedantic]
level = "deny"
priority = 1

[lints.clippy.perf]
level = "warn"
priority = 2

[lints.clippy.similar_names]
level = "allow"
priority = 20

[lints.clippy.style]
level = "warn"
priority = 3

[lints.clippy.too_many_lines]
level = "allow"
priority = 20

[lints.rust]
unsafe_code = "deny"