[workspace] resolver = "2" members = [ "qbz-models", "qbz-audio", "qbz-player", "qbz-qobuz", "qbz-core", "qbz-integrations", "qbz-cache", "qbz-library", "qbz-cast", "qbz-cmaf", "qconnect-core", "qconnect-protocol", "qconnect-transport-ws", "qconnect-app", "qbzd", ] [workspace.package] version = "0.1.0" edition = "2021" license = "MIT" repository = "https://github.com/vicrodh/qbz" [workspace.dependencies] # Async runtime tokio = { version = "1", features = ["full"] } async-trait = "0.1" futures-util = "0.3" tokio-stream = { version = "0.1", features = ["sync"] } # Serialization serde = { version = "1", features = ["derive"] } serde_json = "1" # HTTP reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls", "cookies", "stream"] } # Logging log = "0.4" tracing = "0.1" # Error handling thiserror = "2" anyhow = "1" # Crypto (Qobuz auth) md-5 = "0.10" base64 = "0.22" # Time chrono = "0.4" # Regex regex = "1" # Audio symphonia = { version = "0.5", features = ["all"] } # Note: Linux-specific dependencies (alsa) go in individual crate Cargo.toml files # because workspace manifests cannot have [target] sections