webrtc-models
Python WebRTC models
What it is and what it does
webrtc-models is a Python package that defines data classes conforming to the WebRTC specification. It wraps protocol structures into typed, serializable Python objects using mashumaro for serialization and orjson for JSON handling. The package is maintained as part of the Home Assistant ecosystem and is designed to simplify working with WebRTC protocol data in Python applications.
The package is currently in alpha development and requires Python 3.12.0 or later. It has minimal dependencies and installs cleanly, making it straightforward to integrate into projects that need to work with WebRTC protocol objects. The repository is actively maintained with recent commits.
Use it for:
- Serialize and deserialize WebRTC protocol messages in Python applications.
- Define strongly-typed WebRTC data structures for Home Assistant integrations.
- Handle WebRTC configuration and session objects with built-in validation.
- Exchange WebRTC protocol data between Python services and external systems.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python data classes that implement the WebRTC specification, enabling structured handling of WebRTC protocol objects.
Yes, if you need WebRTC protocol data structures in Python 3.12.0 or later. The package has low install friction, permissive Apache-2.0 licensing, no known vulnerabilities, and active maintenance. However, be aware it is in alpha status—suitable for projects that can tolerate occasional breaking changes or are part of the Home Assistant ecosystem.
Install
webrtc-models on PyPI
pip
pip install webrtc-modelsuv
uv add webrtc-modelspoetry
poetry add webrtc-modelsInstalling webrtc-models
Before you install
Low friction installation with only two runtime dependencies (mashumaro and orjson). Repository is active with recent commits, though the package is still in alpha status.
License in practice
Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions.
Quickstart
pip install webrtc-models
from webrtc_models import <WebRTCDataClass>
obj = <WebRTCDataClass>(...)
Requires Python 3.12.0 or later.
Verify before relying
- What specific WebRTC data classes are provided and their scope within the WebRTC spec.
- Whether the package is used by Home Assistant or other production systems, given its home-assistant-libs origin.
- API stability guarantees or breaking-change frequency given alpha status.
- How long since the last release and whether infrequent releases indicate maintenance gaps.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.12.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — mashumaro, orjson |
| Maintenance | actively maintained — 634 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 533,690/month — #6,140 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: webrtc_models-0.3.0-py3-none-any.whl
Keywords: webrtc
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
go2rtc-clientAsynchronous Python client library for…
permissive · top 15,000 on PyPI
webrtcvadProvides a Python interface to Google's WebRTC…
permissive · top 15,000 on PyPI
streamlit-webrtcAdds real-time video and audio streaming over…
permissive · top 15,000 on PyPI
neomodelAn Object Graph Mapper (OGM) for Neo4j that…
permissive · top 15,000 on PyPI
rokuecpAn asynchronous Python client for controlling…
permissive · top 15,000 on PyPI
airbyte-protocol-models-dataclassesProvides Python dataclass models for the…
permissive · top 15,000 on PyPI
agent-client-protocolProvides Python models, async transports, and…
unclear · top 1,000 on PyPI
airbyte-protocol-modelsProvides Python data models and type…
permissive · top 15,000 on PyPI
airbyte-protocol-models-pdv2Provides Python models and serialization for…
permissive · top 15,000 on PyPI