Releases & artifacts
Every tag publishes per-model binary artifacts to HuggingFace. Non-Zig consumers integrate against the artifacts; Zig consumers integrate against the source.
Where artifacts live
Every Tomoul Engine release publishes to huggingface.co/tomoul under per-model repos:
huggingface.co/tomoul/bge-m3
huggingface.co/tomoul/inkubalm-0.4b
huggingface.co/tomoul/phi-4
huggingface.co/tomoul/whisper-large-v3
Each repo carries weights (.tl, .safetensors) plus the engine binaries
for that model.
Artifact formats
| Artifact | Use case |
|---|---|
.wasm | Browser / wasm runtimes. |
.a / .o | Static-link into a native binary. |
.so / .dylib / .dll | Dynamic-link from any language with FFI. |
.h | C header for the dynamic-link path. |
.tl | Tomoul tensor-pack format (quantized weights). |
Pinning a release
Use a tagged release (v0.5.0) for predictability. We don't backport
patches to old minor versions pre-1.0 — upgrade forward.
Cross-language consumption
The supported way for non-Zig languages to call the engine in-process is via the C ABI:
#include "tomoul.h"
tomoul_model_t* m = tomoul_load_bge_m3("/path/to/weights.tl");
float* vec;
size_t dim;
tomoul_embed(m, "Habari za asubuhi.", &vec, &dim);
tomoul_free(vec);
tomoul_close(m);
If you'd rather use the cloud, just call https://api.tomoul.ai/v1 with
the OpenAI SDK for your language — that's the path for 95% of users. The
C ABI is for embedding the engine into mobile apps, browser extensions,
GUI tools, and similar.