Metadata-Version: 2.4
Name: uhlive
Version: 2.0.0
Summary: Uhlive Python SDK
Author: Allo-Media
Author-email: Allo-Media <support@uh.live>
License-Expression: MIT
Classifier: Development Status :: 5 - Production/Stable
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: Intended Audience :: Developers
Classifier: Operating System :: POSIX :: Linux
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: aiohttp>=3.13.1 ; extra == 'examples'
Requires-Dist: requests>=2.32.5 ; extra == 'examples'
Requires-Dist: sounddevice>=0.5.3 ; extra == 'examples'
Requires-Dist: toml>=0.10.2 ; extra == 'examples'
Requires-Dist: websocket-client>=1.9.0 ; extra == 'examples'
Requires-Python: >=3.10
Provides-Extra: examples
Description-Content-Type: text/markdown

# Uh!ive Python SDK

The Uh!live Python SDK provides convenient access to the Uh!live API from
applications written in the Python language.

Read the [full documentation](https://python-uhlive-sdk.netlify.app/).


## Installation from source

This project uses [`uv`](https://docs.astral.sh/uv/).

`uv sync --all-extras`

## Installation from Pypi

```
pip install uhlive
```

or as a dependency to a project managed by `uv`:

```
uv add uhlive
```

## Tools

If you have [`just`](https://just.systems/man/en/) and `uv` installed, you have a convenient way to run the tooling.
Otherwise, you can run the commands in the `justfile` manually.

### Format the sources

```
just format
```

Will run `isort` & `black`

### Lint the sources

```
just lint
```

Will run `ruff` & `mypy`

### Run the tests

```
just test
```

### Compile the docs to html

```
just docs
```

### Run format, lint and tests in one go

```
just
```

Contrary to `tox`, it will stop at the first error. So that we're not drown in (duplicate) error messages.

## Usage

See the `README.md` in each of the example folders.

### Audio files

To play with the examples, you should have a raw audio file.
This raw audio file should be in the proper format. This can be done
using a source audio file in wav format using the following command:
```
sox audio_file.wav  -t raw -c 1 -b 16 -r 8k -e signed-integer audio_file.raw
```
