[package]
name = "ferrox-server"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = "OpenAI-compatible HTTP server for the Ferrox inference engine"
readme = "README.md"
keywords = ["llm", "openai", "server", "inference", "ferrox"]
categories = ["web-programming::http-server", "science"]
[lib]
name = "ferrox_server"
path = "src/lib.rs"
[[bin]]
name = "ferrox-server"
path = "src/main.rs"
[dependencies]
ferrox-api = { workspace = true }
ferrox-core = { workspace = true }
sha2 = { workspace = true }
ferrox-models = { workspace = true, features = ["hub"] }
ferrox-gguf = { workspace = true }
ferrox-safetensors = { workspace = true }
axum = { workspace = true }
tokio = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
clap = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
anyhow = { workspace = true }
thiserror = { workspace = true }
ferrox-cuda = { workspace = true }
ferrox-metal = { workspace = true }
ureq = { workspace = true }
futures-util = "0.3"
axum-server = { version = "0.8.0", features = ["tls-rustls-no-provider"] }
rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12", "logging"] }
tower-http = { version = "0.7.0", features = ["cors"] }
[dev-dependencies]
tower = { version = "0.5", features = ["util"] }
http-body-util = "0.1"
ferrox-moe = { workspace = true }
base64 = "0.23.0"
[features]
default = []
cuda = ["ferrox-models/cuda"]
metal = ["ferrox-models/metal"]