tract-cli 0.23.0-dev.6

Tiny, no-nonsense, self contained, TensorFlow and ONNX inference
[package]
name = "tract-cli"
version = "0.23.0-dev.6"
authors = [
  "Romain Liautaud <romain.liautaud@snips.ai>",
  "Mathieu Poumeyrol <kali@zoy.org>",
]
license = "MIT OR Apache-2.0"
description = "Tiny, no-nonsense, self contained, TensorFlow and ONNX inference"
repository = "https://github.com/snipsco/tract"
keywords = ["TensorFlow", "NeuralNetworks"]
categories = ["science"]
autobenches = false
edition = "2024"
include = ["Cargo.toml", "src/**/*.rs", "LICENSE*"]

[[bin]]
name = "tract"
path = "src/main.rs"

[badges]
maintenance = { status = "actively-developed" }

[dependencies]
box_drawing.workspace = true
clap.workspace = true
erased-serde.workspace = true
criterion.workspace = true
colorous.workspace = true
env_logger.workspace = true
flate2.workspace = true
fs-err.workspace = true
icu_normalizer.workspace = true
icu_normalizer_data.workspace = true
icu_properties.workspace = true
icu_properties_data.workspace = true
idna_adapter.workspace = true
inventory.workspace = true
lazy_static.workspace = true
litemap.workspace = true
log.workspace = true
ndarray-npy.workspace = true
nu-ansi-term.workspace = true
num_cpus.workspace = true
py_literal.workspace = true
readings-probe.workspace = true
ron.workspace = true
regex.workspace = true
reqwest.workspace = true
rustls.workspace = true
webpki-roots.workspace = true
scan_fmt.workspace = true
serde.workspace = true
serde_json.workspace = true
tract-linalg = { workspace = true, features = ["hwbench"] }
tract-core.workspace = true
tract-hir.workspace = true
tract-nnef.workspace = true
tract-nnef-resources.workspace = true
tract-libcli.workspace = true
tract-gpu.workspace = true
tract-extra = { workspace = true, optional = true }
tract-pulse = { workspace = true, optional = true }
tract-pulse-opl = { workspace = true, optional = true }
tract-onnx = { workspace = true, optional = true }
tract-tensorflow = { workspace = true, optional = true }
tract-tflite = { workspace = true, optional = true }
tract-transformers = { workspace = true, optional = true }
zerofrom.workspace = true
float-ord.workspace = true

[target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies]
tract-metal.workspace = true

[target.'cfg(any(target_os = "linux", target_os = "windows"))'.dependencies]
cudarc = { workspace = true, optional = true }
tract-cuda = { workspace = true, optional = true }

[features]
default = [
  "onnx",
  "tf",
  "pulse",
  "pulse-opl",
  "tflite",
  "transformers",
  "extra",
  "cuda-13000",
]
apple-amx-ios = ["tract-linalg/apple-amx-ios"]
onnx = ["tract-onnx", "tract-libcli/hir", "tract-libcli/onnx"]
extra = ["tract-extra"]
pulse-opl = ["tract-pulse-opl"]
pulse = ["tract-pulse", "tract-pulse-opl"]
tf = ["tract-tensorflow", "tract-libcli/hir"]
tflite = ["tract-tflite"]
transformers = ["tract-transformers", "tract-libcli/transformers"]
multithread-mm = ["tract-linalg/multithread-mm"]

# Marker feature implicitly enabled by every cuda-XXXXX selector below.
# Use to gate cudarc-specific code paths in tract-cli. Not meant to be
# enabled directly — always pick a concrete cuda-XXXXX so cudarc has an
# API version to bind against.
cuda = []

# CUDA driver-API selectors (linux/windows targets only). Picking one binds
# cudarc against the matching CUDA enum/struct layout; the resulting binary
# runs on any driver whose API is >= the chosen one. Exactly one must be
# active. The default pulls cuda-13000 in; cross-compiles aimed at older
# drivers (e.g. aarch64 with CUDA 12) override with `--no-default-features`
# plus an explicit cuda-12XXX.
cuda-12000 = ["cuda", "dep:cudarc", "dep:tract-cuda", "tract-libcli/cuda", "tract-cuda/cuda-12000"]
cuda-12010 = ["cuda", "dep:cudarc", "dep:tract-cuda", "tract-libcli/cuda", "tract-cuda/cuda-12010"]
cuda-12020 = ["cuda", "dep:cudarc", "dep:tract-cuda", "tract-libcli/cuda", "tract-cuda/cuda-12020"]
cuda-12030 = ["cuda", "dep:cudarc", "dep:tract-cuda", "tract-libcli/cuda", "tract-cuda/cuda-12030"]
cuda-12040 = ["cuda", "dep:cudarc", "dep:tract-cuda", "tract-libcli/cuda", "tract-cuda/cuda-12040"]
cuda-12050 = ["cuda", "dep:cudarc", "dep:tract-cuda", "tract-libcli/cuda", "tract-cuda/cuda-12050"]
cuda-12060 = ["cuda", "dep:cudarc", "dep:tract-cuda", "tract-libcli/cuda", "tract-cuda/cuda-12060"]
cuda-12080 = ["cuda", "dep:cudarc", "dep:tract-cuda", "tract-libcli/cuda", "tract-cuda/cuda-12080"]
cuda-12090 = ["cuda", "dep:cudarc", "dep:tract-cuda", "tract-libcli/cuda", "tract-cuda/cuda-12090"]
cuda-13000 = ["cuda", "dep:cudarc", "dep:tract-cuda", "tract-libcli/cuda", "tract-cuda/cuda-13000"]
cuda-13010 = ["cuda", "dep:cudarc", "dep:tract-cuda", "tract-libcli/cuda", "tract-cuda/cuda-13010"]
cuda-13020 = ["cuda", "dep:cudarc", "dep:tract-cuda", "tract-libcli/cuda", "tract-cuda/cuda-13020"]