rusto-rs

Library New

RustO! - Pure Rust OCR library based on RapidOCR with PaddleOCR engine

Checked ยท Sources

Downloads
1,618
Dependents
1
Stars
127
Forks
16
Contributors
4
Commits
300
Latest release
0.3.2 ยท

About

From the project README ยท

High-Performance, Pure Rust OCR Engine & Multi-Platform Toolkit

RustO! is a pure-Rust Optical Character Recognition (OCR) engine and multi-platform toolkit. Powered by DataLab Indra OCR and PaddleOCR models running on RustO's pure-Rust MNN neural inference runtime (rusto-nn) with pluggable RTen and ONNX support, RustO! delivers fast, memory-safe text extraction and document layout understanding with zero C++ or OpenCV dependencies.


Read the full README

๐ŸŽฏ Key Features

  • Pure Rust MNN Engine (rusto-nn) โ€” Zero C++ or OpenCV runtime dependencies. SIMD vectorization (AVX-512, AVX2, NEON, WASM SIMD128) with pluggable RTen, ONNX, and hardware backends (WebGPU, CUDA). Build directly with cargo build.
  • Flagship Indra OCR + PP-OCRv6 โ€” DataLab Indra OCR (~5.4 MB, 45.97% OmniDocBench accuracy) by default alongside PP-OCRv6 (50+ languages unified), PP-OCRv5, and PP-OCRv4 (FP32 & INT8).
  • End-to-End Document Pipeline โ€” Built-in 3D UVDoc unwarping, orientation detection, PicoDet layout region classification (regionId / layoutType), and neural graph reading order (indra_order.rten).
  • Unified Fluent Builder API โ€” Consistent .withAutoUnwarp(), .withLayoutReading(), .asLines() / .asWords() / .asSpatial() / .asTsv(), and single .run() terminal execution across every SDK.
  • 12 Cross-Platform SDKs + CLI โ€” First-class libraries for Rust, Node.js, Python, Go, Java, .NET, Dart, Flutter, Web (WASM), React, React Native, iOS, Android, and C FFI, plus the rusto CLI.

๐Ÿ“ฆ Packages

PlatformPackageDescription
Rustcargo add rusto-rsPure Rust library and CLI
Node.js (N-API)@rustors/nodeNative Node.js N-API addon
Pythonpip install rustoUniFFI Python library & wheel
Golangpackages/goCgo Go module with embedded rpath
Java (JVM)rusto-java (com.github.byrizki.rusto-rs:rusto-java)Java & Kotlin JNA library via JitPack
DartrustoPure Dart FFI library
Flutterrusto_flutterFlutter plugin with Android & iOS bridges
Web (WASM)@rustors/webBrowser-native WASM engine
React@rustors/reactReact hooks and components
React Native@rustors/react-nativeiOS and Android native bridge
iOSPackage.swift / pod 'RustO'Swift Package Manager & CocoaPods
Androidrusto-androidKotlin library & AAR
.NET / C#RustODotnetManaged .NET library
C / Nativelibrusto.so / .dylib / .dllC FFI shared libraries

โš ๏ธ Notable Breaking Changes in v0.4.0

Upgrading from v0.3.x to v0.4.0 introduces a unified fluent builder API, 6-phase pipeline options, pipelined document layout/unwarping, and Indra OCR as the default flagship engine:

Aspectv0.3.xv0.4.0 (Current)
Default ModelPP-OCRv6 Tiny (~6 MB)DataLab Indra OCR (~5.4 MB, 45.98% OmniDoc accuracy)
Model AssetsBundled / platform model packagesDecoupled standalone models on Hugging Face Hub with zero-config auto-download
API ParadigmMonolithic detectText(source, options)Unified fluent builder chaining ending in .run() / .Run()
Output GranularitySeparate *Spatial methods.asLines() / .asWords() / .asSpatial() (as_* / As*)
Layout & UnwarpDisjoint separate engine methodsPipelined directly via .withLayoutReading(), .withAutoUnwarp()
Run OptionsAd-hoc nested options object6-Phase structured pipeline + 4 boolean toggles
CLI Binaryrusto-rsrusto (rusto <IMAGE>, rusto ocr, rusto download)

๐Ÿ‘‰ Read the Complete v0.3 โ†’ v0.4 Migration Guide for code comparisons, API changes, and step-by-step instructions.


๐Ÿš€ Quick Start by Language

1. Rust
use rusto::{DetectTextBuilderExt, ImageSource, InitializeConfig, RustO};

let mut ocr = RustO::initialize(InitializeConfig::default())?;
let result = ocr
    .detect_text_builder(ImageSource::Path("document.jpg".into()))
    .with_auto_unwarp(true)
    .with_layout_reading(true)
    .as_lines()
    .run()?;
println!("{result:?}");

2. .NET / C#
using RustODotnet;

using var ocr = RustO.Initialize();
var result = ocr.DetectText("invoice.jpg")
    .WithAutoUnwarp()
    .WithLayoutReading()
    .AsLines()
    .Run();

if (result is StructuredDetectTextResult structured) {
    foreach (var item in structured.Items) {
        Console.WriteLine($"{item.Text} ({item.Score:F2})");
    }
}

3. Web (WASM / Browser)
npm install @rustors/web
import { initialize, detectText } from '@rustors/web';

await initialize({
  preset: 'indra',
  models: {
    detection: '/models/indraocr/det.rten',
    recognition: '/models/indraocr/rec.rten',
    dictionary: '/models/indraocr/dict.txt',
  },
});

const results = await detectText(document.querySelector('img')!)
  .withAutoUnwarp()
  .withLayoutReading()
  .asLines()
  .run();

results.forEach((r) => console.log(`${r.text} (${r.score})`));

4. React
npm install @rustors/react @rustors/web
import { RustoProvider, useOcr } from '@rustors/react';

const models = {
  detection: '/models/indraocr/det.rten',
  recognition: '/models/indraocr/rec.rten',
  dictionary: '/models/indraocr/dict.txt',
};

function OcrScanner() {
  const { detect, results, isProcessing } = useOcr();

  return (
    <div>
      <input
        type="file"
        onChange={(e) =>
          e.target.files?.[0] &&
          detect(e.target.files[0], { autoUnwarp: true, layoutReading: true })
        }
      />
      {isProcessing && <p>Scanning...</p>}
      {results.map((r, i) => (
        <p key={i}>
          {r.text} ({r.score.toFixed(2)})
        </p>
      ))}
    </div>
  );
}

export function App() {
  return (
    <RustoProvider config={{ preset: 'indra', models }}>
      <OcrScanner />
    </RustoProvider>
  );
}

5. React Native
npm install @rustors/react-native
import { initialize, detectText } from '@rustors/react-native';

await initialize();
const results = await detectText({ uri: 'file:///path/to/image.jpg' })
  .withAutoUnwarp()
  .withLayoutReading()
  .asLines()
  .run();

results.forEach((r) => console.log(`${r.text} (${r.score})`));

6. iOS (Swift)
let ocr = try RustO.initialize()
let result = try ocr.detectText(image: "receipt.jpg")
    .withAutoUnwarp()
    .withLayoutReading()
    .asLines()
    .run()

if case .structured(let items) = result {
    items.forEach { print("\($0.text) (\($0.score))") }
}

7. Android (Kotlin)
RustO.initialize(context).use { ocr ->
    val result = ocr.detectText("/path/to/image.jpg")
        .withAutoUnwarp()
        .withLayoutReading()
        .asLines()
        .run()

    if (result is DetectTextResult.Structured) {
        result.items.forEach { println("${it.text} (${it.score})") }
    }
}

8. Node.js (N-API)
npm install @rustors/node
const { RustO } = require('@rustors/node');

const engine = RustO.initialize();
const results = engine
  .detectText('invoice.png')
  .withAutoUnwarp()
  .withLayoutReading()
  .asLines()
  .run();

results.forEach((r) => console.log(`${r.text} (${(r.score * 100).toFixed(1)}%)`));
engine.close();

9. Python (UniFFI)
pip install rusto
from rusto import RustO

with RustO.initialize() as engine:
    result = (
        engine.detect_text("invoice.png")
        .with_auto_unwarp()
        .with_layout_reading()
        .as_lines()
        .run()
    )

    if result.is_STRUCTURED():
        for item in result.results:
            print(f"{item.text} ({item.score:.2f})")

10. Golang (Cgo)
go get github.com/byrizki/rusto-rs/packages/go
package main

import (
    "fmt"
    "github.com/byrizki/rusto-rs/packages/go"
)

func main() {
    engine, err := rusto.Initialize()
    if err != nil { panic(err) }
    defer engine.Close()

    res, err := engine.DetectText("invoice.png").
        WithAutoUnwarp(true).
        WithLayoutReading(true).
        AsLines().
        Run()
    if err != nil { panic(err) }

    for _, r := range res.Results {
        fmt.Printf("[%0.2f] %s\n", r.Score, r.Text)
    }
}

11. Java (JVM / JNA)
import com.byrizki.rusto.RustO;
import com.byrizki.rusto.TextResult;

public class App {
    public static void main(String[] args) {
        try (RustO engine = RustO.initialize()) {
            RustO.DetectTextResult res = engine.detectText("invoice.png")
                .withAutoUnwarp()
                .withLayoutReading()
                .asLines()
                .run();
            for (TextResult r : res.results()) {
                System.out.printf("[%0.2f] %s%n", r.score(), r.text());
            }
        }
    }
}

12. Dart & Flutter
import 'package:rusto/rusto.dart';

final engine = RustO.initialize();
final result = engine
    .detectText('invoice.png')
    .withAutoUnwarp()
    .withLayoutReading()
    .asLines()
    .run();

if (result is DetectTextResultStructured) {
  for (final line in result.results) {
    print('${line.text} (${line.score})');
  }
}
engine.close();

13. Command Line Interface (CLI)
# Zero-config OCR (auto-downloads Indra OCR models on first run)
rusto image.jpg

# Multi-column layout reading order & 2D spatial text reconstruction
rusto --enable-unwarp --enable-layout --format spatial image.jpg

# Pre-download standalone RTen models for offline environments
rusto download --model indraocr

๐Ÿง  Supported OCR Models & Tiers

RustO! supports DataLab Indra OCR as its default flagship engine alongside PP-OCRv6 (recognizing 50+ languages simultaneously) and legacy v5/v4 models:

Model / TierStandard (FP32)Quantized (INT8)Best For
Indra OCR (Default)~5.5 MBโ€”Flagship default: 2.5x faster (439 ms OmniDocBench), superior Latin/ID
PP-OCRv6 Tiny~6.0 MB~3.4 MBLightweight edge, WASM, and IoT
PP-OCRv6 Small~30 MB~16.2 MBBalanced accuracy for mobile & desktop
PP-OCRv6 Medium~134 MB~75.7 MBServer-grade accuracy workloads
PP-OCRv5 / v4~23โ€“28 MB (Mobile)โ€”Legacy pipelines & single-language packs

Pre-trained models are distributed as standalone assets on Hugging Face Hub (byrizki/rusto-models) with native CORS support and downloaded automatically on first run by the CLI and native SDKs.

๐Ÿ‘‰ View Complete Multilingual OCR Guide & Model Matrix


โš™๏ธ Configuration & Runtime Options

RustO separates static initialization from per-request execution:

  1. InitializeConfig โ€” Configures model sessions, vocabulary dictionary, and hardware threads.
  2. DetectTextBuilder / OcrRunOptions โ€” Configures per-image options via fluent chaining: 4 toggles (autoUnwarp, layoutReading, orientationDetection, lineClassification) and 6 phases (preDetection, detection, postDetection, preRecognition, recognition, postRecognition).
use rusto::{DetectTextBuilderExt, ImageSource, InitializeConfig, RustO};

// 1. Initialize engine once (or RustO::initialize(InitializeConfig::default())? for auto-download)
let mut ocr = RustO::initialize(InitializeConfig::indra(
    "models/det.rten",
    "models/rec.rten",
    "models/dict.txt",
))?;

// 2. Configure per request via fluent builder chaining
let result = ocr
    .detect_text_builder(ImageSource::Path("document.jpg".into()))
    .with_auto_unwarp(true)
    .with_layout_reading(true)
    .as_spatial()
    .run()?;

๐Ÿ‘‰ Read the Full API Reference & Option Specifications


๐Ÿ“– Documentation & Advanced Guides

Explore deep-dive guides and comprehensive references on the RustO! Documentation Site:

TopicDescriptionLink
Models & Tiers ArchitectureModel formats (.rten, .onnx), INT8 quantization, and pluggable InferenceSession enginesRead Guide
Multilingual OCR50+ languages support, scripts matrix, and dedicated PP-OCRv5/v4 language packagesRead Guide
Spatial Layout Reconstruction2D XY spatial layout reconstruction for invoices, receipts, and multi-column tablesRead Guide
Image Preprocessing & TuningDBNet binarization thresholds, polygon unclipping, morphological dilation, and dimension limitsRead Guide
Multi-Column, Unwarp & OrientationMulti-column layout, neural reading order, 3D UVDoc unwarping, and orientationRead Guide
Decoded RGB InputZero-copy direct OCR from uncompressed interleaved RGB8 pixel buffersRead Guide
Performance & BenchmarksLatency, memory footprint, and parity benchmarks across x86-64, ARM64, and mobileRead Guide
Troubleshooting GuideResolving model paths, Android JNI linking, React Native pods, and high-resolution camera OOMRead Guide
v0.3 โ†’ v0.4 Migration GuideUpgrading to fluent builder API, 6-phase pipeline, Indra OCR default, and decoupled .rten modelsRead Guide
API ReferenceSpecifications for InitializeConfig, OcrRunOptions, and TextResult across all platformsAPI Reference

โšก Performance & Benchmarks

Empirically evaluated against official PaddleOCR and RapidOCR (C++ ONNX Runtime) using the standard OmniDocBench dataset and high-resolution document scans (1600ร—993 px, 27 text lines).

Benchmark Hardware: 11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz (4 cores / 8 threads), 32 GB RAM, Linux x86_64.

Capability / MetricRustO! (Pure Rust Core)OpenCV / C++ Stacks (RapidOCR / PaddleOCR)Benchmark Reference
CLI Binary Size (Self-Contained)โœ… 4.5 MB (rusto) / 8.3 MB (rusto-rten)โŒ ~55 MB+ (libopencv + onnxruntime)Production Linux x86-64 release
C FFI Shared Library (librusto.so)โœ… 304 KBโŒ ~15โ€“30 MBStripped release .so
Android Native Size (Per-ABI)โœ… ~1.8 MBโŒ ~20 MB+ (libopencv.so + ONNX)Android release AAR
WebAssembly (WASM) Bundleโœ… 238 KB (gzipped rusto-nn WASM)โŒ 3.78 MB (gzipped ONNX Runtime WASM)Web client bundle size
Zero External C++ Dependenciesโœ… Pure Rust (cargo build)โŒ Requires CMake, OpenCV & NDKToolchain build dependencies
Peak Memory (OmniDocBench)โœ… 178.0 MB - 253.1 MBโŒ 392.5 MB (RapidOCR) / 659.3 MB (PaddleOCR)OmniDocBench full dataset peak RSS
Document Pipeline (1600ร—993 px)โšก 678.08 ms (Det: 312 ms, Rec: 169 ms, 27 lines)โšก 447.83 ms (C++ ONNX Runtime)Base pipeline end-to-end benchmark
OmniDocBench Mean Latencyโšก 976.0 ms (Tiny) / 1,054.7 ms (Indra)โšก 605.3 ms (PaddleOCR) / 1,011.5 ms (RapidOCR)OmniDocBench full evaluation
Transcription Parity (High-Res Scan)๐ŸŽฏ 100% token identical across all 27 lines๐ŸŽฏ Baseline referenceCharacter-for-character comparison
OmniDocBench Baseline Accuracy (1 - NED)๐ŸŽฏ 45.41% (Tiny) / 45.97% (Indra)๐ŸŽฏ 45.33% (PaddleOCR Tiny) / 44.84% (RapidOCR)Standard 1D reading order
Full Pipeline Accuracy (Reading Order)๐ŸŽฏ 63.75% (RustO Indra Full)๐ŸŽฏ 63.76% (Indra Official) / 57.18% (Paddle Structure)Graph neural reading order
Memory & Thread Safetyโœ… Guaranteed by Rust borrow checkerโŒ Manual pointers & thread locksData-race free concurrency

๐Ÿ“ Repository Structure

rusto-rs/
โ”œโ”€โ”€ crates/
โ”‚   โ”œโ”€โ”€ rusto-nn/               # Pure-Rust neural inference runtime & hardware backends
โ”‚   โ”œโ”€โ”€ rusto-core/             # Core OCR pipeline (DBNet, CTC, UVDoc unwarp, PicoDet layout, reading order)
โ”‚   โ”œโ”€โ”€ rusto-rten/             # RTen (.rten) session backend
โ”‚   โ”œโ”€โ”€ rusto-mnn/              # Optional MNN C++ session backend
โ”‚   โ”œโ”€โ”€ rusto-node/             # Native Node.js N-API addon crate
โ”‚   โ””โ”€โ”€ rusto-wasm/             # Browser WebAssembly OCR & layout runtime
โ”œโ”€โ”€ src/                        # Workspace root crate, UniFFI/C FFI bridges & `rusto` CLI
โ”œโ”€โ”€ include/                    # Canonical C header (`rusto.h`)
โ”œโ”€โ”€ packages/
โ”‚   โ”œโ”€โ”€ node/                   # @rustors/node (Node.js N-API SDK)
โ”‚   โ”œโ”€โ”€ python/                 # rusto (Python UniFFI SDK)
โ”‚   โ”œโ”€โ”€ go/                     # Go Cgo module
โ”‚   โ”œโ”€โ”€ java/                   # rusto-java (JVM JNA SDK)
โ”‚   โ”œโ”€โ”€ dotnet/                 # RustODotnet (.NET / C# SDK)
โ”‚   โ”œโ”€โ”€ dart/                   # rusto (Pure Dart FFI SDK)
โ”‚   โ”œโ”€โ”€ flutter/                # rusto_flutter (Flutter plugin)
โ”‚   โ”œโ”€โ”€ web/                    # @rustors/web (Browser WASM SDK)
โ”‚   โ”œโ”€โ”€ react/                  # @rustors/react (React hooks & components)
โ”‚   โ”œโ”€โ”€ react-native/           # @rustors/react-native (iOS & Android bridge)
โ”‚   โ”œโ”€โ”€ android/                # rusto-android (Kotlin Android AAR)
โ”‚   โ””โ”€โ”€ ios/                    # RustO (Swift Package Manager & CocoaPods)
โ”œโ”€โ”€ docs/                       # Bilingual documentation site & live WASM demo (EN / ID)
โ”œโ”€โ”€ scripts/                    # Version bump, UniFFI codegen & package verification scripts
โ””โ”€โ”€ .github/workflows/          # CI, cross-platform artifact build & automated registry publishing

๐Ÿ› ๏ธ Development & Testing

# Run core library unit tests across the workspace
cargo test --workspace --lib

# Build the `rusto` CLI in release mode
cargo build --release --bin rusto

# Run linter & formatter
cargo clippy --workspace
cargo fmt --check

๐Ÿ›ก๏ธ Security & Snyk Partnership

RustO! is a community-driven open source project protected and monitored with the support of the Snyk Open Source Program. Snyk provides automated developer security tooling to detect, track, and remediate vulnerabilities across our Rust engine, dependencies, container environments, and multi-platform packages.

  • Vulnerability Status:
  • Reporting Vulnerabilities: If you discover a security issue or vulnerability, please refer to our Security Policy for responsible disclosure steps.
  • Co-branding Grant: We hereby grant Snyk permission and a non-exclusive license to use, reproduce, and display the RustO! project logo and related project content on Snyk's website and marketing materials in accordance with the Snyk Open Source Program.

๐Ÿ“„ License

This project is licensed under the MIT License.


๐Ÿ™ Acknowledgments

RustO! is inspired by and builds upon the work of:

  • DataLab โ€” Creators of Indra OCR models and the OmniDocBench evaluation dataset
  • RapidOCR โ€” Architecture and OCR pipeline reference
  • PaddleOCR โ€” Pretrained OCR models (PP-OCRv6, PP-OCRv5, PP-OCRv4)
  • Alibaba MNN โ€” Pioneered efficient mobile deep learning formats, executed natively in pure Rust via rusto-nn
  • RTen โ€” Pure Rust deep learning inference engine supported in RustO!
  • Snyk โ€” Developer security and vulnerability monitoring through the Snyk Open Source Program
  • Rust Community โ€” image, imageproc, nalgebra, and rayon crates

๐Ÿ“ Citation

If you use RustO! in your research or commercial application, please consider citing:

@software{rusto2024,
  title = {RustO! - High-Performance Pure Rust OCR Library},
  author = {Rizki & Contributors},
  year = {2024},
  url = {https://github.com/byrizki/rusto-rs},
  note = {Based on RapidOCR and powered by PaddleOCR models with pure Rust MNN (rusto-nn) inference}
}
Runs on
CUDA, Metal, Vulkan
What shows it
  • CUDA: rusto-rs feature cuda, rusto-mnn feature cuda, rusto-mnn-sys feature cuda
  • Metal: rusto-rs feature metal, rusto-mnn feature metal, rusto-mnn-sys feature metal
  • Vulkan: rusto-rs feature vulkan, rusto-mnn feature vulkan, rusto-mnn-sys feature vulkan
Native code
Required
  • Binds native code: rusto-mnn-sys
  • Build uses a native toolchain: bindgen, cc, cmake
Python bindings
No Python binding crate found
License
MIT

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.

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

RustO! - Pure Rust OCR library based on RapidOCR with PaddleOCR engine

1,618 downloads over 30 days 1 127 0.3.2 CUDA, Metal, Vulkan Binds native code: rusto-mnn-sys. Build uses a native toolchain: bindgen, cc, cmake MIT
ocrs Featured

OCR engine

196,739 downloads over 30 days 20 1,915 0.13.1 GPU support unknown No native code found Apache-2.0 OR MIT
oar-ocr Listed

An Optical Character Recognition (OCR) and Document Layout Analysis library written in Rust.

34,387 downloads over 30 days 9 204 0.10.2 CUDA, WebGPU, Metal Binds native code: ort-sys Apache-2.0
tesseract-rs Listed Dormant

Higher-level bindings for Tesseract OCR

24,101 downloads over 30 days 12 176 0.15.2 GPU support unknown Binds native code: tesseract-sys, leptonica-sys MIT

A lightweight and efficient OCR library based on PaddleOCR models, using the MNN inference framework for high-performance text detection and recognition

2,742 downloads over 30 days 5 346 2.4.1 CUDA, Metal, Vulkan Build uses a native toolchain: bindgen, cc, cmake Apache-2.0

Pure-Rust, CPU-hyper-optimized runner for the Baidu Unlimited-OCR model (single-binary CLI: focr)

40 downloads over 30 days 0 346 0.9.0 GPU support unknown No native code found Not measured
Why NewIts first release on 12 Aug 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 7 Nov 2026, 2 days ago. The rules expect an update within 365 days. Dormancy rule

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

Every rule outcome, as the check records it
  • expected-interval: version 0.3.2 base 300, raised to the 365-day floor: E = 365 days
  • dormancy: last activity 2026-11-07, 2 days ago, E = 365: active
  • new: new: first release 2026-08-12 is under 180 days old
Crates3 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
Adoption1 active dependents, 1 new dependents in 365 days1 not measured
Adoption measurements
SignalValueSourceFetchedCounts
Active dependents1crates.io database dumpYes
New dependents (365 days)1crates.io database dumpYes
Peak active dependents1crates.io database dumpYes
Active dependents as a share of the peak1crates.io database dumpYes
Binary downloads per releaseNot measuredYes
MaintenanceLatest human commit: 2 days ago3 not measured
Maintenance measurements
SignalValueSourceFetchedCounts
Latest human commit2026-11-07GitHub repositoryYes
Latest release2026-10-25crates.io database dumpYes
First release2026-08-12crates.io database dumpYes
Latest version0.3.2crates.io database dumpYes
Days the oldest outside issue waits for a reply0GitHub repositoryYes
Maintainer replies over 365 days15GitHub repositoryYes
Repository archivedfalseGitHub repositoryYes
Repository gonefalseGitHub repositoryYes
Release commit or manifest in the repotruecrates.io packageYes
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
Distribution12 releases, 1,618 downloads over 30 days5 not measured
Distribution measurements
SignalValueSourceFetchedCounts
Releases12crates.io database dumpYes
Downloads over 30 days1618crates.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
Repository127 stars, 16 forks, 4 contributors, 300 commits. Stars alone never qualify a project.
Repository measurements
SignalValueSourceFetchedCounts
GitHub stars127GitHub repositoryYes โ€” one part of the repository route
GitHub forks16GitHub repositoryYes โ€” one part of the repository route
Contributors with a GitHub account4GitHub contributorsYes โ€” one part of the repository route
Commits on the default branch300GitHub repositoryNo
Repository's main crate left out of the entrynonecrates.io database dumpYes
Facts that never count
Facts that never count measurements
SignalValueSourceFetchedCounts
LicenseMITcrates.io database dumpNo
Runs on, from listed crates and their direct dependenciesCUDA, Metal, Vulkancrates.io database dumpNo
What shows each backendCUDA: rusto-rs feature cuda, rusto-mnn feature cuda, rusto-mnn-sys feature cuda; Metal: rusto-rs feature metal, rusto-mnn feature metal, rusto-mnn-sys feature metal; Vulkan: rusto-rs feature vulkan, rusto-mnn feature vulkan, rusto-mnn-sys feature vulkancrates.io database dumpNo
Native code, from listed crates and their dependenciesBinds native code: rusto-mnn-sys. Build uses a native toolchain: bindgen, cc, cmakecrates.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 directly1crates.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.