ferrox-models 0.13.2

Model loaders and decoder stacks for the Ferrox inference engine
Documentation
[package]
name = "ferrox-models"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = "Model loaders and decoder stacks for the Ferrox inference engine"
readme = "README.md"
keywords = ["llm", "inference", "gguf", "transformer", "ferrox"]
categories = ["science", "algorithms"]

[dependencies]
ferrox-core = { workspace = true }
ferrox-moe = { workspace = true }
ferrox-gguf = { workspace = true }
ferrox-quant = { workspace = true }
ferrox-safetensors = { workspace = true }
# Not optional: `device_budget` asks both crates what the host offers
# on every build, and both compile to plain capability structs (with
# every GPU field honestly zeroed) when their own kernel feature is
# off. Only the *kernels* are feature-gated, and still are below.
ferrox-metal = { workspace = true }
ferrox-cuda = { workspace = true }
serde = { workspace = true }
anyhow = { workspace = true }
thiserror = { workspace = true }
regex = "1.13.1"
fancy-regex = "0.18.0"
base64 = "0.23.0"
serde_json.workspace = true
minijinja = { workspace = true }
rayon = { workspace = true }
# Only pulled in by the `hub` feature: the Hugging Face downloader needs
# a TLS stack, and a consumer that loads a local GGUF should not pay for
# it.
ureq = { workspace = true, optional = true }

[dev-dependencies]
byteorder = { workspace = true }
half = { workspace = true }

[features]
default = []
cuda = ["ferrox-moe/cuda", "ferrox-cuda/cuda"]
# The Hugging Face downloader. Optional because it drags a TLS stack in,
# and a consumer that only loads a local GGUF should not pay for it.
hub = ["dep:ureq"]
metal = ["ferrox-moe/metal", "ferrox-metal/metal"]