nimbooru
Basic wrapper for APIs of various Booru
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 |
Tags
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