--- id: go2rtc-client version: "0.4.0" license: Apache-2.0 license_treatment: permissive maintenance: active --- # go2rtc-client — Python client for go2rtc License: permissive · Maintenance: active · Downloads: 158.1K/mo ## What it is and what it does go2rtc-client is an async Python wrapper for the go2rtc media server, a tool that handles WebRTC streaming and protocol bridging. It lets you programmatically control and query a go2rtc instance from Python code—starting streams, checking status, managing connections—without blocking your event loop. The package depends on aiohttp for HTTP communication, mashumaro and orjson for efficient data serialization, awesomeversion for version handling, and webrtc-models for media type definitions. The library targets Python 3.12.0 or later and is in active development (Alpha status). It's maintained by the Home Assistant project and sees regular updates. With a top-tier popularity ranking, it's used primarily in home automation and media streaming contexts where async I/O and WebRTC integration matter. Use it for: - Integrate WebRTC streaming into a Home Assistant automation or custom smart-home application - Build a dashboard or control panel that queries and manages multiple go2rtc instances asynchronously - Programmatically start, stop, or monitor media streams from a go2rtc server in a Python service - Add real-time video streaming capabilities to a Python application without blocking the event loop ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Asynchronous Python client library for communicating with go2rtc servers, enabling WebRTC streaming and media control over a network interface. Yes, if you need to control a go2rtc server from Python. The package is actively maintained, has no known vulnerabilities, installs cleanly, and carries a permissive license. The Alpha status suggests stable-enough maturity for production use in Home Assistant integrations and similar contexts. Not worth installing if you don't have a go2rtc instance to communicate with. ## Install pip install go2rtc-client uv add go2rtc-client poetry add go2rtc-client ## Installing go2rtc-client Before you install: Low friction install with a pure-Python wheel distribution. The package is actively maintained with a recent release and uses a lean dependency stack of five runtime libraries, all common and well-established. License in practice: Apache-2.0 permissive license allows free use, modification, and distribution in both open-source and commercial projects with minimal restrictions. Quickstart: import asyncio from go2rtc_client import Go2rtcClient async def main(): async with Go2rtcClient('http://localhost') as client: streams = await client.get_streams() print(streams) asyncio.run(main()) Requires a running go2rtc server accessible at the specified URL; Python 3.12.0 or later. Verify before relying: - Specific go2rtc server version compatibility requirements beyond Python 3.12.0 - Whether webrtc-models dependency is a compiled extension or pure Python - Real-world performance characteristics with concurrent connections - Default or typical port/URL for go2rtc server communication ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 158.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags go2rtc client python, webrtc streaming client, async rtc communication, go2rtc server integration, media stream control python, webrtc, async-io, streaming [View on SkillFed](https://skillfed.io/packages/go2rtc-client) · [View on PyPI](https://pypi.org/project/go2rtc-client/)