baseRT

Library New

Safe Rust bindings for the BaseRT LLM inference engine (Apple Silicon)

Downloads
49
Dependents
2
Stars
247
Forks
21
Contributors
2
Commits
78
Latest release
0.4.6 ·

About

From the project README ·

Fastest LLM inference on Apple Silicon — now on NVIDIA GB10 (DGX Spark), too.

Pull a model from HuggingFace, chat with it, or serve an OpenAI-compatible API — all from one CLI.


BaseRT runs large language models locally on Apple Silicon (Metal) and NVIDIA GB10 / DGX Spark (CUDA), accelerated by hand-written GPU kernels. This repository is the open ecosystem around the engine: the basert CLI (model hub + converter), the .base model format, the public C API, and language bindings for Python, Node, Rust, and Swift.

  • One CLI for everything — basert pull, chat, serve, convert.
  • OpenAI-compatible server — chat, completions, embeddings, transcription, tool calls, continuous batching, paged-KV, and prefix caching.
  • Multimodal — text, vision, and audio on supported models.
  • Its own .base format — affine quantization (Q2–Q8), optional AWQ calibration, and signed bundles.
  • Bindings everywhere — Python, Node, Rust, and Swift over a stable C API.
  • A drop-in coding-agent backend — see below.

Documentation: docs.basecompute.co (source in docs/).

Requirements

One of:

  • Apple Silicon (M1 or later), macOS 14+.
  • NVIDIA GB10 (DGX Spark), Linux / arm64 with a CUDA driver.
Read the full README

Quickstart

1. Install
curl -LsSf https://basecompute.co/install.sh | sh

This installs the prebuilt engine for your platform and the basert CLI to ~/.basert and adds it to your PATH. Restart your shell afterward (or export PATH="$HOME/.basert:$PATH"). See Installation for building from source.

2. Pull a model
basert pull Qwen/Qwen3-4B    # download from HuggingFace + convert to .base
basert list                  # show installed models

Models are cached under ~/.cache/baseRT/models (override with $BASERT_MODELS_DIR). To pick a specific quant build, append :default-q8 to the id (or pass --variant default-q8).

3. Chat
basert chat Qwen/Qwen3-4B
4. Serve an OpenAI-compatible API
basert serve Qwen/Qwen3-4B --api-key "$(uuidgen)" --port 8080
curl http://127.0.0.1:8080/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json" \
  -d '{"model":"Qwen/Qwen3-4B","messages":[{"role":"user","content":"Hello!"}]}'
5. Or call it from your language
import baseRT

model = baseRT.Model("models/your-model.base")
print(model.generate_text("The capital of France is", max_tokens=64))

Node, Rust, and Swift bindings work the same way — see Bindings.

Use it as a coding agent

BaseRT runs as a local backend for the pi coding agent through the pi-basert extension, which auto-discovers whatever models your server is running.

# 1. Serve a model (a dense model is best for tool calling)
basert serve basecompute/gemma-4-E2B-it

# 2. Install the extension and launch pi
pi install git:github.com/basecompute/pi-basert
pi

Inside pi, run /model to pick a served model. See the pi-basert README for details.

The basert CLI

basert is a single front-end. Model-management commands run natively; runtime commands are forwarded to the matching basert-<cmd> engine binary.

CommandWhat it does
basert pull <id>Download from HuggingFace (convert-on-pull) or the catalog
basert listList installed models (--remote to include the catalog)
basert convert <src>Convert a local GGUF / HF / MLX checkpoint to .base
basert chat <model>Interactive chat
basert serve <model>OpenAI-compatible HTTP server (--model repeats for multi-model)
basert complete <model>One-shot completion (text / image / audio)
basert bench <model>Throughput benchmark
basert inspect <model>Dump a .base header + tensor inventory
basert sign / verify / keygened25519 signing of .base bundles

Full flag reference: CLI reference.

What's in this repo

PathContents
base-convert/The basert CLI (Rust): model hub, converter, launcher — plus the .base format and quantization specs and the generic quant profiles.
include/baseRT/The stable public C API (baseRT.h, types.h).
bindings/Python, Node, Rust, and Swift.
benchmarks/Scripts and reference results.
docs/The documentation site.

This repository — the CLI, .base format, public headers, and bindings — is licensed under Apache-2.0. The engine ships as a separate prebuilt binary under its own license; see Engine releases.

Links

License

Apache-2.0 — see LICENSE and NOTICE. The prebuilt engine binary distributed via Releases is proprietary and ships under its own license.

Runs on
GPU support unknown
What shows it
  • no dependency or feature matches a backend row
Native code
Required
  • Binds native code: baseRT, baseRT-sys
Python bindings
No Python binding crate found
License
Apache-2.0

Compare with similar projects

Order: strongest tier first, then most downloads, then name, with unmeasured values last. A library counts downloads over 30 days. An app counts binary downloads per release. An app with none counts its crate downloads over 30 days. ML Rust runs this catalogue, so its closest project always gets a row.

baseRT beside the projects that share a topic with it
ProjectDownloadsDependentsStarsLatest releaseRuns on (GPU)Native codeLicense
baseRT This page New

Safe Rust bindings for the BaseRT LLM inference engine (Apple Silicon)

49 downloads over 30 days 2 247 0.4.6 GPU support unknown Binds native code: baseRT, baseRT-sys Apache-2.0
ort Featured

A safe Rust wrapper for ONNX Runtime 1.31 - Optimize and accelerate machine learning inference & training

Also in Run and serve models.

3,902,768 downloads over 30 days 694 2,611 2.0.0-rc.15 CUDA, WebGPU, ROCm Binds native code: onnxruntime, ort-sys. Build uses a native toolchain: pkg-config (feature pkg-config) Apache-2.0 OR MIT
llama-gguf Listed

A high-performance Rust implementation of llama.cpp - LLM inference engine with full GGUF support

Also in Build LLM apps and agents.

1,787 downloads over 30 days 3 21 0.14.0 CUDA, Metal, Vulkan Binds native code: hailort-sys (feature hailo), libsqlite3-sys (feature rag-sqlite) Apache-2.0 OR MIT
higgs App Listed

A rust mlx server, ui, and model router for fast, dependency free inference on apple architecture

Also in Build LLM apps and agents.

23 binary downloads per release Not applicable 34 Not measured Not measured MIT
pmetal Listed

High-performance LLM fine-tuning framework for Apple Silicon

Python bindings

Also in Run and serve models.

13 downloads over 30 days 0 332 0.7.0 Metal Binds native code: pmetal_bridge, pmetal_runtime, mach-sys, pmetal-mlx-sys. Build uses a native toolchain: cc, cmake Apache-2.0 OR MIT
blazr App Listed

Inference server for LLMs, speech and embeddings: OpenAI-compatible routes with streaming, plus speech synthesis (TTS) and transcription (ASR). Serves Llama, Mistral, Qwen, Mamba2, MLA+MoE and hybrid models from SafeTensors, AWQ, GPTQ and GGUF.

Also in Build LLM apps and agents.

8 binary downloads per release Not applicable 7 0.7.1 CUDA, WebGPU Binds native code: ring (feature distributed) Apache-2.0
oxibonsai Listed

Pure Rust 1-bit LLM inference engine for PrismML Bonsai models — umbrella crate

Also in Build LLM apps and agents.

1 downloads over 30 days 0 137 0.2.3 CUDA, Metal No native code found Apache-2.0
Why NewIts first release on 8 Oct 2026 is under 180 days old.

The check tests the Featured gates once the first release passes this age limit.

What else the check found

  • The last activity is on 6 Nov 2026, 3 days ago. The rules expect an update within 365 days. Dormancy rule

Check notes

  • the repo manifest bindings/rust/baseRT/Cargo.toml declares the crate, and no release commit proves the link

Exact rules: New. The check on applied thresholds version 9.

Every rule outcome, as the check records it
  • expected-interval: version 0.4.6 base 450, capped at 5 releases = 250, raised to the 365-day floor: E = 365 days
  • dormancy: last activity 2026-11-06, 3 days ago, E = 365: active
  • new: new: first release 2026-10-08 is under 180 days old
Crates10 crates

Measurements and sources

Each signal row shows the raw value, its source and the fetch date. The Sources list gathers every distinct source on this page. Movement needs more history.

Sources6 sources
Adoption0 active dependents, 0 new dependents in 365 days1 not measured
Adoption measurements
SignalValueSourceFetchedCounts
Active dependents0crates.io database dumpYes
New dependents (365 days)0crates.io database dumpYes
Peak active dependents0crates.io database dumpYes
Active dependents as a share of the peak1crates.io database dumpYes
Binary downloads per releaseNot measuredYes
MaintenanceLatest human commit: 3 days ago3 not measured
Maintenance measurements
SignalValueSourceFetchedCounts
Latest human commit2026-11-06GitHub repositoryYes
Latest release2026-11-06crates.io database dumpYes
First release2026-10-08crates.io database dumpYes
Latest version0.4.6crates.io database dumpYes
Days the oldest outside issue waits for a reply129GitHub repositoryYes
Maintainer replies over 365 days0GitHub repositoryYes
Repository archivedfalseGitHub repositoryYes
Repository gonefalseGitHub repositoryYes
Release commit or manifest in the repotruerepo manifestYes
Published docstruecrates.io database dumpYes
Latest release fails cargo checkNot measuredYes
Build check dateNot measuredYes
Build check toolchainNot measuredYes
SecurityUnpatched vulnerabilities: none
Security measurements
SignalValueSourceFetchedCounts
Unpatched vulnerabilities past the grace windownoneRustSec advisory databaseYes
RustSec unmaintained advisorynoneRustSec advisory databaseYes
Deprecation noticenonecrates.io database dumpYes
Deprecated requirementnonecrates.io database dumpYes
Distribution5 releases, 49 downloads over 30 days5 not measured
Distribution measurements
SignalValueSourceFetchedCounts
Releases5crates.io database dumpYes
Downloads over 30 days49crates.io database dumpYes
Binary downloads over the last 3 releasesNot measuredYes
Homebrew installs on request over 365 daysNot measuredYes
Repology repository familiesNot measuredYes
Docker pull growth over 90 daysNot measuredYes
Docker pulls at the growth baselineNot measuredYes
Every version a prereleasefalsecrates.io database dumpYes
Every version 0.0.xfalsecrates.io database dumpYes
Every version yankedfalsecrates.io database dumpYes
Crate deleted from crates.iofalsecrates.io database dumpYes
Repository247 stars, 21 forks, 2 contributors, 78 commits. Stars alone never qualify a project.
Repository measurements
SignalValueSourceFetchedCounts
GitHub stars247GitHub repositoryYes — one part of the repository route
GitHub forks21GitHub repositoryYes — one part of the repository route
Contributors with a GitHub account2GitHub contributorsYes — one part of the repository route
Commits on the default branch78GitHub repositoryNo
Repository's main crate left out of the entrynonecrates.io database dumpYes
Facts that never count
Facts that never count measurements
SignalValueSourceFetchedCounts
LicenseApache-2.0crates.io database dumpNo
Runs on, from listed crates and their direct dependenciesGPU support unknowncrates.io database dumpNo
What shows each backendno dependency or feature matches a backend rowcrates.io database dumpNo
Native code, from listed crates and their dependenciesBinds native code: baseRT, baseRT-syscrates.io database dumpNo
Python bindings, from direct dependencies of listed cratesNo Python binding crate foundcrates.io database dumpNo
Crates that depend on a listed crate directly2crates.io database dumpNo

Corrections and review history

Report a correction

No correction applies to this entry.

Judgments

A judgment enters only through an approved issue and a merged pull request.

No judgment applies to this entry.