Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

145 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

HHaven

GitHub release (with filter) PyPI Code Climate coverage

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.10+
  • 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.

About

A well-documented and typed API wrapper for Hentai Haven.

Topics

Resources

Stars

10 stars

Watchers

2 watching

Forks

Releases

Used by

Contributors

Languages