natlas-kit is a Python & TypeScript SDK and CLI for NCAIR's N-ATLaS language and speech models. Unified backends, reliable structured output, Nigerian-language tasks, speech-to-text and an eval harness, in the language you already use.
Every team re-solves the same four problems before writing a single line of their product. natlas-kit solves them once, for everyone.
You self-host. natlas-kit speaks TGI, vLLM/OpenAI-compatible and a mock backend out of the box.
N-ATLaS uses a dated Llama-3 chat header that's easy to get wrong. natlas-kit builds it for you.
Chat models don't reliably return JSON. extract() parses, repairs, validates and retries.
The speech models are separate repos. One ASRClient ties voice to the rest of the toolkit.
One client for TGI (Hugging Face Inference Endpoints), vLLM / OpenAI-compatible servers, and an offline mock for tests and CI.
Turn free text into validated JSON with a tiny schema. Parsing, repair, type-coercion and retry are handled for you.
Ready helpers for translate, detect-language, classify and summarize across English, Hausa, Igbo, Yoruba and Pidgin.
An ASR client for the N-ATLaS speech models, so voice-first apps go from microphone to structured data in one toolkit.
Measure your integration on the real model, prove it works and catch regressions in CI with natlas eval.
The same API in both ecosystems, so web, React Native and ML teams can all build on N-ATLaS without leaving their stack.
# pip install git+https://github.com/nevodesigns/natlas-kit.git from natlaskit import NatlasClient, extract nat = NatlasClient.from_env() # any N-ATLaS endpoint nat.ask("Translate 'good morning' into Yoruba") # -> "αΊΈ kaaro" extract(nat, "Sold 2 brake pads for 15k to Musa on credit", { "item": {"type": "string", "required": True}, "amount": {"type": "number", "required": True}, "on_credit": {"type": "boolean", "default": False}, }) # -> {"item":"brake pads","amount":15000,"on_credit":true}
// git clone + npm install (not yet on npm) import { NatlasClient, extract } from "natlas-kit"; const nat = NatlasClient.fromEnv(); await nat.ask("Translate 'good morning' into Hausa"); await extract(nat, "Paid 6k for fuel today", { category: { type: "string", required: true }, amount: { type: "number", required: true }, }); // -> { category: "fuel", amount: 6000 }
natlas-kit was built to add Nigerian-language AI to EgoTrack, a ledger for market traders. It has been tested on the live N-ATLaS model in a Nigerian-language voice-to-structured-data workflow and is now open-sourced for every N-ATLaS builder.
$ python examples/egotrack_voice_to_ledger.py Heard (spoken in Pidgin): I sell one alternator for sixty-eight thousand give Emeka Motors, dem pay fifty, remaining go be credit. Ledger entry: { "kind":"income", "item":"alternator", "amount":68000, "amount_paid":50000, "counterparty":"Emeka Motors", "on_credit":true } β Also opens a debt of β¦18,000 for Emeka Motors.
Open source under MIT. Python and TypeScript. One pip install away.
Get it on GitHub β