Skip to main content

nhentai.net API wrapper for doujins

Project description

forthebadge made-with-python

Kitsune

An asynchronous nhentai.net API wrapper and scraper

As of now the wrapper has most of the functionality the API has to offer, except for the endpoint for filtering galleries by tag which I didn't include in the wrapper due to the fact that the search endpoint can already do that. The only thing left to do is to improve the quality of the code, implement GIF downloading which, according to how they are distributed across nhentai image repositories, will be quite troublesome and writing the documentation.

Only contributions I allow will be accepted. This will be worked on only in my free time.

Current capabilities:

  • nhentai.net API endpoints data requesting
  • Searching and filtering with webscraping
  • Ratelimit handling
  • Downloading done via threads

Pre-release:

  • Extra polishing, some extra refactoring and last touches.
  • Licensing, uploading the package and guide on how to use.

Post-release:

  • GIF downloading support.
  • Even more refactoring.
  • Tweaks and changes for the http handler.

Installation

Python 3.8+

pip install kitsune-nh

How-to-use guide

The main way to instantiate the wrapper class is via an async context manager which takes care of creating and closing the HTTP session internally.

import asyncio

from kitsune import Kitsune

async def main():
    async with Kitsune() as client: 
        ...

You can also opt to pass your own HTTP session.

import aiohttp

from kitsune import Kitsune

async def main():

    session = aiohttp.ClientSession()

    async with Kitsune.from_session(session) as client: 
        ...

Now that you have your instance of the wrapper, using it is fairly simple. Some examples below.

import aiohttp

from kitsune import Kitsune, Popularity, Tag, Artist, Character, Parody, Group 

async def main():
    async with Kitsune(loop = your_loop) as client: # Passing your own loop 

    	# Wrapper methods

        gallery = await client.fetch_gallery(312781)

        galleries = await client.fetch_galleries([312781, 31286, 9294])

        related = await client.fetch_related(312781)

        random_gallery = await client.fetch_random()

        comments = await client.fetch_comments(gallery.id)

        homepage = await client.fetch_homepage()

        shelf = await client.search(Tag["kitsune"], popularity = Popularity.ALL_TIME)

        await client.download(shelf, "/home/acertig/Pictures")

More examples and explanations can be found on the documentation.

Special thanks to hentai-chan for sharing the API endpoints. They were necessary for this async version of the wrapper to work. You can check his own sync wrapper here: https://github.com/hentai-chan/hentai

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

kitsune-nh-0.0.7.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

kitsune_nh-0.0.7-py3-none-any.whl (21.0 kB view details)

Uploaded Python 3

File details

Details for the file kitsune-nh-0.0.7.tar.gz.

File metadata

  • Download URL: kitsune-nh-0.0.7.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

File hashes

Hashes for kitsune-nh-0.0.7.tar.gz
Algorithm Hash digest
SHA256 0cf31b8084fa7cbf6027522e1eb652bcb27f3ff63c90fdb54aa5f8c8bb4afcb2
MD5 25240593b832d200736cba4d610f65cd
BLAKE2b-256 30560d5a45b4c9c9495a10bd83bfc8fa9ca3b88cb9f641295667a7bbfd83adcb

See more details on using hashes here.

File details

Details for the file kitsune_nh-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: kitsune_nh-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 21.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

File hashes

Hashes for kitsune_nh-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 ddcc8603bad78f6f9491458e7074dbebdddf6c5afcf40ec85da9b551c83bc1e9
MD5 397ea3c50ee8cf653dcd964c3f746e0f
BLAKE2b-256 27bf0358adeb73d8dd2543a68d6d9d9d6f9ceb25904f43f371499c603189c478

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page