Metadata-Version: 2.4
Name: pymediasoup-fermax
Version: 1.5.0.post1
Summary: pymediasoup 1.5.0 on aiortc-fermax, a stopgap for fermax-blue-hass until aiortc 1.16.0
Author: Jiang Yue
Author-email: Jiang Yue <maze1024@gmail.com>
License-Expression: MIT
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: pydantic>=2.0.0,<3.0.0
Requires-Dist: aiortc-fermax>=1.15.0.post1,<2
Requires-Dist: h264-profile-level-id>=1.0.0,<2
Requires-Dist: sdp-transform>=1.1.0,<2
Requires-Dist: pyee>=13,<14
Requires-Python: >=3.10, <4
Project-URL: Repository, https://github.com/skymaze/pymediasoup
Description-Content-Type: text/markdown

> **`pymediasoup-fermax`** is pymediasoup 1.5.0 with one change: it depends on [`aiortc-fermax`](https://github.com/bvis/aiortc/tree/fermax-1.15) (aiortc 1.15.0 accepting PyAV 19) instead of `aiortc`, so [fermax-blue-hass](https://github.com/bvis/fermax-blue-hass) installs on Home Assistant 2026.10. Use the official `pymediasoup` once aiortc 1.16.0 is out; this package will not get other updates.

# PyMediasoup
[![Python](https://img.shields.io/pypi/pyversions/pymediasoup)](https://www.python.org/)
[![Pypi](https://img.shields.io/pypi/v/pymediasoup)](https://pypi.org/project/pymediasoup/)
[![License](https://img.shields.io/pypi/l/pymediasoup)](https://github.com/skymaze/pymediasoup/blob/main/LICENSE)


[mediasoup](https://mediasoup.org/) python client


## Install
```bash
pip3 install pymediasoup
```

## Development
Use uv for local development and CI parity.

```bash
uv sync --group dev
uv run flake8 . --exclude=.venv,.git,__pycache__ --count --select=E9,F63,F7,F82 --show-source --statistics
uv run flake8 . --exclude=.venv,.git,__pycache__ --count --exit-zero --max-complexity=24 --max-line-length=127 --statistics
uv run python -m unittest
```

Build and publish:

```bash
uv build
uv publish
```

## Usage
PyMediasoup API design is similar to the official [mediasoup-client](https://github.com/versatica/mediasoup-client)

```python
from pymediasoup import Device
from pymediasoup import AiortcHandler

# Create a device
# In order to generate the correct parameters, here should contain all the tracks you want to use
tracks = []
device = Device(handlerFactory=AiortcHandler.createFactory(tracks=tracks))
```

## LICENSE
MIT