janda


Namejanda JSON
Version 3.1.4 PyPI version JSON
download
home_pagehttps://github.com/sinkaroid/janda
SummaryPython library for Jandapress, doujinshi api
upload_time2024-05-10 16:36:20
maintainerNone
docs_urlNone
authorsinkaroid
requires_pythonNone
licenseMIT
keywords doujinshi library hentai api nhentai pururin hentaifox hentai2read simply-hentai 3hentai asmhentai
VCS
bugtrack_url
requirements aiohttp
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">
<a href="https://sinkaroid.github.io/janda"><img width="470" src="https://cdn.discordapp.com/attachments/952117487166705747/952942740545634344/janda.png" alt="janda"></a>

<h4 align="center">Python library for Jandapress</h4>

<p align="center">
	<a href="https://github.com/sinkaroid/janda/actions/workflows/build.yml"><img src="https://github.com/sinkaroid/janda/actions/workflows/build.yml/badge.svg"></a>
	<a href="https://codeclimate.com/github/sinkaroid/janda/maintainability"><img src="https://api.codeclimate.com/v1/badges/7c53330c7a3c0c2a2006/maintainability"></a>
</p>

Interacts from python, simplified the usage, and intelisense definitions on your IDEs

<a href="https://github.com/sinkaroid/janda/blob/master/CONTRIBUTING.md">Contributing</a> •
<a href="https://sinkaroid.github.io/janda">Documentation</a> •
<a href="https://github.com/sinkaroid/janda/issues/new/choose">Report Issues</a>
</div>

- [Janda](#)
  - [Jandapress](#jandapress)
  - [Features](#janda-vs-the-competition)
  - [Installation](#installation)
    - [Prerequisites](#prerequisites)
  - [Documentation](https://sinkaroid.github.io/janda/)
    - [Example](#example)
    - [Janda.resolve()](#jandaresolve)
    - [Known issues](#known-issues)
  - [Pronunciation](#pronunciation)
  - [Legal](#legal)

---

## Jandapress
If you prefer with raw api and want to dealing with cloudflare stuff use jandapress
- [jandapress](https://github.com/sinkaroid/jandapress) — RESTful and experimental API for nhentai and other doujinshi

## Janda vs. the Competition

Features availability from jandapress 

| Client        | Status                                                                                                                              | Get   | Search | Random |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----- | ------ | ---------- |
| nhentai       | [![status](https://img.shields.io/badge/status-stable-green)](https://github.com/sinkaroid/janda/actions/workflows/nhentai.yml)     | `Yes` | `Yes`  | `Yes`      |
| pururin       | [![status](https://img.shields.io/badge/status-stable-green)](https://github.com/sinkaroid/janda/actions/workflows/pururin.yml)     | `Yes` | `Yes`  | `Yes`      |
| hentaifox     | [![status](https://img.shields.io/badge/status-stable-green)](https://github.com/sinkaroid/janda/actions/workflows/hentaifox.yml)   | `Yes` | `Yes`  | `Yes`      |
| hentai2read   | [![status](https://img.shields.io/badge/status-partial-blue)](https://github.com/sinkaroid/janda/actions/workflows/hentai2read.yml) | `Yes` | `Yes`  | `No`       |
| simply-hentai | [![status](https://img.shields.io/badge/status-triage-red)](https://github.com/sinkaroid/janda/actions/workflows/simplyh.yml)       | `Yes` | `No`   | `No`       |
| asmhentai     | [![status](https://img.shields.io/badge/status-stable-green)](https://github.com/sinkaroid/janda/actions/workflows/asmhentai.yml)   | `Yes` | `Yes`  | `Yes`      |
| 3hentai     | [![status](https://img.shields.io/badge/status-stable-green)](https://github.com/sinkaroid/janda/actions/workflows/thentai.yml)   | `Yes` | `Yes`  | `Yes`      |



## Prerequisites

- Python 3.7 or above


## Installation
`pip install janda`  
- Or manual build by cloning this repository and run `python setup.py install`

To use specific site api, You could specify import for example:
- `from janda import Nhentai`

then initializes the client, an [api key](https://scathach.id/login) is optional

## Example
Some methods require additional parameters, check your intelisense.

### get
`(method) get: (book: int, safe: bool | None = None) -> Coroutine`
```py
import asyncio
from janda import Nhentai, resolve

async def book():
    nh = Nhentai()
    data = await nh.get(177013)
    print(data) ## this is <class 'str'>
    print(resolve(data)) ## this is <class 'dict'>

async def main():
    await asyncio.gather(book())

asyncio.run(main())
```

### search
`(tags: str, page: int = 1, popular: str = 'today') -> Coroutine`

```py
await nh.search("jeanne alter", 1, "today")
```
## janda.resolve()
You will need this for every object, this library designed to be neat and clean returns, although it must be reparsed to the string first, that's why `janda.resolve()` exist.

## Documentation
The documentation can be found [https://sinkaroid.github.io/janda](https://sinkaroid.github.io/janda)

## Returns example
`get` method will represent as **Book Object** and packed with actionable image urls
```js
{
    "data": {
        "artist": [
            "shindol"
        ],
        "characters": [],
        "group": null,
        "id": 177013,
        "image": [
            "https://i.nhentai.net/galleries/987560/1.jpg",
            "https://i.nhentai.net/galleries/987560/2.jpg",
            "https://i.nhentai.net/galleries/987560/3.jpg",
            "https://i.nhentai.net/galleries/987560/4.jpg",
            "https://i.nhentai.net/galleries/987560/5.jpg",
            "https://i.nhentai.net/galleries/987560/6.jpg",
            "https://i.nhentai.net/galleries/987560/7.jpg",
            "https://i.nhentai.net/galleries/987560/8.jpg",
            "https://i.nhentai.net/galleries/987560/9.jpg",
            "https://i.nhentai.net/galleries/987560/10.jpg",
            "https://i.nhentai.net/galleries/987560/11.jpg",
            "https://i.nhentai.net/galleries/987560/12.jpg",
            "https://i.nhentai.net/galleries/987560/13.jpg",
            "https://i.nhentai.net/galleries/987560/14.jpg",
            "https://i.nhentai.net/galleries/987560/15.jpg",
            "https://i.nhentai.net/galleries/987560/16.jpg",
            "https://i.nhentai.net/galleries/987560/17.jpg",
            "https://i.nhentai.net/galleries/987560/18.jpg",
            "https://i.nhentai.net/galleries/987560/19.jpg",
            "https://i.nhentai.net/galleries/987560/20.jpg",
            "https://i.nhentai.net/galleries/987560/21.jpg",
            "https://i.nhentai.net/galleries/987560/22.jpg",
            "https://i.nhentai.net/galleries/987560/23.jpg",
            "https://i.nhentai.net/galleries/987560/24.jpg",
            "https://i.nhentai.net/galleries/987560/25.jpg",
            "https://i.nhentai.net/galleries/987560/26.jpg",
            "https://i.nhentai.net/galleries/987560/27.jpg",
            "https://i.nhentai.net/galleries/987560/28.jpg",
            "https://i.nhentai.net/galleries/987560/29.jpg",
            "https://i.nhentai.net/galleries/987560/30.jpg",
            "https://i.nhentai.net/galleries/987560/31.jpg",
            "https://i.nhentai.net/galleries/987560/32.jpg",
            "https://i.nhentai.net/galleries/987560/33.jpg",
            "https://i.nhentai.net/galleries/987560/34.jpg",
            "https://i.nhentai.net/galleries/987560/35.jpg",
            "https://i.nhentai.net/galleries/987560/36.jpg",
            "https://i.nhentai.net/galleries/987560/37.jpg",
            "https://i.nhentai.net/galleries/987560/38.jpg",
            "https://i.nhentai.net/galleries/987560/39.jpg",
            "https://i.nhentai.net/galleries/987560/40.jpg",
            "https://i.nhentai.net/galleries/987560/41.jpg",
            "https://i.nhentai.net/galleries/987560/42.jpg",
            "https://i.nhentai.net/galleries/987560/43.jpg",
            "https://i.nhentai.net/galleries/987560/44.jpg",
            "https://i.nhentai.net/galleries/987560/45.jpg",
            "https://i.nhentai.net/galleries/987560/46.jpg",
            "https://i.nhentai.net/galleries/987560/47.jpg",
            "https://i.nhentai.net/galleries/987560/48.jpg",
            "https://i.nhentai.net/galleries/987560/49.jpg",
            "https://i.nhentai.net/galleries/987560/50.jpg",
            "https://i.nhentai.net/galleries/987560/51.jpg",
            "https://i.nhentai.net/galleries/987560/52.jpg",
            "https://i.nhentai.net/galleries/987560/53.jpg",
            "https://i.nhentai.net/galleries/987560/54.jpg",
            "https://i.nhentai.net/galleries/987560/55.jpg",
            "https://i.nhentai.net/galleries/987560/56.jpg",
            "https://i.nhentai.net/galleries/987560/57.jpg",
            "https://i.nhentai.net/galleries/987560/58.jpg",
            "https://i.nhentai.net/galleries/987560/59.jpg",
            "https://i.nhentai.net/galleries/987560/60.jpg",
            "https://i.nhentai.net/galleries/987560/61.jpg",
            "https://i.nhentai.net/galleries/987560/62.jpg",
            "https://i.nhentai.net/galleries/987560/63.jpg",
            "https://i.nhentai.net/galleries/987560/64.jpg",
            "https://i.nhentai.net/galleries/987560/65.jpg",
            "https://i.nhentai.net/galleries/987560/66.jpg",
            "https://i.nhentai.net/galleries/987560/67.jpg",
            "https://i.nhentai.net/galleries/987560/68.jpg",
            "https://i.nhentai.net/galleries/987560/69.jpg",
            "https://i.nhentai.net/galleries/987560/70.jpg",
            "https://i.nhentai.net/galleries/987560/71.jpg",
            "https://i.nhentai.net/galleries/987560/72.jpg",
            "https://i.nhentai.net/galleries/987560/73.jpg",
            "https://i.nhentai.net/galleries/987560/74.jpg",
            "https://i.nhentai.net/galleries/987560/75.jpg",
            "https://i.nhentai.net/galleries/987560/76.jpg",
            "https://i.nhentai.net/galleries/987560/77.jpg",
            "https://i.nhentai.net/galleries/987560/78.jpg",
            "https://i.nhentai.net/galleries/987560/79.jpg",
            "https://i.nhentai.net/galleries/987560/80.jpg",
            "https://i.nhentai.net/galleries/987560/81.jpg",
            "https://i.nhentai.net/galleries/987560/82.jpg",
            "https://i.nhentai.net/galleries/987560/83.jpg",
            "https://i.nhentai.net/galleries/987560/84.jpg",
            "https://i.nhentai.net/galleries/987560/85.jpg",
            "https://i.nhentai.net/galleries/987560/86.jpg",
            "https://i.nhentai.net/galleries/987560/87.jpg",
            "https://i.nhentai.net/galleries/987560/88.jpg",
            "https://i.nhentai.net/galleries/987560/89.jpg",
            "https://i.nhentai.net/galleries/987560/90.jpg",
            "https://i.nhentai.net/galleries/987560/91.jpg",
            "https://i.nhentai.net/galleries/987560/92.jpg",
            "https://i.nhentai.net/galleries/987560/93.jpg",
            "https://i.nhentai.net/galleries/987560/94.jpg",
            "https://i.nhentai.net/galleries/987560/95.jpg",
            "https://i.nhentai.net/galleries/987560/96.jpg",
            "https://i.nhentai.net/galleries/987560/97.jpg",
            "https://i.nhentai.net/galleries/987560/98.jpg",
            "https://i.nhentai.net/galleries/987560/99.jpg",
            "https://i.nhentai.net/galleries/987560/100.jpg",
            "https://i.nhentai.net/galleries/987560/101.jpg",
            "https://i.nhentai.net/galleries/987560/102.jpg",
            "https://i.nhentai.net/galleries/987560/103.jpg",
            "https://i.nhentai.net/galleries/987560/104.jpg",
            "https://i.nhentai.net/galleries/987560/105.jpg",
            "https://i.nhentai.net/galleries/987560/106.jpg",
            "https://i.nhentai.net/galleries/987560/107.jpg",
            "https://i.nhentai.net/galleries/987560/108.jpg",
            "https://i.nhentai.net/galleries/987560/109.jpg",
            "https://i.nhentai.net/galleries/987560/110.jpg",
            "https://i.nhentai.net/galleries/987560/111.jpg",
            "https://i.nhentai.net/galleries/987560/112.jpg",
            "https://i.nhentai.net/galleries/987560/113.jpg",
            "https://i.nhentai.net/galleries/987560/114.jpg",
            "https://i.nhentai.net/galleries/987560/115.jpg",
            "https://i.nhentai.net/galleries/987560/116.jpg",
            "https://i.nhentai.net/galleries/987560/117.jpg",
            "https://i.nhentai.net/galleries/987560/118.jpg",
            "https://i.nhentai.net/galleries/987560/119.jpg",
            "https://i.nhentai.net/galleries/987560/120.jpg",
            "https://i.nhentai.net/galleries/987560/121.jpg",
            "https://i.nhentai.net/galleries/987560/122.jpg",
            "https://i.nhentai.net/galleries/987560/123.jpg",
            "https://i.nhentai.net/galleries/987560/124.jpg",
            "https://i.nhentai.net/galleries/987560/125.jpg",
            "https://i.nhentai.net/galleries/987560/126.jpg",
            "https://i.nhentai.net/galleries/987560/127.jpg",
            "https://i.nhentai.net/galleries/987560/128.jpg",
            "https://i.nhentai.net/galleries/987560/129.jpg",
            "https://i.nhentai.net/galleries/987560/130.jpg",
            "https://i.nhentai.net/galleries/987560/131.jpg",
            "https://i.nhentai.net/galleries/987560/132.jpg",
            "https://i.nhentai.net/galleries/987560/133.jpg",
            "https://i.nhentai.net/galleries/987560/134.jpg",
            "https://i.nhentai.net/galleries/987560/135.jpg",
            "https://i.nhentai.net/galleries/987560/136.jpg",
            "https://i.nhentai.net/galleries/987560/137.jpg",
            "https://i.nhentai.net/galleries/987560/138.jpg",
            "https://i.nhentai.net/galleries/987560/139.jpg",
            "https://i.nhentai.net/galleries/987560/140.jpg",
            "https://i.nhentai.net/galleries/987560/141.jpg",
            "https://i.nhentai.net/galleries/987560/142.jpg",
            "https://i.nhentai.net/galleries/987560/143.jpg",
            "https://i.nhentai.net/galleries/987560/144.jpg",
            "https://i.nhentai.net/galleries/987560/145.jpg",
            "https://i.nhentai.net/galleries/987560/146.jpg",
            "https://i.nhentai.net/galleries/987560/147.jpg",
            "https://i.nhentai.net/galleries/987560/148.jpg",
            "https://i.nhentai.net/galleries/987560/149.jpg",
            "https://i.nhentai.net/galleries/987560/150.jpg",
            "https://i.nhentai.net/galleries/987560/151.jpg",
            "https://i.nhentai.net/galleries/987560/152.jpg",
            "https://i.nhentai.net/galleries/987560/153.jpg",
            "https://i.nhentai.net/galleries/987560/154.jpg",
            "https://i.nhentai.net/galleries/987560/155.jpg",
            "https://i.nhentai.net/galleries/987560/156.jpg",
            "https://i.nhentai.net/galleries/987560/157.jpg",
            "https://i.nhentai.net/galleries/987560/158.jpg",
            "https://i.nhentai.net/galleries/987560/159.jpg",
            "https://i.nhentai.net/galleries/987560/160.jpg",
            "https://i.nhentai.net/galleries/987560/161.jpg",
            "https://i.nhentai.net/galleries/987560/162.jpg",
            "https://i.nhentai.net/galleries/987560/163.jpg",
            "https://i.nhentai.net/galleries/987560/164.jpg",
            "https://i.nhentai.net/galleries/987560/165.jpg",
            "https://i.nhentai.net/galleries/987560/166.jpg",
            "https://i.nhentai.net/galleries/987560/167.jpg",
            "https://i.nhentai.net/galleries/987560/168.jpg",
            "https://i.nhentai.net/galleries/987560/169.jpg",
            "https://i.nhentai.net/galleries/987560/170.jpg",
            "https://i.nhentai.net/galleries/987560/171.jpg",
            "https://i.nhentai.net/galleries/987560/172.jpg",
            "https://i.nhentai.net/galleries/987560/173.jpg",
            "https://i.nhentai.net/galleries/987560/174.jpg",
            "https://i.nhentai.net/galleries/987560/175.jpg",
            "https://i.nhentai.net/galleries/987560/176.jpg",
            "https://i.nhentai.net/galleries/987560/177.jpg",
            "https://i.nhentai.net/galleries/987560/178.jpg",
            "https://i.nhentai.net/galleries/987560/179.jpg",
            "https://i.nhentai.net/galleries/987560/180.jpg",
            "https://i.nhentai.net/galleries/987560/181.jpg",
            "https://i.nhentai.net/galleries/987560/182.jpg",
            "https://i.nhentai.net/galleries/987560/183.jpg",
            "https://i.nhentai.net/galleries/987560/184.jpg",
            "https://i.nhentai.net/galleries/987560/185.jpg",
            "https://i.nhentai.net/galleries/987560/186.jpg",
            "https://i.nhentai.net/galleries/987560/187.jpg",
            "https://i.nhentai.net/galleries/987560/188.jpg",
            "https://i.nhentai.net/galleries/987560/189.jpg",
            "https://i.nhentai.net/galleries/987560/190.jpg",
            "https://i.nhentai.net/galleries/987560/191.jpg",
            "https://i.nhentai.net/galleries/987560/192.jpg",
            "https://i.nhentai.net/galleries/987560/193.jpg",
            "https://i.nhentai.net/galleries/987560/194.jpg",
            "https://i.nhentai.net/galleries/987560/195.jpg",
            "https://i.nhentai.net/galleries/987560/196.jpg",
            "https://i.nhentai.net/galleries/987560/197.jpg",
            "https://i.nhentai.net/galleries/987560/198.jpg",
            "https://i.nhentai.net/galleries/987560/199.jpg",
            "https://i.nhentai.net/galleries/987560/200.jpg",
            "https://i.nhentai.net/galleries/987560/201.jpg",
            "https://i.nhentai.net/galleries/987560/202.jpg",
            "https://i.nhentai.net/galleries/987560/203.jpg",
            "https://i.nhentai.net/galleries/987560/204.jpg",
            "https://i.nhentai.net/galleries/987560/205.jpg",
            "https://i.nhentai.net/galleries/987560/206.jpg",
            "https://i.nhentai.net/galleries/987560/207.jpg",
            "https://i.nhentai.net/galleries/987560/208.jpg",
            "https://i.nhentai.net/galleries/987560/209.jpg",
            "https://i.nhentai.net/galleries/987560/210.jpg",
            "https://i.nhentai.net/galleries/987560/211.jpg",
            "https://i.nhentai.net/galleries/987560/212.jpg",
            "https://i.nhentai.net/galleries/987560/213.jpg",
            "https://i.nhentai.net/galleries/987560/214.jpg",
            "https://i.nhentai.net/galleries/987560/215.jpg",
            "https://i.nhentai.net/galleries/987560/216.jpg",
            "https://i.nhentai.net/galleries/987560/217.jpg",
            "https://i.nhentai.net/galleries/987560/218.jpg",
            "https://i.nhentai.net/galleries/987560/219.jpg",
            "https://i.nhentai.net/galleries/987560/220.jpg",
            "https://i.nhentai.net/galleries/987560/221.jpg",
            "https://i.nhentai.net/galleries/987560/222.jpg",
            "https://i.nhentai.net/galleries/987560/223.jpg",
            "https://i.nhentai.net/galleries/987560/224.jpg",
            "https://i.nhentai.net/galleries/987560/225.jpg"
        ],
        "language": "english",
        "num_favorites": 97746,
        "num_pages": 225,
        "optional_title": {
            "english": "[ShindoLA] METAMORPHOSIS (Complete) [English]",
            "japanese": "",
            "pretty": "METAMORPHOSIS"
        },
        "parodies": null,
        "tags": [
            "shindol",
            "piercing",
            "pregnant",
            "mmf threesome",
            "vomit",
            "group",
            "story arc",
            "schoolgirl uniform",
            "snuff",
            "english",
            "prostitution",
            "nakadashi",
            "moral degeneration",
            "ahegao",
            "anal",
            "translated",
            "dark skin",
            "x-ray",
            "full body tattoo",
            "drugs",
            "incest",
            "double penetration",
            "stockings",
            "gyaru",
            "mind break",
            "blackmail",
            "impregnation",
            "blowjob",
            "deepthroat",
            "manga",
            "already uploaded"
        ],
        "title": "METAMORPHOSIS",
        "total": 225,
        "upload_date": "October 18, 2016 (6 years ago)"
    },
    "source": "https://nhentai.net/g/177013"
}
```

Otherwise `search` will return 25 **List Object** of search results.
```js
{
    "data": [
        {
            "cover": "https://i.nhentai.net/galleries/2244825/1.jpg",
            "id": 406651,
            "language": "english",
            "tags": [
                "oni",
                "big breasts",
                "big ass",
                "cheating",
                "english",
                "anal",
                "shemale",
                "translated",
                "yaoi",
                "muscle",
                "doujinshi",
                "dickgirl on male",
                "male on dickgirl",
                "focus anal",
                "huuten",
                "anal intercourse"
            ],
            "title": {
                "english": "[huuten (Huuten)] ♂×♂ - Demon Shemale Wife (English)",
                "japanese": "[huuten (瘋)] ♂×♂ - 鬼シーメール人妻",
                "pretty": "♂×♂ - Demon Shemale Wife"
            },
            "total": 23,
            "upload_date": "June 12, 2022 (1 day ago)"
        },
        {
            "cover": "https://i.nhentai.net/galleries/1893566/1.jpg",
            "id": 356040,
            "language": "english",
            "tags": [
                "ttf threesome",
                "futanari",
                "unusual teeth",
                "sweating",
                "big breasts",
                "unusual pupils",
                "cunnilingus",
                "group",
                "english",
                "ahegao",
                "anal",
                "hairy",
                "translated",
                "thigh high boots",
                "multi-work series",
                "double penetration",
                "tall girl",
                "blowjob",
                "stomach deformation",
                "doujinshi",
                "dickgirl on dickgirl",
                "original",
                "huuten"
            ],
            "title": {
                "english": "[huuten (Huuten)] Defeated by Futanarification Medication (Latter Part)| Drugged to Futanaridom Part 2 [English]",
                "japanese": "[huuten (瘋)] 薬を打たれふたなり化(後編)[英訳]",
                "pretty": "Defeated by Futanarification Medication| Drugged to Futanaridom Part 2"
            },
            "total": 43,
            "upload_date": "April 21, 2021 (1 year ago)"
        }
    ],
    "page": 1,
    "sort": "popular-today",
    "source": "https://nhentai.net/api/galleries/search?query=futa&sort=popular-today&page=1"
}
```

## Known Issues
#### `UnicodeEncodeError: 'charmap' codec can't encode characters`  
- It's raised when the title contains non-ascii characters, then your console can't parse them, use real console don't Git-bash.

## Pronunciation
[`id_ID`](https://www.localeplanet.com/java/id-ID/index.html) • **/jan·da/** — Dewasa dan mengikat; (?)

## Legal
This tool can be freely copied, modified, altered, distributed without any attribution whatsoever. However, if you feel
like this tool deserves an attribution, mention it. It won't hurt anybody.
> Licence: WTF.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/sinkaroid/janda",
    "name": "janda",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "doujinshi, library, hentai, api, nhentai, pururin, hentaifox, hentai2read, simply-hentai, 3hentai, asmhentai",
    "author": "sinkaroid",
    "author_email": "anakmancasan@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/a9/57/6244dad7e09acb4335ab5b1518a3ffe155a1b9b200805a001f7b021df1c3/janda-3.1.4.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\r\n<a href=\"https://sinkaroid.github.io/janda\"><img width=\"470\" src=\"https://cdn.discordapp.com/attachments/952117487166705747/952942740545634344/janda.png\" alt=\"janda\"></a>\r\n\r\n<h4 align=\"center\">Python library for Jandapress</h4>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://github.com/sinkaroid/janda/actions/workflows/build.yml\"><img src=\"https://github.com/sinkaroid/janda/actions/workflows/build.yml/badge.svg\"></a>\r\n\t<a href=\"https://codeclimate.com/github/sinkaroid/janda/maintainability\"><img src=\"https://api.codeclimate.com/v1/badges/7c53330c7a3c0c2a2006/maintainability\"></a>\r\n</p>\r\n\r\nInteracts from python, simplified the usage, and intelisense definitions on your IDEs\r\n\r\n<a href=\"https://github.com/sinkaroid/janda/blob/master/CONTRIBUTING.md\">Contributing</a> \u2022\r\n<a href=\"https://sinkaroid.github.io/janda\">Documentation</a> \u2022\r\n<a href=\"https://github.com/sinkaroid/janda/issues/new/choose\">Report Issues</a>\r\n</div>\r\n\r\n- [Janda](#)\r\n  - [Jandapress](#jandapress)\r\n  - [Features](#janda-vs-the-competition)\r\n  - [Installation](#installation)\r\n    - [Prerequisites](#prerequisites)\r\n  - [Documentation](https://sinkaroid.github.io/janda/)\r\n    - [Example](#example)\r\n    - [Janda.resolve()](#jandaresolve)\r\n    - [Known issues](#known-issues)\r\n  - [Pronunciation](#pronunciation)\r\n  - [Legal](#legal)\r\n\r\n---\r\n\r\n## Jandapress\r\nIf you prefer with raw api and want to dealing with cloudflare stuff use jandapress\r\n- [jandapress](https://github.com/sinkaroid/jandapress) \u2014 RESTful and experimental API for nhentai and other doujinshi\r\n\r\n## Janda vs. the Competition\r\n\r\nFeatures availability from jandapress \r\n\r\n| Client        | Status                                                                                                                              | Get   | Search | Random |\r\n| ------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----- | ------ | ---------- |\r\n| nhentai       | [![status](https://img.shields.io/badge/status-stable-green)](https://github.com/sinkaroid/janda/actions/workflows/nhentai.yml)     | `Yes` | `Yes`  | `Yes`      |\r\n| pururin       | [![status](https://img.shields.io/badge/status-stable-green)](https://github.com/sinkaroid/janda/actions/workflows/pururin.yml)     | `Yes` | `Yes`  | `Yes`      |\r\n| hentaifox     | [![status](https://img.shields.io/badge/status-stable-green)](https://github.com/sinkaroid/janda/actions/workflows/hentaifox.yml)   | `Yes` | `Yes`  | `Yes`      |\r\n| hentai2read   | [![status](https://img.shields.io/badge/status-partial-blue)](https://github.com/sinkaroid/janda/actions/workflows/hentai2read.yml) | `Yes` | `Yes`  | `No`       |\r\n| simply-hentai | [![status](https://img.shields.io/badge/status-triage-red)](https://github.com/sinkaroid/janda/actions/workflows/simplyh.yml)       | `Yes` | `No`   | `No`       |\r\n| asmhentai     | [![status](https://img.shields.io/badge/status-stable-green)](https://github.com/sinkaroid/janda/actions/workflows/asmhentai.yml)   | `Yes` | `Yes`  | `Yes`      |\r\n| 3hentai     | [![status](https://img.shields.io/badge/status-stable-green)](https://github.com/sinkaroid/janda/actions/workflows/thentai.yml)   | `Yes` | `Yes`  | `Yes`      |\r\n\r\n\r\n\r\n## Prerequisites\r\n\r\n- Python 3.7 or above\r\n\r\n\r\n## Installation\r\n`pip install janda`  \r\n- Or manual build by cloning this repository and run `python setup.py install`\r\n\r\nTo use specific site api, You could specify import for example:\r\n- `from janda import Nhentai`\r\n\r\nthen initializes the client, an [api key](https://scathach.id/login) is optional\r\n\r\n## Example\r\nSome methods require additional parameters, check your intelisense.\r\n\r\n### get\r\n`(method) get: (book: int, safe: bool | None = None) -> Coroutine`\r\n```py\r\nimport asyncio\r\nfrom janda import Nhentai, resolve\r\n\r\nasync def book():\r\n    nh = Nhentai()\r\n    data = await nh.get(177013)\r\n    print(data) ## this is <class 'str'>\r\n    print(resolve(data)) ## this is <class 'dict'>\r\n\r\nasync def main():\r\n    await asyncio.gather(book())\r\n\r\nasyncio.run(main())\r\n```\r\n\r\n### search\r\n`(tags: str, page: int = 1, popular: str = 'today') -> Coroutine`\r\n\r\n```py\r\nawait nh.search(\"jeanne alter\", 1, \"today\")\r\n```\r\n## janda.resolve()\r\nYou will need this for every object, this library designed to be neat and clean returns, although it must be reparsed to the string first, that's why `janda.resolve()` exist.\r\n\r\n## Documentation\r\nThe documentation can be found [https://sinkaroid.github.io/janda](https://sinkaroid.github.io/janda)\r\n\r\n## Returns example\r\n`get` method will represent as **Book Object** and packed with actionable image urls\r\n```js\r\n{\r\n    \"data\": {\r\n        \"artist\": [\r\n            \"shindol\"\r\n        ],\r\n        \"characters\": [],\r\n        \"group\": null,\r\n        \"id\": 177013,\r\n        \"image\": [\r\n            \"https://i.nhentai.net/galleries/987560/1.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/2.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/3.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/4.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/5.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/6.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/7.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/8.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/9.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/10.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/11.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/12.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/13.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/14.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/15.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/16.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/17.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/18.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/19.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/20.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/21.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/22.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/23.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/24.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/25.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/26.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/27.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/28.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/29.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/30.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/31.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/32.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/33.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/34.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/35.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/36.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/37.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/38.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/39.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/40.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/41.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/42.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/43.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/44.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/45.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/46.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/47.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/48.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/49.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/50.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/51.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/52.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/53.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/54.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/55.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/56.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/57.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/58.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/59.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/60.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/61.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/62.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/63.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/64.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/65.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/66.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/67.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/68.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/69.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/70.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/71.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/72.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/73.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/74.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/75.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/76.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/77.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/78.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/79.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/80.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/81.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/82.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/83.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/84.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/85.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/86.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/87.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/88.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/89.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/90.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/91.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/92.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/93.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/94.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/95.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/96.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/97.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/98.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/99.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/100.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/101.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/102.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/103.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/104.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/105.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/106.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/107.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/108.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/109.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/110.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/111.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/112.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/113.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/114.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/115.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/116.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/117.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/118.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/119.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/120.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/121.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/122.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/123.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/124.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/125.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/126.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/127.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/128.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/129.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/130.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/131.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/132.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/133.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/134.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/135.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/136.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/137.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/138.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/139.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/140.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/141.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/142.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/143.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/144.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/145.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/146.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/147.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/148.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/149.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/150.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/151.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/152.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/153.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/154.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/155.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/156.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/157.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/158.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/159.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/160.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/161.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/162.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/163.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/164.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/165.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/166.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/167.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/168.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/169.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/170.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/171.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/172.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/173.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/174.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/175.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/176.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/177.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/178.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/179.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/180.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/181.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/182.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/183.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/184.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/185.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/186.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/187.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/188.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/189.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/190.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/191.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/192.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/193.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/194.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/195.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/196.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/197.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/198.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/199.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/200.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/201.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/202.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/203.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/204.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/205.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/206.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/207.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/208.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/209.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/210.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/211.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/212.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/213.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/214.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/215.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/216.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/217.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/218.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/219.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/220.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/221.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/222.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/223.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/224.jpg\",\r\n            \"https://i.nhentai.net/galleries/987560/225.jpg\"\r\n        ],\r\n        \"language\": \"english\",\r\n        \"num_favorites\": 97746,\r\n        \"num_pages\": 225,\r\n        \"optional_title\": {\r\n            \"english\": \"[ShindoLA] METAMORPHOSIS (Complete) [English]\",\r\n            \"japanese\": \"\",\r\n            \"pretty\": \"METAMORPHOSIS\"\r\n        },\r\n        \"parodies\": null,\r\n        \"tags\": [\r\n            \"shindol\",\r\n            \"piercing\",\r\n            \"pregnant\",\r\n            \"mmf threesome\",\r\n            \"vomit\",\r\n            \"group\",\r\n            \"story arc\",\r\n            \"schoolgirl uniform\",\r\n            \"snuff\",\r\n            \"english\",\r\n            \"prostitution\",\r\n            \"nakadashi\",\r\n            \"moral degeneration\",\r\n            \"ahegao\",\r\n            \"anal\",\r\n            \"translated\",\r\n            \"dark skin\",\r\n            \"x-ray\",\r\n            \"full body tattoo\",\r\n            \"drugs\",\r\n            \"incest\",\r\n            \"double penetration\",\r\n            \"stockings\",\r\n            \"gyaru\",\r\n            \"mind break\",\r\n            \"blackmail\",\r\n            \"impregnation\",\r\n            \"blowjob\",\r\n            \"deepthroat\",\r\n            \"manga\",\r\n            \"already uploaded\"\r\n        ],\r\n        \"title\": \"METAMORPHOSIS\",\r\n        \"total\": 225,\r\n        \"upload_date\": \"October 18, 2016 (6 years ago)\"\r\n    },\r\n    \"source\": \"https://nhentai.net/g/177013\"\r\n}\r\n```\r\n\r\nOtherwise `search` will return 25 **List Object** of search results.\r\n```js\r\n{\r\n    \"data\": [\r\n        {\r\n            \"cover\": \"https://i.nhentai.net/galleries/2244825/1.jpg\",\r\n            \"id\": 406651,\r\n            \"language\": \"english\",\r\n            \"tags\": [\r\n                \"oni\",\r\n                \"big breasts\",\r\n                \"big ass\",\r\n                \"cheating\",\r\n                \"english\",\r\n                \"anal\",\r\n                \"shemale\",\r\n                \"translated\",\r\n                \"yaoi\",\r\n                \"muscle\",\r\n                \"doujinshi\",\r\n                \"dickgirl on male\",\r\n                \"male on dickgirl\",\r\n                \"focus anal\",\r\n                \"huuten\",\r\n                \"anal intercourse\"\r\n            ],\r\n            \"title\": {\r\n                \"english\": \"[huuten (Huuten)] \u2642\u00d7\u2642 - Demon Shemale Wife (English)\",\r\n                \"japanese\": \"[huuten (\u760b)] \u2642\u00d7\u2642 - \u9b3c\u30b7\u30fc\u30e1\u30fc\u30eb\u4eba\u59bb\",\r\n                \"pretty\": \"\u2642\u00d7\u2642 - Demon Shemale Wife\"\r\n            },\r\n            \"total\": 23,\r\n            \"upload_date\": \"June 12, 2022 (1 day ago)\"\r\n        },\r\n        {\r\n            \"cover\": \"https://i.nhentai.net/galleries/1893566/1.jpg\",\r\n            \"id\": 356040,\r\n            \"language\": \"english\",\r\n            \"tags\": [\r\n                \"ttf threesome\",\r\n                \"futanari\",\r\n                \"unusual teeth\",\r\n                \"sweating\",\r\n                \"big breasts\",\r\n                \"unusual pupils\",\r\n                \"cunnilingus\",\r\n                \"group\",\r\n                \"english\",\r\n                \"ahegao\",\r\n                \"anal\",\r\n                \"hairy\",\r\n                \"translated\",\r\n                \"thigh high boots\",\r\n                \"multi-work series\",\r\n                \"double penetration\",\r\n                \"tall girl\",\r\n                \"blowjob\",\r\n                \"stomach deformation\",\r\n                \"doujinshi\",\r\n                \"dickgirl on dickgirl\",\r\n                \"original\",\r\n                \"huuten\"\r\n            ],\r\n            \"title\": {\r\n                \"english\": \"[huuten (Huuten)] Defeated by Futanarification Medication (Latter Part)| Drugged to Futanaridom Part 2 [English]\",\r\n                \"japanese\": \"[huuten (\u760b)] \u85ac\u3092\u6253\u305f\u308c\u3075\u305f\u306a\u308a\u5316(\u5f8c\u7de8)[\u82f1\u8a33]\",\r\n                \"pretty\": \"Defeated by Futanarification Medication| Drugged to Futanaridom Part 2\"\r\n            },\r\n            \"total\": 43,\r\n            \"upload_date\": \"April 21, 2021 (1 year ago)\"\r\n        }\r\n    ],\r\n    \"page\": 1,\r\n    \"sort\": \"popular-today\",\r\n    \"source\": \"https://nhentai.net/api/galleries/search?query=futa&sort=popular-today&page=1\"\r\n}\r\n```\r\n\r\n## Known Issues\r\n#### `UnicodeEncodeError: 'charmap' codec can't encode characters`  \r\n- It's raised when the title contains non-ascii characters, then your console can't parse them, use real console don't Git-bash.\r\n\r\n## Pronunciation\r\n[`id_ID`](https://www.localeplanet.com/java/id-ID/index.html) \u2022 **/jan\u00b7da/** \u2014 Dewasa dan mengikat; (?)\r\n\r\n## Legal\r\nThis tool can be freely copied, modified, altered, distributed without any attribution whatsoever. However, if you feel\r\nlike this tool deserves an attribution, mention it. It won't hurt anybody.\r\n> Licence: WTF.\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python library for Jandapress, doujinshi api",
    "version": "3.1.4",
    "project_urls": {
        "Discord": "https://discord.gg/8wj4vM5hHM",
        "Documentation": "https://sinkaroid.github.io/janda",
        "Funding": "https://github.com/sponsors/sinkaroid",
        "Homepage": "https://github.com/sinkaroid/janda",
        "Issue tracker": "https://github.com/sinkaroid/janda/issues/new/choose"
    },
    "split_keywords": [
        "doujinshi",
        " library",
        " hentai",
        " api",
        " nhentai",
        " pururin",
        " hentaifox",
        " hentai2read",
        " simply-hentai",
        " 3hentai",
        " asmhentai"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a9576244dad7e09acb4335ab5b1518a3ffe155a1b9b200805a001f7b021df1c3",
                "md5": "eee2b02cb0be9ee6d2283ea2325f73e8",
                "sha256": "733f089955fc73e8d120c86e8d5e7e4847706d29bd9915c551430574c32b707e"
            },
            "downloads": -1,
            "filename": "janda-3.1.4.tar.gz",
            "has_sig": false,
            "md5_digest": "eee2b02cb0be9ee6d2283ea2325f73e8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 15751,
            "upload_time": "2024-05-10T16:36:20",
            "upload_time_iso_8601": "2024-05-10T16:36:20.797188Z",
            "url": "https://files.pythonhosted.org/packages/a9/57/6244dad7e09acb4335ab5b1518a3ffe155a1b9b200805a001f7b021df1c3/janda-3.1.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-10 16:36:20",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "sinkaroid",
    "github_project": "janda",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "aiohttp",
            "specs": [
                [
                    "==",
                    "3.8.4"
                ]
            ]
        }
    ],
    "lcname": "janda"
}
        
Elapsed time: 0.22855s