Files
pmomusic/pmoparadise/Cargo.toml

103 lines
2.6 KiB
TOML
Raw Normal View History

2025-10-12 19:52:41 +02:00
[package]
name = "pmoparadise"
version = "0.1.0"
edition = "2021"
authors = ["PMOMusic Contributors"]
description = "Rust client for Radio Paradise streaming service"
license = "MIT OR Apache-2.0"
repository = "https://github.com/yourusername/pmomusic"
keywords = ["radio", "paradise", "streaming", "music", "flac"]
categories = ["multimedia", "api-bindings"]
[dependencies]
# HTTP client pour les requêtes à l'API Radio Paradise
reqwest = { version = "0.12", features = ["json", "stream"] }
# 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
thiserror = "1.0"
anyhow = "1.0"
# Streaming de bytes
bytes = "1.5"
futures = "0.3"
2025-10-17 23:45:01 +02:00
# Logging
tracing = "0.1"
2025-10-12 19:52:41 +02:00
# URL manipulation
url = "2.5"
# Per-track feature dependencies
claxon = { version = "0.4", optional = true }
hound = { version = "3.5", optional = true }
tempfile = { version = "3.8", optional = true }
# UPnP Media Server dependencies
pmoupnp = { path = "../pmoupnp", optional = true }
pmoserver = { path = "../pmoserver", optional = true }
pmodidl = { path = "../pmodidl", optional = true }
uuid = { version = "1.18", optional = true }
2025-10-16 22:00:35 +02:00
# Common music source traits
pmosource = { path = "../pmosource" }
2025-10-16 22:13:00 +02:00
# Playlist management for FIFO support
pmoplaylist = { path = "../pmoplaylist" }
2025-10-17 23:45:01 +02:00
# Cache support (OBLIGATOIRE - architecture refactorisée)
pmocovers = { path = "../pmocovers" }
pmoaudiocache = { path = "../pmoaudiocache" }
2025-10-16 22:13:00 +02:00
2025-10-12 19:52:41 +02:00
[features]
default = ["metadata-only"]
# Mode métadonnées seules (pas de décodage FLAC)
metadata-only = []
# Active le décodage FLAC par-track
per-track = ["dep:claxon", "dep:hound", "dep:tempfile"]
# Active le media server UPnP
mediaserver = ["dep:pmoupnp", "dep:pmoserver", "dep:pmodidl", "dep:uuid"]
2025-10-18 09:58:39 +02:00
# Feature pour activer le support serveur (cache registry)
server = ["pmosource/server"]
2025-10-17 23:45:01 +02:00
# Feature cache (deprecated - toujours actif maintenant)
cache = []
2025-10-12 19:52:41 +02:00
[dev-dependencies]
# Tests
tokio-test = "0.4"
wiremock = "0.6"
# Pour les exemples avec logging
tracing-subscriber = "0.3"
2025-10-16 22:13:00 +02:00
# Pour l'exemple with_cache
pmocovers = { path = "../pmocovers" }
pmoaudiocache = { path = "../pmoaudiocache" }
2025-10-12 19:52:41 +02:00
[[example]]
name = "now_playing"
path = "examples/now_playing.rs"
[[example]]
name = "stream_block"
path = "examples/stream_block.rs"
[[example]]
name = "extract_track"
path = "examples/extract_track.rs"
required-features = ["per-track"]
[[example]]
name = "upnp_mediaserver"
path = "examples/upnp_mediaserver.rs"
required-features = ["mediaserver"]
2025-10-16 22:13:00 +02:00
[[example]]
name = "with_cache"
path = "examples/with_cache.rs"
required-features = ["cache"]