Metadata-Version: 2.4
Name: py-aniliberty
Version: 0.2.0
Summary: Async Python SDK for the AniLibria API: releases, episodes with HLS links, search, catalog with filters
Keywords: anilibria,aniliberty,anime,api,sdk,async,httpx,pydantic
Author: LLIJIYAPNIK
Author-email: LLIJIYAPNIK <kas4wot@yandex.ru>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Framework :: AsyncIO
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Dist: httpx>=0.27
Requires-Dist: pydantic>=2.7
Requires-Python: >=3.11
Project-URL: Homepage, https://github.com/LLIJIYAPNIK/py-aniliberty
Project-URL: Documentation, https://llijiyapnik.github.io/py-aniliberty/
Project-URL: Repository, https://github.com/LLIJIYAPNIK/py-aniliberty
Project-URL: Issues, https://github.com/LLIJIYAPNIK/py-aniliberty/issues
Project-URL: Changelog, https://github.com/LLIJIYAPNIK/py-aniliberty/blob/main/CHANGELOG.md
Description-Content-Type: text/markdown

# py-aniliberty

[![PyPI](https://img.shields.io/pypi/v/py-aniliberty)](https://pypi.org/project/py-aniliberty/)
[![License: MIT](https://img.shields.io/github/license/LLIJIYAPNIK/py-aniliberty)](https://github.com/LLIJIYAPNIK/py-aniliberty/blob/main/LICENSE)
[![Python versions](https://img.shields.io/badge/python-3.11%20%7C%203.12%20%7C%203.13%20%7C%203.14-blue)](https://github.com/LLIJIYAPNIK/py-aniliberty/blob/main/pyproject.toml)
[![CI](https://github.com/LLIJIYAPNIK/py-aniliberty/actions/workflows/ci.yml/badge.svg)](https://github.com/LLIJIYAPNIK/py-aniliberty/actions/workflows/ci.yml)
[![Coverage Status](https://coveralls.io/repos/github/LLIJIYAPNIK/py-aniliberty/badge.svg?branch=main)](https://coveralls.io/github/LLIJIYAPNIK/py-aniliberty?branch=main)
[![Docs](https://github.com/LLIJIYAPNIK/py-aniliberty/actions/workflows/docs.yml/badge.svg)](https://llijiyapnik.github.io/py-aniliberty/)

Async Python SDK for the public [AniLibria](https://aniliberty.top) API (v1): releases,
episodes (HLS links), catalog with filters, schedule, franchises, genres, and torrents.

> **Status:** early development. Releases, episodes (HLS links), quick search and the
> catalog with filters are implemented; schedule, genres, franchises and torrents are next — see
> [`ROADMAP.md`](https://github.com/LLIJIYAPNIK/py-aniliberty/blob/main/ROADMAP.md).

**Documentation:** <https://llijiyapnik.github.io/py-aniliberty/>

## Installation

```bash
uv add py-aniliberty
```

or

```bash
pip install py-aniliberty
```

Requires Python 3.11+.

## Quickstart

```python
import asyncio

from aniliberty import AniLiberty


async def main() -> None:
    async with AniLiberty() as client:
        for release in await client.releases.latest(limit=3):
            print(release.name.main)

        release = await client.releases.get("sousou-no-frieren")
        episode = await client.episodes.get(release.episodes[0].id)
        print(episode.hls_1080 or episode.hls_720)


asyncio.run(main())
```

More in the [Quickstart](https://llijiyapnik.github.io/py-aniliberty/quickstart/) of the docs.

## Examples

[`examples/`](https://github.com/LLIJIYAPNIK/py-aniliberty/tree/main/examples/) has a runnable, heavily commented script per feature — releases,
episodes and HLS links, quick search, ... — each ending with the output of a real run. See
[`examples/README.md`](https://github.com/LLIJIYAPNIK/py-aniliberty/blob/main/examples/README.md) for the list.

## Changelog

See [`CHANGELOG.md`](https://github.com/LLIJIYAPNIK/py-aniliberty/blob/main/CHANGELOG.md).

## License

[MIT](https://github.com/LLIJIYAPNIK/py-aniliberty/blob/main/LICENSE)
