hhaven


Namehhaven JSON
Version 0.2.0 PyPI version JSON
download
home_pagehttps://github.com/jokelbaf/hhaven
SummaryA well-documented and typed API wrapper for Hentai Haven.
upload_time2025-08-23 02:06:41
maintainerJokelBaf
docs_urlNone
authorJokelBaf
requires_python>=3.10
licenseMIT
keywords hentai-haven hentai
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <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://hhaven.nekolab.app

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())
```

## 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:
```bash
git clone https://github.com/JokelBaf/hhaven.git
cd hhaven
uv sync --group test
```

To run tests, use the following commands:
```bash
uv run pytest
```

To run documentation locally, use the following command:
```bash
uvx --with mkdocs-material[emoji] mkdocs serve
```

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/jokelbaf/hhaven",
    "name": "hhaven",
    "maintainer": "JokelBaf",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "jokelbaf@gmail.com",
    "keywords": "hentai-haven, hentai",
    "author": "JokelBaf",
    "author_email": "jokelbaf@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/7d/5b/947c259cd7893990bc4190b9e279682384651f4b61815fa030da092ec555/hhaven-0.2.0.tar.gz",
    "platform": null,
    "description": "<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/JokelBaf/hhaven/raw/master/docs/assets/logo-dark.png\">\n  <source media=\"(prefers-color-scheme: light)\" srcset=\"https://github.com/JokelBaf/hhaven/raw/master/docs/assets/logo-light.png\">\n  <img alt=\"Logo\" src=\"https://github.com/JokelBaf/hhaven/raw/master/docs/assets/logo-dark.png\">\n</picture>\n\n\n# HHaven\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)\n\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.\n\n## Key Features\n- **Efficient Asynchronous Structure:** Utilize a fully asynchronous structure that enhances request speed without affecting other processes in your code.\n- **Built-in Cache Support:** Benefit from built-in cache support using the aiocache library, reducing unnecessary API requests and improving overall performance.\n- **Pydantic Model Output:** Receive all data in the form of Pydantic Models, enabling comprehensive autocompletion and linter support.\n- **Comprehensive Documentation:** Explore extensive and user-friendly documentation, covering all aspects of this library.\n\n## Links\nDocumentation - https://hhaven.nekolab.app\n\nAPI Reference - https://jokelbaf.github.io/hhaven-api-reference\n\n## Requirements\n\n- Python 3.8+\n- pydantic\n- aiohttp\n- aiocache\n\n## Installation\nFrom PyPi:\n```console\npip install hhaven\n```\nFrom GitHub:\n```console\npip install git+https://github.com/JokelBaf/hhaven.git\n```\n\n## Examples\nSearch for hentai by it's name:\n```python\nfrom hhaven import Client\nimport asyncio\n\nasync def main():\n    client = await Client().build()\n\n    results = await client.search(\"Maid Kyouiku\")\n    hentai = await results[0].full()\n\n    print(hentai)\n        \nif __name__ == \"__main__\":\n    asyncio.run(main())\n```\nGet all episodes of the latest hentai:\n```python\nfrom hhaven import Client\nimport asyncio\n\nasync def main():\n    client = await Client().build()\n    \n    home = await client.home()\n    hentai = await home.last[0].full()\n    \n    for episode in hentai.episodes:\n        print(episode.name)\n        \nif __name__ == \"__main__\":\n    asyncio.run(main())\n```\n\n## Development\n\nUv is a preferred tool for managing dependencies and running the development environment in hhaven. To setup the project locally, use the following commands:\n```bash\ngit clone https://github.com/JokelBaf/hhaven.git\ncd hhaven\nuv sync --group test\n```\n\nTo run tests, use the following commands:\n```bash\nuv run pytest\n```\n\nTo run documentation locally, use the following command:\n```bash\nuvx --with mkdocs-material[emoji] mkdocs serve\n```\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A well-documented and typed API wrapper for Hentai Haven.",
    "version": "0.2.0",
    "project_urls": {
        "Documentation": "https://hhaven.nekolab.app",
        "Homepage": "https://github.com/jokelbaf/hhaven",
        "Repository": "https://github.com/jokelbaf/hhaven"
    },
    "split_keywords": [
        "hentai-haven",
        " hentai"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1b663a183b04099948304643579f8922db011224dab5ebf6955ee2df964645e7",
                "md5": "481f300e15b992bbda1b9b2f361ecc63",
                "sha256": "659e12089a01afb0eeeb43d07b2d60ddd15adad11567f3726528e5e3cf51d9cc"
            },
            "downloads": -1,
            "filename": "hhaven-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "481f300e15b992bbda1b9b2f361ecc63",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 10968,
            "upload_time": "2025-08-23T02:06:40",
            "upload_time_iso_8601": "2025-08-23T02:06:40.606947Z",
            "url": "https://files.pythonhosted.org/packages/1b/66/3a183b04099948304643579f8922db011224dab5ebf6955ee2df964645e7/hhaven-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7d5b947c259cd7893990bc4190b9e279682384651f4b61815fa030da092ec555",
                "md5": "4170656b2bd8a4c1a8687da58bea586b",
                "sha256": "dd719a08fafa40dab6fd54c62988e81a4e52a44e1a65b0669f88c875c6b6259d"
            },
            "downloads": -1,
            "filename": "hhaven-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "4170656b2bd8a4c1a8687da58bea586b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 9976,
            "upload_time": "2025-08-23T02:06:41",
            "upload_time_iso_8601": "2025-08-23T02:06:41.409410Z",
            "url": "https://files.pythonhosted.org/packages/7d/5b/947c259cd7893990bc4190b9e279682384651f4b61815fa030da092ec555/hhaven-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-23 02:06:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jokelbaf",
    "github_project": "hhaven",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "hhaven"
}
        
Elapsed time: 1.27886s