Skip to content

Installation

Terminal window
cargo install sceptre-cli

The CLI’s default feature set is ["ort-bundled", "download"], so this produces a self-contained binary: a prebuilt ONNX Runtime is fetched and linked at build time, and models download and cache at first use. No ORT_DYLIB_PATH, no separately installed libonnxruntime.

To also expose the MCP server subcommand, add the mcp feature:

Terminal window
cargo install sceptre-cli --features mcp

Targets with no prebuilt ONNX Runtime. ort publishes prebuilt runtimes for a fixed target list. These have none, and the default install fails at build time with ort-sys’s own no prebuilt binaries available for target ...:

  • x86_64-apple-darwin (Intel macOS)
  • every *-unknown-linux-musl target (Alpine)
  • armv7-unknown-linux-gnueabihf
  • riscv64gc-*
  • *-unknown-freebsd
  • i686-*, s390x-*, powerpc64le-*

Either bring your own libonnxruntime:

Terminal window
cargo install sceptre-cli --features ort-dynamic

or build the pure-Rust backend and select it at runtime:

Terminal window
cargo install sceptre-cli --no-default-features --features tract,download
sceptre run receipt.png --backend tract

The CRAFT detector and the gen2 recognizers are first-party ONNX artifacts fetched from Hugging Face (xberg-io/sceptre-*) on first use. Each download is verified against a pinned SHA-256 before use.

Models are cached in the standard Hugging Face hub cache — HF_HUB_CACHEHUGGINGFACE_HUB_CACHE$HF_HOME/hub~/.cache/huggingface/hub — so the library, the CLI, and any other Hugging Face tooling on the machine share one cache store. Every run after the first reads the cached models with no network access.

Verification happens as bytes download. A cache hit is not re-hashed: the cached artifact is checked for being a readable, non-empty regular file and then used directly. A hash mismatch found on a download evicts the artifact and its backing blob, so a corrupt entry self-heals on the next run rather than being served forever.