[package] name = "pmoqobuz" version = "0.1.0" edition = "2021" [dependencies] # HTTP client pour les requêtes à l'API Qobuz reqwest = { version = "0.12", features = ["json", "cookies"] } # Gestion asynchrone tokio = { version = "1", features = ["full"] } # Sérialisation/Désérialisation JSON serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" # Gestion des erreurs anyhow = "1.0" thiserror = "1.0" # Hashing pour les clés de cache sha1 = "0.10" hex = "0.4" # Cache en mémoire avec TTL moka = { version = "0.12", features = ["future"] } # Logging tracing = "0.1" # Gestion du temps chrono = { version = "0.4", features = ["serde"] } # Configuration pmoconfig = { path = "../pmoconfig" } # Intégration avec pmocovers pour le cache d'images (OBLIGATOIRE) pmocovers = { path = "../pmocovers" } # Intégration avec pmoaudiocache pour le cache audio (OBLIGATOIRE) pmoaudiocache = { path = "../pmoaudiocache" } # Intégration avec pmodidl pour l'export DIDL pmodidl = { path = "../pmodidl" } # Intégration avec pmoserver pour l'API HTTP pmoserver = { path = "../pmoserver", optional = true } axum = { version = "0.8", optional = true } # Documentation OpenAPI utoipa = { version = "5.3", optional = true } # Common music source traits pmosource = { path = "../pmosource" } [features] default = [] # Feature pour activer les extensions pmoserver pmoserver = ["dep:pmoserver", "dep:axum", "dep:utoipa"] # Feature pour activer le support serveur (cache registry) server = ["pmosource/server"] # Feature cache (deprecated - toujours actif maintenant) cache = [] [dev-dependencies] # Tests tokio-test = "0.4" mockito = "1.0" # Pour les exemples tracing-subscriber = "0.3" # Specify that the with_cache example requires the cache feature [[example]] name = "with_cache" required-features = ["cache"]