Metadata-Version: 2.4
Name: pymediasoup
Version: 1.3.0
Summary: mediasoup python client
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>=1.10.17,<3.0.0
Requires-Dist: aiortc>=1.14.0,<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
[![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 . --count --select=E9,F63,F7,F82 --show-source --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