skillfed

elgato

Asynchronous Python client for Elgato Lights.

elgato v5.1.2 73.9K downloads/30d#14,913 on PyPI35
Permissive license MIT Active released

What it is and what it does

This package provides an async-first Python interface to Elgato Light devices, letting you query device state and control brightness, color, and power status programmatically. It wraps the Elgato device HTTP API with aiohttp, making it suitable for integration into async applications, home automation frameworks, or scripts that need non-blocking control of multiple lights.

The client is built on aiohttp for async HTTP requests, mashumaro for efficient data serialization, and orjson for fast JSON parsing. It targets Python 3.11+ and has been actively maintained since 2019, with the latest release in December 2023. The package is straightforward to use: instantiate an Elgato client with a device hostname, then await methods like info(), state(), and light() to read or modify device settings.

Use it for:

  • Integrate Elgato lights into a home automation system that needs async control of multiple devices.
  • Build a streaming setup controller that toggles Key Light devices based on application state or schedule.
  • Monitor and log Elgato light state changes in real time for analytics or debugging.
  • Create a custom lighting dashboard or CLI tool that queries and controls multiple Elgato devices.
  • Automate light adjustments in response to external events (e.g., calendar, weather, or application notifications).

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Asynchronous Python client for controlling and monitoring Elgato Light devices (Key Light, Key Light Air, Key Light Mini, Light Strip) over the network.

Yes. The package is stable, actively maintained, has no known vulnerabilities, and installs with minimal friction. It is the right choice if you need to control Elgato lights from Python and your application is already async or willing to adopt asyncio. The MIT license is permissive and the dependency footprint is small.

Install

elgato on PyPI

pip

pip install elgato

uv

uv add elgato

poetry

poetry add elgato

Installing elgato

Before you install

Low install friction with a pure-Python wheel and four lightweight async-friendly dependencies (aiohttp, mashumaro, orjson, yarl). Active maintenance with a recent commit on 2026-08-06 and stable production status.

License in practice

MIT license is permissive; you can use, modify, and distribute this package with minimal restrictions, provided you include the original copyright notice and license text.

Quickstart

pip install elgato

import asyncio
from elgato import Elgato

async def main():
    async with Elgato("elgato-key-light.local") as elgato:
        state = await elgato.state()
        await elgato.light(on=(not state.on))

asyncio.run(main())

Requires Python 3.11 or later; Elgato device must be reachable on the network at the provided hostname or IP address.

Verify before relying

  • Whether the package supports discovery of Elgato devices on the network or requires manual hostname/IP entry.
  • What specific control parameters (brightness, color temperature, etc.) are available beyond on/off toggling.
  • Whether the package handles reconnection or session management automatically across network interruptions.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.11,<4.0)
Install friction low — pure-Python wheel
Runtime dependencies 4 — aiohttp, mashumaro, orjson, yarl
Maintenance actively maintained — 961 days since the last release
Last repo commit
First released
Downloads 73,884/month — #14,913 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: elgato-5.1.2-py3-none-any.whl

Keywords: elgato, keylight, api, async, client

Development Status :: 5 - Production/StableFramework :: AsyncIOIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishProgramming Language :: Python :: 3Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Topic :: Software Development :: Libraries :: Python Modules

Tags

elgato lights controlasync elgato clientkey light automationelgato device apismart lighting pythonelgato light strip controlasyncio elgato
asynciosmart-homehardware-control

More Python Modules packages