Skip to content
v0.11.0

This content is for v0.11.0. Switch to the latest version for up-to-date documentation.

Installation

Requires Python 3.10 or later.

Terminal window
pip install tigris-ml

This pulls in all Python dependencies automatically. pip picks a wheel for your platform:

Platform Wheel tigris run
Linux x86-64 and ARM64, glibc 2.28 or newer native (manylinux_2_28) yes
macOS 11 or newer, x86-64 and ARM64 native yes
Windows x86-64 native yes
musl Linux (Alpine), Windows ARM64, 32-bit ARM Linux, older glibc pure Python with your own host library

Native wheels bundle the portable C runtime as a host library, so tigris run can execute compiled plans on your machine. The pure Python wheel has every other command: analyze, compile, codegen, inspect, simulate and zoo. There run stops with “Bundled host runtime is unavailable” unless you build the host library from the runtime sources and set TIGRIS_HOST_LIBRARY to it; see Using your own host library. No native runtime is downloaded separately during installation or execution.

Clone the repo and install with dev extras for testing:

Terminal window
git clone https://github.com/raws-labs/tigris.git
cd tigris
pip install -e ".[dev]"

The [dev] extra adds pytest and onnxruntime (used for reference output validation).

Terminal window
tigris --version

This also prints the host runtime version and where it comes from, for example tigris, version X.Y.Z (runtime X.Y.Z; bundled), or (runtime unavailable) on the pure wheel without an override. Compiler and runtime release as a pair with the same version number; each plan still records its own schema, and each runtime states which plan schemas it accepts.

The runtime is a self-contained C project built with CMake as C11. It has no external dependencies and needs no package manager. The portable harness that tigris codegen generates is C99.

Terminal window
git clone https://github.com/raws-labs/tigris-runtime.git
cd tigris-runtime
cmake -B build && cmake --build build

Run the self-contained test suite:

Terminal window
ctest --test-dir build --output-on-failure

The fixture-driven end-to-end tests need plans generated by the compiler. From a checkout of tigris with pip install -e ".[dev]":

Terminal window
python scripts/gen_fixtures.py model.onnx -o <runtime checkout>/test/fixtures -m 256K

Then, from the runtime checkout, ./test/run_all.sh test/fixtures.

Platform Status Notes
Linux (x86_64, aarch64) Supported Primary development platform
macOS (Apple Silicon, Intel) Supported
Windows (x86-64) Supported for the Python toolchain The native wheel includes the host runtime. Building the C runtime for firmware from Windows is untested; WSL is recommended.

Ready to deploy? Follow the Quickstart.