Metadata-Version: 2.4
Name: aioaudiobookshelf-plus
Version: 0.2.0
Summary: Fully typed async client for the Audiobookshelf API.
Author-email: Brian Freeman <brian@freemanator.com>
License-Expression: Apache-2.0
License-File: LICENSE
License-File: NOTICE
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: aiohttp
Requires-Dist: mashumaro
Requires-Dist: python-socketio>=5.12
Provides-Extra: test
Requires-Dist: coverage==7.6.1; extra == 'test'
Requires-Dist: mypy==1.13.0; extra == 'test'
Requires-Dist: pytest-aiohttp==1.0.5; extra == 'test'
Requires-Dist: pytest-asyncio==0.24.0; extra == 'test'
Requires-Dist: pytest-cov==5.0.0; extra == 'test'
Requires-Dist: pytest==8.3.4; extra == 'test'
Requires-Dist: ruff==0.9.2; extra == 'test'
Description-Content-Type: text/markdown

# aioaudiobookshelf-plus

A fully typed async client for the [Audiobookshelf](https://github.com/advplyr/audiobookshelf)
API.

The library exposes strongly typed data models (backed by
[mashumaro](https://github.com/Fatal1ty/mashumaro)) and an async client built on
`aiohttp` and `python-socketio`. Every public surface is type annotated and the
package ships a `py.typed` marker, so downstream consumers get full inline types
and `mypy --strict` support.

## Status

Phase 1: the typed model layer under `aioaudiobookshelf_plus.schema` is in place.
The async client layer is under active development and lands in a later phase.

## Installation

```bash
pip install aioaudiobookshelf-plus
```

## Usage

```python
from aioaudiobookshelf_plus.schema.media_progress import MediaProgress

progress = MediaProgress.from_json(raw_json)
```

## Attribution and licensing

This project is licensed under the Apache License, Version 2.0. See
[`LICENSE`](LICENSE).

The model layer in `src/aioaudiobookshelf_plus/schema/` is **derived from**
[`music-assistant/aioaudiobookshelf`](https://github.com/music-assistant/aioaudiobookshelf),
which is also licensed under Apache-2.0. See [`NOTICE`](NOTICE) for the full
attribution. The client layer is original work.
