1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
[]
= "sceptre-cli"
= "Command-line interface for sceptre — CRAFT + gen2 CRNN OCR over ONNX."
= true
= true
= true
= true
= true
= true
= true
= "README.md"
= ["ocr", "text-recognition", "easyocr", "cli", "onnx"]
= ["command-line-utilities", "computer-vision"]
# docs.rs has no network in the build sandbox, so the default `ort-bundled` prebuilt
# download cannot run there; document the dynamic + pure-Rust surface instead. ~keep
[]
= true
= ["ort-dynamic", "tract", "download", "mcp"]
[[]]
= "sceptre"
= "src/main.rs"
[]
# Runnable out of the box: `cargo install sceptre-cli` links a prebuilt ONNX Runtime at
# build time, so the binary needs no ORT_DYLIB_PATH and no separately installed
# libonnxruntime. `ort-dynamic` used to be the default, which made every install panic at
# first use with "Failed to load ONNX Runtime dylib" unless the user provisioned the
# library themselves. ~keep
= ["ort-bundled", "download"]
# ONNX Runtime linked from a prebuilt binary fetched at build time (zero-config).
# ort ships prebuilts for a fixed target list. Targets without one — x86_64-apple-darwin,
# any *-unknown-linux-musl, armv7-unknown-linux-gnueabihf, riscv64gc-*, *-unknown-freebsd,
# i686-*, s390x, powerpc64le — fail at build time with ort-sys's own
# "no prebuilt binaries available for target ..." error. The remedies are
# `--features ort-dynamic` (bring your own libonnxruntime) or
# `--no-default-features --features tract,download` (pure Rust). ~keep
= ["sceptre/ort-bundled"]
# ONNX Runtime loaded at runtime via ORT_DYLIB_PATH (no build-time download).
# Cargo features are additive, so this unions with the default rather than replacing it —
# and it still wins: `load-dynamic` implies `ort-sys/disable-linking`, and the ort-sys
# build script returns before its download branch when linking is disabled. So
# `--features ort-dynamic` alone is enough; `--no-default-features` is not required. ~keep
= ["sceptre/ort-dynamic"]
# Pure-Rust native-tensor backend (candle), selected at runtime with `--backend candle`.
# Not in the default set: it carries its own kernels rather than an ONNX runtime, and is
# slower than ort on the CPU, so it is opt-in. Without this feature `--backend candle`
# parses and then fails at load with "not compiled in". ~keep
= ["sceptre/candle"]
# Pure-Rust ONNX backend (tract), selected at runtime with `--backend tract`.
# Pairs with `--no-default-features` for targets that have neither a prebuilt ONNX Runtime
# nor a system libonnxruntime. ~keep
= ["sceptre/tract"]
# Execution providers selectable with `--accelerator`. Each compiles the Rust-side EP
# struct into the binary; the linked ONNX Runtime must also have been built with the
# provider, which `sceptre env` reports. Without them `--accelerator coreml` fails loudly
# rather than silently running on the CPU. ~keep
= ["sceptre/ort-coreml"]
= ["sceptre/ort-directml"]
= ["sceptre/ort-cuda"]
# GPU devices for `--backend candle`. Unlike the ort providers these need no runtime
# library, but they do need a toolchain: `candle-metal` the macOS/iOS SDK, `candle-cuda`
# the CUDA toolkit. Each implies the candle backend itself. ~keep
= ["sceptre/candle-metal"]
= ["sceptre/candle-cuda"]
# Runtime model download, caching, and sha256 verification from Hugging Face. ~keep
= ["sceptre/download"]
# Expose the MCP server as the `mcp` subcommand. ~keep
= ["sceptre/mcp"]
[]
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
[]
= { = true }
= { = true }
[]
= true