A well-documented and typed API wrapper for Hentai Haven.
Project description
HHaven
A well-documented and typed API wrapper for Hentai Haven, 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://hhaven.nekolab.app
API Reference - https://jokelbaf.github.io/hhaven-api-reference
Requirements
- Python 3.8+
- pydantic
- aiohttp
- aiocache
Installation
From PyPi:
pip install hhaven
From GitHub:
pip install git+https://github.com/JokelBaf/hhaven.git
Examples
Search for hentai by it's name:
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:
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())
Development
Uv is a preferred tool for managing dependencies and running the development environment in hhaven. To setup the project locally, use the following commands:
git clone https://github.com/JokelBaf/hhaven.git
cd hhaven
uv sync --group test
To run tests, use the following commands:
uv run pytest
To run documentation locally, use the following command:
uvx --with mkdocs-material[emoji] mkdocs serve
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hhaven-0.2.0.tar.gz.
File metadata
- Download URL: hhaven-0.2.0.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.13.7 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd719a08fafa40dab6fd54c62988e81a4e52a44e1a65b0669f88c875c6b6259d
|
|
| MD5 |
4170656b2bd8a4c1a8687da58bea586b
|
|
| BLAKE2b-256 |
7d5b947c259cd7893990bc4190b9e279682384651f4b61815fa030da092ec555
|
File details
Details for the file hhaven-0.2.0-py3-none-any.whl.
File metadata
- Download URL: hhaven-0.2.0-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.13.7 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
659e12089a01afb0eeeb43d07b2d60ddd15adad11567f3726528e5e3cf51d9cc
|
|
| MD5 |
481f300e15b992bbda1b9b2f361ecc63
|
|
| BLAKE2b-256 |
1b663a183b04099948304643579f8922db011224dab5ebf6955ee2df964645e7
|