Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Tiny, no-nonsense, self-contained, Tensorflow and ONNX inference
| Date | Stars |
|---|---|
| 2026-07-24 | 3008 |
| 2026-07-25 | 3009 |
| 2026-07-28 | 3009 |
| 2026-07-30 | 3009 |
| 2026-08-06 | 3009 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
35.0
growth rate 0.00%/day




[](https://github.com/sonos/tract/actions)
[](https://github.com/sonos/tract/actions)
[](https://docs.rs/tract-core)
[](https://pypi.org/project/tract/)
Sonos' neural-network inference engine.
tract loads ONNX and NNEF models, optimises them, and runs them anywhere —
from embedded ARM CPUs to NVIDIA / Apple GPUs, in the browser via
WebAssembly, or on a Linux / macOS / Windows workstation. It is used in
production at Sonos for wake-word and streaming speech-recognition
workloads, and also runs LLM, text-to-image, and classical CV models with
a particular focus on the *translate-once / ship-tiny-runtime* story
enabled by its NNEF-based intermediate format (tract-OPL).
## Quick start
From [`examples/onnx-mobilenet-v2`](examples/onnx-mobilenet-v2):
```rust
use tract::prelude::*;
tract::impl_ndarray_interop!();
let model = tract::onnx()?
.load("mobilenetv2-7.onnx")?
.into_model()?;
// prepare() optimises and compiles the model for the chosen runtime
let runtime = tract::runtime_for_name("default")?;
let runnable = runtime.prepare(model)?;
let result = runnable.run([input.tract()?])?;
```
The [`tract`](https://crates.io/crates/tract) crate (`api/rs/src/lib.rs`) is the authoritative public API. The
internal crates (`tract-core`, `tract-nnef`, `tract-onnx`, ...) are not
stable surface and shouldn't be depended on directly.
For Python, see the [`tract`](https://pypi.org/project/tract/) package on PyPI.
## Examples
[`examples/`](examples/) has runnable demos covering the workloads tract
targets today:
| Example | What |
|---|---|
| [`onnx-mobilenet-v2`](examples/onnx-mobilenet-v2) | Minimal CV starter |
| [`tflite-mobilenet-v3`](examples/tflite-mobilenet-v3) | TFLite import path |
| [`causal_llm`](examples/causal_llm) | Transformer text generation |
| [`nemo-parakeet-asr`](examples/nemo-parakeet-asr) / [`nemo-nemotron-streaming-asr`](examples/nemo-nemotron-streaming-asr) | Speech recognition, including streaming via pulsification |
| [`stable-diffusion`](examples/stable-diffusion) / [`stable-diffusion-3`](examples/stable-diffusion-3) / [`stable-diffusion-xl`](examples/stable-diffusion-xl) | Text-to-image |
| [`face_detection_yolov8onnx_example`](examples/face_detection_yolov8onnx_example) / [`face_similarity_arcface_onnx`](examples/face_similarity_arcface_onnx) | Modern object detection / face recognition |
| [`wasm-model-bench`](examples/wasm-model-bench) | Running tract in the browser |
## Resources
Technical documentation lives under [`doc/`](doc/) (start at [`doc/intro.md`](doc/intro.md));
the [`doc/cli-recipe.md`](doc/cli-recipe.md) page collects practical CLI recipes.
The Sonos engineering [blog](https://tech-blog.sonos.com/posts/optimising-a-neural-network-for-inference/)
has a long-form post on tract internals.
## Python
tract is also available as the [`tract`](https://pypi.org/project/tract/) package on PyPI,
built on top of the same Rust core:
```sh
pip install tract
```
The API mirrors the Rust pipeline: load a model, set input facts, optimise, then run.
Documentation: [sonos.github.io/tract](https://sonos.github.io/tract). Source lives in [`api/py/`](api/py/).
## Runtimes
| Runtime | Name | Crate | Notes |
|---|---|---|---|
| CPU (x86, ARMv6/7/8, ARM SVE) | `"default"` | `tract-linalg` | Default. Hand-rolled SIMD micro-kernels. |
| Apple Metal | `"metal"` | `tract-metalExcerpt of 7,734 characters
Read on GitHub7.4k
841
354
Emrick Sinitambirivoutin · @Sonos-Inc · France
242
227
158
139
51
43
Tom Solberg · @EmbarkStudios · Sweden
39
37
25
heabeounMKTO · Cambodia
24
20
20
19
15
15
15
Benjamin Minixhofer · United Kingdom
10
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:34c4bbe1a0686992, topic:onnx, readme:inference engine
matched fp:34c4bbe1a0686992, topic:tensorflow