Metadata-Version: 2.1
Name: ambr-py
Version: 1.7.15
Summary: API wrapper for ambr.top written in Python
Home-page: https://github.com/seriaati/ambr
License: GPL-3.0
Author: seriaati
Author-email: seria.ati@gmail.com
Requires-Python: >=3.11,<4.0
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: aiohttp (>=3.8.6,<4.0.0)
Requires-Dist: aiohttp-client-cache[sqlite] (>=0.11.0,<0.12.0)
Requires-Dist: pydantic (>=2.4.2,<3.0.0)
Project-URL: Documentation, https://github.com/seriaati/ambr/wiki
Project-URL: Repository, https://github.com/seriaati/ambr
Description-Content-Type: text/markdown

# ambr-py

## Introduction

ambr-py is an async API wrapper for [Project Ambr](https://gi.yatta.moe/) written in Python.  
Project Ambr is a beautiful website that displays Genshin Impact game data.  
Developing something for Hoyoverse games? You might be interested in [other API wrappers](https://github.com/seriaati#api-wrappers) written by me.
  
> Note: I am not the developer of Project Ambr.

### Features

- Fully typed.
- Fully asynchronous by using `aiofiles`, `aiohttp`, and `asyncio`, suitable for Discord bots.
- Provides direct icon URLs.
- Supports Python 3.11+.
- Supports all game languages.
- Supports persistent caching using SQLite.
- Supports [Pydantic V2](https://github.com/pydantic/pydantic), this also means full autocomplete support.

## Installation

```bash
# poetry
poetry add ambr-py

# pip
pip install ambr-py
```

## Quick Example

```py
import ambr
import asyncio

async def main() -> None:
    async with ambr.AmbrAPI(ambr.Language.CHT) as client:
        await client.fetch_characters()

asyncio.run(main())
```

## Getting Started

Read the [wiki](https://github.com/seriaati/ambr/wiki) to learn more about on how to use this wrapper.

## Questions, Issues, Feedback, Contributions

Whether you want to make any bug reports, feature requests, or contribute to the wrapper, simply open an issue or pull request in this repository.  
If GitHub is not your type, you can find me on [Discord](https://discord.com/invite/b22kMKuwbS), my username is @seria_ati.

