tract and rust

Given that Tract is an ONNX inference engine written in Rust and `tensorflow/rust` provides Rust bindings for TensorFlow, they are primarily competitors in the machine learning inference space, with `tensorflow/rust` allowing direct use of TensorFlow models and Tract offering a Rust-native solution for ONNX models, which can originate from TensorFlow among other frameworks.

tract
70
Verified
rust
45
Emerging
Maintenance 25/25
Adoption 10/25
Maturity 16/25
Community 19/25
Maintenance 0/25
Adoption 10/25
Maturity 16/25
Community 19/25
Stars: 2,818
Forks: 250
Downloads:
Commits (30d): 323
Language: Rust
License:
Stars: 5,471
Forks: 435
Downloads:
Commits (30d): 0
Language: Rust
License: Apache-2.0
No Package No Dependents
Stale 6m No Package No Dependents

About tract

sonos/tract

Tiny, no-nonsense, self-contained, Tensorflow and ONNX inference

Implements graph-level optimization passes (constant folding, operator fusion, quantization-aware transformations) and supports symbolic dimensions for dynamic shapes, enabling efficient inference on resource-constrained embedded systems. Built in Rust with zero external dependencies, it provides both a standalone CLI and language bindings (Python, C) for framework integration. Handles ONNX (85%+ operator coverage), TensorFlow 1.x, and NNEF formats with a production-focused subset philosophy that excludes rarely-used features like tensor sequences in favor of maintainability and performance.

About rust

tensorflow/rust

Rust language bindings for TensorFlow

Wraps TensorFlow's C API with automatic binary download for x86-64 Linux/Mac or on-demand compilation via Bazel, supporting both CPU and GPU backends through optional feature flags. Provides idiomatic Rust abstractions over TensorFlow's graph execution model, with interoperability for loading Python-trained models and an unstable `expr` module for experimental tensor operations.

Scores updated daily from GitHub, PyPI, and npm data. How scores work