listenbrainz

Low-level multisync (C backend) and async (JS backend) bindings to the ListenBrainz web API.

Pure Nim score 15/100 · tests present · no docs generated

Summary

Latest Version 0.2.1
License MIT
CI Status Failing
Downloads 0
Last Indexed 2026-09-01 07:19

Authors

  • tandy1000 & Thomas Carroll

Installation

nimble install listenbrainz
choosenim install listenbrainz
git clone https://gitlab.com/tandy1000/listenbrainz-nim

OS Compatibility

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

Dependencies

Package Version Optional
nim >= 1.5.0 No
jsony - No
nodejs - No
dotenv >= 2.0.0 No
https://github.com/alaviss/union >= 0.1.1 No
https://github.com/tandy-1000/uniony - No
https://github.com/tandy-1000/jspf-nim - No
https://github.com/tandy-1000/asyncutils - No

Source

Repository https://gitlab.com/tandy1000/listenbrainz-nim
Homepage https://gitlab.com/tandy1000/listenbrainz-nim
Registry Source nimble_official

README

listenbrainz-nim pipeline status Build Status Build Status

import listenbrainz
import listenbrainz/[core, playlist, feedback, recommendation, stats, status, social]

This library contains sync / async bindings to the ListenBrainz web API. The library returns API data as JSON strings.

Features:

  • JavaScript backend: leverages jsfetch to function in the browser.
  • Jason Beetham's fastsync pragma to provide sync / async bindings for C and JS
  • jsony for fast and easy conversion between API types and JSON
  • union (and uniony) to support type unions for accurate API types

The package is available on Nimble.

Documentation is hosted here.

TODO:

Inspired by lastfm-nim.