01 / LinML / Inference

Run ONNX models on Linux.

An independent Linux-first inference stack, started to give Trackdub a WinML-like experience on Linux.

Open sourceMIT license Prototype · v0.6.0
For
ML and systems developers
Interface
CLI / Python / NuGet
Core
Contracts / policy / provider catalog / runtime adapter

Know what the runtime is doing.

LinML began as a Trackdub engineering need: our take on bringing the WinML developer experience to Linux. It is an independent implementation on ONNX Runtime, not a Microsoft port. The project separates shared contracts (`LinML.Contracts`), selection rules (`LinML.Policy`), plugin staging (`LinML.Catalog`), and native ONNX Runtime sessions (`LinML.Runtime.Onnx`). That gives developers a place to inspect device readiness and make provider choices before inference, then examine runtime diagnostics when execution differs from expectation.

  • List available execution providers and diagnose readiness for the current machine.
  • Select providers through explicit policies and inspect runtime or fallback diagnostics.
  • Use the CLI, Python client, or .NET libraries to inspect models, run inference, benchmark, and serve persistent sessions.
  • Stage plugin execution providers through LinML.Catalog with SHA-256 integrity checks and runtime registration.
Conceptual capability map
  1. ONNX model + request
  2. Provider inventory + readiness
  3. Explicit policy + runtime session
  4. Results + diagnostics
Linux x64 / ARM64ONNX Runtime 1.31.xCLI / Python / .NET

Follow the project.

Use the repository for current support, installation, releases, and contribution guidance.

Read the documentation