Skip to main content
LumiSync — Screen. Sound. Light. In sync.

LumiSync

Synchronize Govee, iDotMatrix, and LSC/Tuya lights with your screen or music.

Visit the website: lumisync.minlor.net

Python 3.11+ PyPI version License: MIT GitHub stars

Features • Installation • Usage • Development • Roadmap


✨ Features

Feature Description
🖥️ Monitor Sync Sample colors from screen regions and sync to your LED strip in real-time
🎵 Music Sync React to audio with dynamic color patterns
🎨 Color Control Set custom colors and brightness directly from the app
🖌️ Modern GUI Blue-accented PySide6 interface with selectable Acrylic, Mica, and Solid Dark window materials
🔌 Multi-Vendor Govee (LAN), iDotMatrix pixel panels (Bluetooth), and LSC/Tuya WiFi lights
🔍 Auto-Discovery Automatically finds Govee devices on your LAN via UDP broadcast
⚡ Low Latency Direct LAN communication, no cloud required

Supported devices

Every device family works out of the box — a single pip install lumisync (or the packaged Windows build) bundles all transports, no extras to remember.

Family Transport Notes
Govee strips/bulbs LAN (UDP) Enable "LAN Control" in the Govee app
iDotMatrix panels Bluetooth LE Pixel displays; see docs
LSC / Tuya WiFi lights LAN (Tuya local) Needs the device's local key — see docs

📸 Screenshots

Devices

LumiSync Devices screen with Govee and iDotMatrix device cards

Discover, organize, and directly control LAN and Bluetooth lights.

Monitor and music sync

LumiSync Monitor Sync screen LumiSync Music Sync screen with Auto Director controls
Monitor Sync
Map display colors across one or more lights.
Music Sync
Choose reactions and palettes or let Auto Director decide.

📦 Installation

Requirements: Python 3.11 or higher

pip install lumisync

From GitHub (Latest)

pip install git+https://github.com/Minlor/LumiSync.git

Development Install

git clone https://github.com/Minlor/LumiSync.git
cd LumiSync
pip install -e .

Prebuilt downloads

  • Windows — a portable .zip and a single-file .exe are attached to each GitHub release.
  • Linux — an x86_64 AppImage is attached to each release; chmod +x it and run. Build it yourself with tools/build_linux.sh (needs Python 3.12+ and the Qt X11 runtime libraries listed in the Linux build workflow). The AppImage requires glibc 2.35 or newer (Ubuntu 22.04+). Linux releases are checked by opening the packaged GUI on X11 in a clean Ubuntu 22.04 runtime. A Flatpak is scaffolded in packaging/flatpak/ but not yet finished.

Platform notes: Windows is fully supported. On Linux, device control, music sync, and manual control work on X11 and Wayland; screen (monitor) sync currently requires an X11/Xorg session — Wayland capture is planned.

🚀 Usage

Launch the App

lumisync

The GUI opens by default. The legacy interactive terminal is still available with lumisync --cli; direct headless modes are available through lumisync --monitor and lumisync --music.

Quick Start

  1. Discover devices — Click "Discover Devices" for Govee LAN lights or "Scan Bluetooth" for pixel panels.
  2. Select your lights — Choose one or more devices from the Devices page.
  3. Control your lights — Set color, brightness and power directly from each device card.
  4. Start syncing — Open Monitor Sync or Music Sync, choose the target devices and start the mode.

Interface

  • Devices — Discover, add and control LAN or Bluetooth lights; multi-select devices for bulk actions.
  • Monitor Sync — Map display colors to selected devices, groups, zones, and custom LED regions.
  • Music Sync — Choose reactions, palettes, targets and brightness, or use Auto Director.
  • Draw — Paint still images or frame-by-frame animations for compatible iDotMatrix panels.
  • Settings — Choose Acrylic, Mica, or Solid Dark; select a display, tune sync behavior, manage groups, startup and system-tray options.

Configuration

  • LED Mapping - Customize which screen regions map to which LEDs
  • Brightness - Adjust per-mode brightness (10-100%)
  • Display Selection - Choose which monitor to capture (multi-monitor support)
  • Sync Tuning - Tune smoothing, saturation, frame rate, gamma and music response

🛠️ Development

Project Structure

lumisync/
├── lumisync.py          # Entry point & CLI
├── connection.py        # Govee UDP protocol (port 4001/4002)
├── devices.py           # Device discovery & caching
├── config/options.py    # Runtime configuration
├── sync/                # Monitor & music sync engines
├── gui/                 # PySide6 application
│   ├── controllers/     # Business logic (QObject + pyqtSignal)
│   ├── views/           # UI components
│   └── widgets/         # Reusable widgets
└── utils/               # Logging, colors, file ops

Run Tests

python -m unittest discover -s tests

Brand and documentation assets

The production app icon, transparent mark, tray variants, Windows .ico, and GitHub banner live in assets/brand. Regenerate the complete icon set from its single SVG geometry with:

python tools/generate_brand_assets.py

Fresh README screenshots can be captured from the real PySide application on Windows with:

python tools/capture_readme_screenshots.py --material acrylic

Platform Support

Platform Screen Capture Status
Windows dxcam ✅ Full support
Linux (X11) mss ⚠️ Partial
Linux (Wayland) - 🚧 WIP
macOS - 🚧 WIP

🗺️ Roadmap

  • Multi-device support
  • Wayland & macOS screen capture
  • Basic color control mode
  • Custom sync algorithms
  • Plugin system for community extensions

🙏 Credits

📄 License

MIT © Minlor


minlor.net · GitHub @minlor

⭐ Star this repo if you find it useful!

Metadata

Release files for lumisync 0.7.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lumisync 0.7.3
File Size Uploaded
lumisync-0.7.3.tar.gz 254.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lumisync 0.7.3
File Interpreter ABI Platform
lumisync-0.7.3-py3-none-any.whl Python 3 none any Details

Total release size: 507.5 kB

Release files / lumisync-0.7.3.tar.gz

Download URL lumisync-0.7.3.tar.gz
Size 254.4 kB
Tags Source
SHA-256 checksum
How to use checksums
26422bd90e495f323b671333d3eaad39cadf12c688308e355fcdaeee5b9986d8
BLAKE2b-256 checksum
How to use checksums
3000398274a2a88a453c9fbccd22766a304e94fea35575bc86a0489fb378de03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 7, 2026.

Transparency log

Release files / lumisync-0.7.3-py3-none-any.whl

Download URL lumisync-0.7.3-py3-none-any.whl
Size 253.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
76da7aaa7c8e1f5e3108dea3446ea8dc287865fcc4768269562b8a46ac151c61
BLAKE2b-256 checksum
How to use checksums
d4dff3da1d1e8b3516153fda302e30e281ba74f748432fc72e6c3bbe024ad259
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 7, 2026.

Transparency log

Release history Release notifications | RSS feed

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

This release

0.7.3 This release

2 release files

0.7.2

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page