A beautiful, user-friendly desktop application to download music from Spotify playlists using YouTube as the source.
β οΈ Disclaimer: This tool is built for educational purposes only to demonstrate Python GUI, API handling, and file automation. It is not intended for downloading or redistributing copyrighted material. The developer is not responsible for misuse!
- π¨ Modern Dark UI - Clean, professional interface
- π Real-time Progress - Live download statistics and progress tracking
- π― Smart CSV Parsing - Auto-detects track information
- π Multi-threaded Downloads - Download multiple songs simultaneously
- πΎ Settings Persistence - Remembers your preferences
- πΌ Multiple Formats - Support for MP3, M4A, WAV, OPUS, AAC
- π Archive System - Prevents duplicate downloads
- β‘ Built-in Binaries - No separate downloads needed (when built as EXE)
- Go to Releases
- Download
SpotiSync.exe - Run the executable - no installation required!
- Click "Get CSV..." to export your Spotify playlist from Exportify
- Select the downloaded CSV file
- Choose your output folder
- Click "Start Download"
That's it! π
- Python 3.8+
- Windows (for building EXE)
-
Clone the repository
git clone https://github.com/Code-by-Hamza/SpotiSync.git cd SpotiSync -
Install dependencies
pip install -r requirements.txt
-
Download binaries (required for running)
- Download yt-dlp.exe
- Download ffmpeg.exe
- Place both in the project root directory
python SpotiSync.pyOption 1: Using PowerShell Script (Recommended)
.\build.ps1Option 2: Manual Build
pyinstaller SpotiSync.specThe executable will be in dist\SpotiSync.exe
SpotiSync/
βββ SpotiSync.py # Main application
βββ SpotiSync.spec # PyInstaller configuration
βββ build.ps1 # Build script
βββ requirements.txt # Python dependencies
βββ README.md # This file
βββ QUICKSTART.md # User guide
βββ BUILD_GUIDE.md # Developer build instructions
βββ .gitignore # Git ignore rules
βββ screenshot.png # screenshots
Settings are automatically saved to:
- Windows:
%APPDATA%\SpotiSync\settings.json - Portable Mode:
settings.json(next to executable)
- Ensure
yt-dlp.exeis in the same folder as the app - Or install globally:
pip install yt-dlp
- Download from ffmpeg.org
- Place
ffmpeg.exenext to the app
- Ensure your CSV has a "Track Name" column
- Try the built-in "Create CSV..." option
MIT License - see LICENSE file for details
- GitHub: Code-by-Hamza
- Issues: Report a bug
If you find this useful, please give it a star! β
Made with β€οΈ by Code-by-Hamza
