Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

aiontai

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

aiontai

Async wrapper for nhentai API

  • 1.0.12
  • PyPI
  • Socket score

Maintainers
1

Aiontai

Async wrapper for nhentai API

============ Installation

.. code:: shell

$ pip install aiontai

========== How to use

Create client

.. code:: python

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)

.. code:: python

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

.. code:: python

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

.. code:: python

...
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

.. code:: python

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

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc