nimbooru

Basic wrapper for APIs of various Booru

Wrapper score 15/100 · tests present · no docs generated

Wraps a native library — check OS Compatibility below for platform-specific linking notes.

Summary

Latest Version 0.2.0
License LGPL-3.0-or-later
CI Status Failing
Downloads 0
Last Indexed 2026-07-21 05:26

Authors

  • Filip Vybihal

Installation

nimble install nimbooru
choosenim install nimbooru
git clone https://github.com/filvyb/nimbooru

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
nimbooru - - - - - - -

Dependencies

Package Version Optional
nim >= 1.6.0 No

Source

Repository https://github.com/filvyb/nimbooru
Homepage https://github.com/filvyb/nimbooru
Registry Source nimble_official

README

Nimbooru

A Nim library for searching and retrieving posts from multiple boorus.

Supported Sites

Gelbooru, Safebooru, Danbooru, Yandere, Konachan, E621, Sankaku, IdolComplex, Zerochan, Rule34Paheal

Installation

nimble install nimbooru

Usage

import nimbooru
import std/options

var client = initBooruClient(Safebooru)

# Search posts
let posts = client.searchPosts(limit = 20)
for post in posts:
  echo post.file_url

# Search with tags
let filtered = client.searchPosts(
  tags = some @["green eyes"],
  exclude_tags = some @["hat"]
)

# Get single post
let post = client.getPost("12345")

Async

import std/asyncdispatch

let posts = waitFor client.asyncSearchPosts(limit = 50)
let post = waitFor client.asyncGetPost("12345")

Authentication

var client = initBooruClient(
  Gelbooru,
  apiKey = some "key",
  userId = some "id"
)

Custom URL

var client = initBooruClient(
  "https://safebooru.donmai.us/",
  Danbooru
)

License

LGPL-3.0-or-later