Files
pmomusic/pmoqobuz
Eric Coissac b690420550 feat: add parallel cover caching and refactor browse methods
Introduce async helper methods `cache_album_covers` and `cache_playlist_covers` to cache album/playlist covers in parallel using JoinSet. Refactor browse functions for favorites, discover, and genre pages to reuse these helpers and avoid duplicate logic. Simplify cover URL resolution by unifying caching path and removing redundant base URL concatenation.
2026-03-24 11:24:02 +01:00
..
2025-12-14 20:39:08 +01:00
2025-10-16 22:12:15 +02:00
2025-12-17 08:47:07 +01:00
2025-12-17 07:23:25 +01:00
2025-12-13 13:56:55 +01:00
2025-12-11 21:35:17 +00:00
2025-12-11 21:35:17 +00:00
2025-12-11 21:35:17 +00:00
2025-12-11 21:35:17 +00:00

pmoqobuz - Client Rust pour l'API Qobuz

Client Rust pour l'API Qobuz avec intégration automatique du Spoofer pour obtenir des AppID et secrets valides.

🎯 Fonctionnalités

  • Authentification automatique avec credentials
  • Spoofer intégré - Obtention automatique d'AppID et secrets valides
  • Signatures MD5 pour les requêtes sensibles (streaming, bibliothèque)
  • Cache en mémoire pour optimiser les performances
  • Support DIDL-Lite pour l'export UPnP/DLNA
  • Recherche dans le catalogue (albums, artistes, tracks, playlists)
  • Favoris et playlists utilisateur
  • Désérialisation robuste (gère integers et strings pour les IDs)

🚀 Utilisation rapide

Configuration minimale

# ~/.pmomusic/config.yaml
accounts:
  qobuz:
    username: "your_email@example.com"
    password: "your_password"
    # AppID et secret seront automatiquement obtenus via le Spoofer

Code d'exemple

use pmoqobuz::QobuzClient;

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    // Le Spoofer s'exécute automatiquement si nécessaire
    let client = QobuzClient::from_config().await?;

    // Rechercher des albums
    let albums = client.search_albums("Miles Davis").await?;
    for album in albums.iter().take(5) {
        println!("{} - {}", album.artist.name, album.title);
    }

    Ok(())
}

📖 Documentation