A Python wrapper for waifu.im API.
Project description
waifuim.py
A Python wrapper for waifu.im API.
Table of Contents
Installation
Python 3.6 or higher is required.
Install from PyPI
$ pip install waifuim.py
Install from source
$ pip install git+https://github.com/Bucolo/waifuim.py
Usage
For now you can only use WaifuAioClient wich is async. Maybe a sync client will be released in the future.
Examples with WaifuAioClient
import asyncio
from waifuim import WaifuAioClient
async def main():
async with WaifuAioClient() as wf:
# Get the json that the api return for the waifu tag
waifujson= await wf.sfw('waifu',raw=True)
# Get one random image url for the waifu tag
waifu_url = await wf.sfw('waifu')
# Get 30 images url for the waifu tag (12 is the tag id)
waifulist= await wf.nsfw(12,many=True)
# Get one ero image excluding some files and the .gif extension
ero = await wf.nsfw('ero',exclude=['file1','file2.png','file3.jpeg'],gif=False)
# Get your gallery (returns a dict)
gallery=await wf.fav(toggle=['file20'],insert=['file1','file2.png','file3.jpeg'],delete=['file1','file2.png','file3.jpeg'],token="The token that will be used only for this request.")
#get the endpoints
endpoints=await wf.endpoints(full=True) #it is optional you can simply not set it to True and get the endpoints without details.
asyncio.run(main())
import asyncio
from waifuim import WaifuAioClient
async def main():
wf=WaifuAioClient()
# Get the json that the api return for the waifu tag
waifujson= await wf.sfw('waifu',raw=True)
# Get one random image url for the waifu tag
waifu_url = await wf.sfw('waifu')
# Get 30 images url for the waifu tag (12 is the tag id)
waifulist= await wf.nsfw('waifu',many=True)
# Get one ero image excluding some files and the .gif extension
ero = await wf.nsfw('ero',exclude=['file1','file2.png','file3.jpeg'],gif=False)
# Get your gallery (returns a dict)
gallery=await wf.fav(toggle=['file20'],insert=['file1','file2.png','file3.jpeg'],delete=['file1','file2.png','file3.jpeg'],token="The token that will be used only for this request.")
# Get the endpoints
endpoints=await wf.endpoints(full=True) #it is optional you can simply not set it to True and get the endpoints without details.
await wf.close()
asyncio.run(main())
Some interesting attributes
You can pass some useful kwargs to the class
import aiohttp
from waifuim import WaifuAioClient
wf = WaifuAioClient(session=aiohttp.ClientSession(),appname="MyDiscordBot",token="The Token that fav will use if token isn't provided.",maintenance_error="The error message that you want to raise if the api is returning a 502.")
# ...
License
MIT © Buco
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
waifuim.py-2.0.2.tar.gz
(7.1 kB
view hashes)