<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/JokelBaf/hhaven/raw/master/docs/assets/logo-dark.png">
<source media="(prefers-color-scheme: light)" srcset="https://github.com/JokelBaf/hhaven/raw/master/docs/assets/logo-light.png">
<img alt="Logo" src="https://github.com/JokelBaf/hhaven/raw/master/docs/assets/logo-dark.png">
</picture>
# HHaven
![GitHub release (with filter)](https://img.shields.io/github/v/release/jokelbaf/hhaven?style=for-the-badge&logo=github&label=Version&color=%23c7423e) ![PyPI](https://img.shields.io/pypi/v/hhaven?style=for-the-badge&logo=pypi&logoColor=white) ![Code Climate coverage](https://img.shields.io/codeclimate/coverage/JokelBaf/hhaven?style=for-the-badge&logo=codeclimate&logoColor=white)
A well-documented and typed API wrapper for [**Hentai Haven**](https://hentaihaven.xxx/), providing efficient asynchronous requests, built-in cache support, and Pydantic Models for seamless autocompletion and linter support.
## Key Features
- **Efficient Asynchronous Structure:** Utilize a fully asynchronous structure that enhances request speed without affecting other processes in your code.
- **Built-in Cache Support:** Benefit from built-in cache support using the aiocache library, reducing unnecessary API requests and improving overall performance.
- **Pydantic Model Output:** Receive all data in the form of Pydantic Models, enabling comprehensive autocompletion and linter support.
- **Comprehensive Documentation:** Explore extensive and user-friendly documentation, covering all aspects of this library.
## Links
Documentation - https://jokelbaf.github.io/hhaven
API Reference - https://jokelbaf.github.io/hhaven-api-reference
## Requirements
- Python 3.8+
- pydantic
- aiohttp
- aiocache
## Installation
From PyPi:
```console
pip install hhaven
```
From GitHub:
```console
pip install git+https://github.com/JokelBaf/hhaven.git
```
## Examples
Search for hentai by it's name:
```python
from hhaven import Client
import asyncio
async def main():
client = await Client().build()
results = await client.search("Maid Kyouiku")
hentai = await results[0].full()
print(hentai)
if __name__ == "__main__":
asyncio.run(main())
```
Get all episodes of the latest hentai:
```python
from hhaven import Client
import asyncio
async def main():
client = await Client().build()
home = await client.home()
hentai = await home.last[0].full()
for episode in hentai.episodes:
print(episode.name)
if __name__ == "__main__":
asyncio.run(main())
```
Raw data
{
"_id": null,
"home_page": "https://github.com/jokelbaf/hhaven",
"name": "hhaven",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "hentai-haven,hentai",
"author": "jokelbaf",
"author_email": "jokelbaf@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/ef/35/28e195684e824a3d1654e16687b246433a2e7f85a53a59f83c88309d0d45/hhaven-0.1.4.tar.gz",
"platform": null,
"description": "<picture>\r\n <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/JokelBaf/hhaven/raw/master/docs/assets/logo-dark.png\">\r\n <source media=\"(prefers-color-scheme: light)\" srcset=\"https://github.com/JokelBaf/hhaven/raw/master/docs/assets/logo-light.png\">\r\n <img alt=\"Logo\" src=\"https://github.com/JokelBaf/hhaven/raw/master/docs/assets/logo-dark.png\">\r\n</picture>\r\n\r\n\r\n# HHaven\r\n![GitHub release (with filter)](https://img.shields.io/github/v/release/jokelbaf/hhaven?style=for-the-badge&logo=github&label=Version&color=%23c7423e) ![PyPI](https://img.shields.io/pypi/v/hhaven?style=for-the-badge&logo=pypi&logoColor=white) ![Code Climate coverage](https://img.shields.io/codeclimate/coverage/JokelBaf/hhaven?style=for-the-badge&logo=codeclimate&logoColor=white)\r\n\r\nA well-documented and typed API wrapper for [**Hentai Haven**](https://hentaihaven.xxx/), providing efficient asynchronous requests, built-in cache support, and Pydantic Models for seamless autocompletion and linter support.\r\n\r\n## Key Features\r\n- **Efficient Asynchronous Structure:** Utilize a fully asynchronous structure that enhances request speed without affecting other processes in your code.\r\n- **Built-in Cache Support:** Benefit from built-in cache support using the aiocache library, reducing unnecessary API requests and improving overall performance.\r\n- **Pydantic Model Output:** Receive all data in the form of Pydantic Models, enabling comprehensive autocompletion and linter support.\r\n- **Comprehensive Documentation:** Explore extensive and user-friendly documentation, covering all aspects of this library.\r\n\r\n## Links\r\nDocumentation - https://jokelbaf.github.io/hhaven\r\n\r\nAPI Reference - https://jokelbaf.github.io/hhaven-api-reference\r\n\r\n## Requirements\r\n\r\n- Python 3.8+\r\n- pydantic\r\n- aiohttp\r\n- aiocache\r\n\r\n## Installation\r\nFrom PyPi:\r\n```console\r\npip install hhaven\r\n```\r\nFrom GitHub:\r\n```console\r\npip install git+https://github.com/JokelBaf/hhaven.git\r\n```\r\n\r\n## Examples\r\nSearch for hentai by it's name:\r\n```python\r\nfrom hhaven import Client\r\nimport asyncio\r\n\r\nasync def main():\r\n client = await Client().build()\r\n\r\n results = await client.search(\"Maid Kyouiku\")\r\n hentai = await results[0].full()\r\n\r\n print(hentai)\r\n \r\nif __name__ == \"__main__\":\r\n asyncio.run(main())\r\n```\r\nGet all episodes of the latest hentai:\r\n```python\r\nfrom hhaven import Client\r\nimport asyncio\r\n\r\nasync def main():\r\n client = await Client().build()\r\n \r\n home = await client.home()\r\n hentai = await home.last[0].full()\r\n \r\n for episode in hentai.episodes:\r\n print(episode.name)\r\n \r\nif __name__ == \"__main__\":\r\n asyncio.run(main())\r\n```\r\n\r\n\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A well-documented and typed API wrapper for Hentai Haven.",
"version": "0.1.4",
"project_urls": {
"API Reference": "https://jokelbaf.github.io/hhaven-api-reference",
"Documentation": "https://jokelbaf.github.io/hhaven",
"Homepage": "https://github.com/jokelbaf/hhaven",
"Issue tracker": "https://github.com/jokelbaf/hhaven/issues"
},
"split_keywords": [
"hentai-haven",
"hentai"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ef3528e195684e824a3d1654e16687b246433a2e7f85a53a59f83c88309d0d45",
"md5": "f619143b6cd1cd5d2d062f4295b89499",
"sha256": "7e43faa22d4e021dd87c2582ddfa0740d5a3267416d2e7822ca874454a9db2da"
},
"downloads": -1,
"filename": "hhaven-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "f619143b6cd1cd5d2d062f4295b89499",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 10848,
"upload_time": "2023-07-21T14:54:11",
"upload_time_iso_8601": "2023-07-21T14:54:11.797431Z",
"url": "https://files.pythonhosted.org/packages/ef/35/28e195684e824a3d1654e16687b246433a2e7f85a53a59f83c88309d0d45/hhaven-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-21 14:54:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jokelbaf",
"github_project": "hhaven",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "aiocache",
"specs": [
[
"==",
"0.12.1"
]
]
},
{
"name": "pydantic",
"specs": [
[
"==",
"2.0.3"
]
]
},
{
"name": "aiohttp",
"specs": [
[
"==",
"3.8.5"
]
]
}
],
"lcname": "hhaven"
}