Adds Tidal as a third download source alongside Soulseek and YouTube. Uses the tidalapi library with device-flow authentication to search and download tracks in configurable quality (Low/High/Lossless/HiRes) with automatic fallback. Integrates into the download orchestrator for all modes (Tidal Only, Hybrid with fallback chain), the transfer monitor, post-processing pipeline, and file finder. Frontend includes download settings with quality selector, device auth flow, and dynamic sidebar/dashboard labels that reflect the active download source. No breaking changes for existing users.
48 lines
No EOL
808 B
Text
48 lines
No EOL
808 B
Text
# SoulSync WebUI Requirements
|
|
# Docker-compatible requirements without PyQt6 dependencies
|
|
|
|
# Core web framework
|
|
Flask>=3.0.0
|
|
|
|
# Music service APIs
|
|
spotipy>=2.23.0
|
|
PlexAPI>=4.17.0
|
|
|
|
# HTTP and async support
|
|
requests>=2.31.0
|
|
aiohttp>=3.9.0
|
|
|
|
# Configuration management
|
|
python-dotenv>=1.0.0
|
|
|
|
# Security and encryption
|
|
cryptography>=41.0.0
|
|
|
|
# Media metadata handling
|
|
mutagen>=1.47.0
|
|
Pillow>=10.0.0
|
|
|
|
# Text processing
|
|
unidecode>=1.3.8
|
|
beautifulsoup4>=4.12.0
|
|
|
|
# System monitoring
|
|
psutil>=6.0.0
|
|
|
|
# YouTube support
|
|
yt-dlp>=2024.12.13
|
|
|
|
# Lyrics support
|
|
lrclibapi>=0.3.1
|
|
|
|
# Optional: MQTT support (for future features)
|
|
asyncio-mqtt>=0.16.0
|
|
|
|
# Audio fingerprinting for download verification
|
|
pyacoustid>=1.3.0
|
|
|
|
# WebSocket client for Hydrabase connection
|
|
websocket-client>=1.7.0
|
|
|
|
# Tidal download support
|
|
tidalapi>=0.7.6 |