--- id: rokuecp version: "0.19.5" license: MIT license_treatment: permissive maintenance: active --- # rokuecp — Asynchronous Python client for Roku (ECP) License: permissive · Maintenance: active · Downloads: 100.9K/mo ## What it is and what it does Rokuecp is an async Python client for the Roku External Control Protocol, enabling programmatic monitoring and control of Roku devices over the network. It wraps the ECP API in a Python-friendly interface built on aiohttp, allowing you to query device state and send commands asynchronously. The package is designed for home automation, device management, and integration scenarios where you need to control Roku TVs or streaming players from Python. It uses standard async/await patterns and includes retry logic via backoff to handle network transience. The library is in beta status but actively maintained, supporting Python 3.9 through 3.13. Use it for: - Integrate Roku control into home automation platforms or custom smart-home scripts. - Monitor the state and activity of Roku devices across a household or venue. - Build remote-control applications or dashboards that send commands to Roku devices. - Automate testing or validation workflows that require controlling Roku playback. - Create notification or event-driven systems triggered by Roku device state changes. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. An asynchronous Python client for controlling and monitoring Roku devices over the External Control Protocol (ECP). Yes. The package has low install friction, active maintenance, a permissive license, no known vulnerabilities, and a straightforward async API. Install it if you need to programmatically control or monitor Roku devices; the async design and retry logic make it suitable for reliable home automation or device management tasks. ## Install pip install rokuecp uv add rokuecp poetry add rokuecp ## Installing rokuecp Before you install: Low friction install with a pure-Python wheel. The package is actively maintained with a recent commit on 2026-08-13 and has been in active development since 2020-05-03. Dependencies are all well-established async libraries (aiohttp, async-timeout, backoff, xmltodict, yarl, awesomeversion). License in practice: MIT license is permissive, allowing free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects. Quickstart: import asyncio from rokuecp import Roku async def main(): async with Roku("192.168.1.100") as roku: print(roku) if __name__ == "__main__": asyncio.run(main()) Requires Python 3.9 or later and a Roku device on the network accessible at the specified IP address. Verify before relying: - Whether the package supports all Roku device models or only specific generations. - Performance characteristics when controlling multiple Roku devices concurrently. - Full feature coverage of the ECP protocol and which Roku capabilities are exposed. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 100.9K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags roku device control python, async roku client, roku ecp protocol, roku remote control api, roku device monitoring, roku automation python, roku tv control, roku-integration, home-automation, async-client [View on SkillFed](https://skillfed.io/packages/rokuecp) · [View on PyPI](https://pypi.org/project/rokuecp/)