OpenRGB-Python is a client for the OpenRGB SDK, a manufacturer-independent, cross-platform way to control your RGB devices. OpenRGB-Python can be used to interface with other programs, create custom effects, or anything else you can think of!
I started this project because I wanted to be able to control the color of my lights based on temps. I tried to implement the features in the best (easiest to use) way possible.
SDK Feature Support:
- Setting client name
- Getting device info
- Setting color by device
- Setting color by zone
- Setting color by led
- Setting mode
- Setting custom mode
- Resizing zones
- Loading profiles
- Saving profiles
requires python >= 3.7
Use this method for the newest, but possibly buggy, package:
pip3 install git+https://github.com/jath03/openrgb-python#egg=openrgb-python
Arch Linux: yay -S python-openrgb-git
For a more stable package:
pip3 install openrgb-python
Arch Linux: This AUR package is out of date. Use yay -S python-openrgbpython-openrgb-git instead.
Thanks to @GabMus for the AUR packages
from openrgb import OpenRGBClient from openrgb.utils import RGBColor, DeviceType client = OpenRGBClient() client.clear() # Turns everything off motherboard = client.get_devices_by_type(DeviceType.MOTHERBOARD)[0] motherboard.set_color(RGBColor(0, 255, 0)) motherboard.zones[0].set_color(RGBColor(255, 0, 0)) motherboard.zones[1].leds[0].set_color(RGBColor.fromHSV(0, 100, 100)) motherboard.set_mode("breathing") client.save_profile("profile1")https://openrgb-python.readthedocs.io/en/latest/
For an alternative python implementation, check out B Horn's OpenRGB-PyClient