Skip to main content

Async wrapper for nhentai API

Installation

$ pip install aiontai

How to use

Create client

import asyncio

from aiohttp import ClientSession

from aiontai import (
    NHentaiClient,
    NHentaiAPI,
    Conventer,
)


async def main() -> None:
    client_object = NHentaiClient(
        api=NHentaiAPI(
            ClientSession(),
        ),
        conventer=Conventer(),
    )

asyncio.run(main())

Or can use injector that will create the object itself (Next examples will be using it)

import asyncio

from injector import Injector

from aiontai import (
    NHentaiClient,
    ClientModule,
)


async def main() -> None:
    injector = Injector(ClientModule())
    client_object = injector.get(NHentaiClient)

asyncio.run(main())

Example of using the client

async def main() -> None:
    injector = Injector(ClientModule())
    client_object = injector.get(NHentaiClient)

    async with client_object as client:  # Will close the session itself
        doujin = await client.get_random_doujin()

        for page in doujin.images:
            print(page.url)

        print(doujin.to_json())

asyncio.run(main())

Example of using the proxy

...
from injector import (
    provider,
    Injector,
    Module,
)
from aiohttp_proxy import ProxyConnector  # pip install aiohttp_proxy
...

class AiohttpProxyModule(Module):
    def __init__(self, proxi_url: str) -> None:
        self._proxi_url = proxi_url

    @provider
    def provide_client_session(self) -> ClientSession:
        connector = ProxyConnector.from_url(self._proxi_url)
        return ClientSession(connector=connector)


async def main() -> None:
    injector = Injector(
        modules=[
            ClientModule(),
            AiohttpProxyModule("http://user:password@127.0.0.1:1080"),
        ],
    )
    client_object = injector.get(NHentaiClient)

asyncio.run(main())

Example of using the Low level api

async def main() -> None:
    injector = Injector(ClientModule())
    client_object = injector.get(NHentaiAPI)
    async with client_object as client:
        doujin = await client.get_random_doujin()  # Return: Dict[str, Any]
                                                   # from api without loss of information

        print(doujin)


asyncio.run(main())

Metadata

Release files for aiontai 1.0.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aiontai 1.0.12
File Size Uploaded
aiontai-1.0.12.tar.gz 8.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aiontai 1.0.12
File Interpreter ABI Platform
aiontai-1.0.12-py3-none-any.whl Python 3 none any Details

Total release size: 16.5 kB

Release files / aiontai-1.0.12.tar.gz

Download URL aiontai-1.0.12.tar.gz
Size 8.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a250ea535f2ce33853c5fc7ca009dcf7474c4940ad2e7b91a499ec79e213c7e3
BLAKE2b-256 checksum
How to use checksums
9b2638a301ae6b8536302b794c0ed538848191bd6f16db57fd3b8a16246ef4e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.12 CPython/3.9.8 Linux/5.15.12-1-MANJARO

Release files / aiontai-1.0.12-py3-none-any.whl

Download URL aiontai-1.0.12-py3-none-any.whl
Size 8.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
44dd47c1d00d4ccf6633f9ec1d1f164d42c639c7f7aef0a0ce674e20fe97c519
BLAKE2b-256 checksum
How to use checksums
432621b25c88f85048d589607d0e162d62fdafbaeb2dac523fd300cd2266d66e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.12 CPython/3.9.8 Linux/5.15.12-1-MANJARO

Release history Release notifications | RSS feed

This release

1.0.12 This release

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page