Hi everyone,
I recently published nimsodium, a Nim wrapper for libsodium focused on safe, high-level APIs.
Repository: https://github.com/puffball1567/nimsodium
Latest pre-release: https://github.com/puffball1567/nimsodium/releases/tag/v0.2.1
The goal of this project is not only to expose libsodium bindings, but to provide practical, workflow-oriented APIs that are easier to use safely from Nim.
Currently supported areas include:
The current version is v0.2.1, so I am still treating it as a pre-release. Recent work focused on hardening the high-level secret key types so they are backed by libsodium secure memory rather than ordinary Nim strings. The library still exposes some explicit export helpers when needed, but the default high-level workflows are intended to avoid unnecessary raw key handling.
I would especially appreciate feedback on:
I am being intentionally conservative with the version number, so this is not meant to be presented as a finished v1.0 library yet. My goal is to make it useful enough that Nim users can comfortably choose it when they need libsodium, while still leaving room to adjust the API based on feedback.
Reviews, bug reports, security-focused comments, and suggestions are very welcome.