A feature-rich desktop music player for Windows and Linux with Discord Rich Presence, YouTube integration, and powerful playlist management.
- ๐ต Playlist Management - Create, edit, and manage playlists with ease
- ๐ฎ Playback Controls - Full media controls with keyboard shortcuts
- ๐จ Modern UI - Dark/light themes with customizable accent colors
- ๐ Discord Integration - Rich Presence showing current song
- ๐บ YouTube Integration - Upload playlists and open videos
- ๐ผ๏ธ Cover Art - Automatic extraction and caching
- ๐ Auto Updates - In-app update system
- ๐น Media Keys - Full keyboard media key support
- Download from Releases
- Extract and run
IotaPlayer.exe
# One-command installer
curl -O https://raw.githubusercontent.com/vorlie/IotaPlayer/main/linux_installer.sh
chmod +x linux_installer.sh
./linux_installer.sh install
git clone https://github.com/vorlie/IotaPlayer.git
cd IotaPlayer
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt --ignore-requires-python
python main.py
- Installation Guide - Detailed setup instructions
- User Guide - Complete feature walkthrough
- Configuration - Settings and customization
- Troubleshooting - Common issues and solutions
- Contributing - Development guidelines
- Create and edit playlists with the built-in Playlist Maker
- Load, reload, and combine playlists
- Support for various audio formats (MP3, FLAC, OGG, WAV, M4A)
- Standard controls: play, pause, stop, next, previous
- Loop and shuffle modes
- Seek bar for precise navigation
- Volume control with slider
- Media key support
- Discord Rich Presence - Show current song in Discord status
- YouTube Integration - Upload playlists and open videos
- MPRIS Support (Linux) - Desktop environment integration
- Song information display (artist, title, album, genre)
- Dynamic window title updates
- Customizable accent colors
- Cover art extraction and caching
- Modern settings dialog with organized tabs
- Python 3.13+ (for source installation)
- Windows 10/11 or Linux (Ubuntu, Debian, Arch, etc.)
- GStreamer (Linux) or K-Lite (Windows) for audio playback
- PyQt6 for the user interface
- Python 3.13+
- Git
- PyQt6 and dependencies
git clone https://github.com/vorlie/IotaPlayer.git
cd IotaPlayer
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt --ignore-requires-python
python main.py
# Windows
pyinstaller IotaPlayerWIN.spec
# Linux
pyinstaller IotaPlayerLinux.spec
We welcome contributions! Please see our Contributing Guide for details.
- ๐ Report bugs on GitHub Issues
- ๐ก Request features via GitHub Issues
- ๐ Improve documentation in the wiki
- ๐ง Submit pull requests for code improvements
View our To-Do List on GitHub Projects
- DarkDetect - Windows dark mode detection
- qdarktheme - Dark theme integration
- PyQt6 - GUI framework
- pypresence - Discord Rich Presence
- mutagen - Audio metadata handling
- pynput - Media key support
- pyinstaller - Application packaging
This project is licensed under the GNU General Public License v3. See the LICENSE file for details.
โญ Star this repository if you find it useful!