[package]
edition = "2021"
name = "ferrum-server"
version = "0.8.2"
authors = ["Ferrum Team"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "OpenAI-compatible HTTP API server for Ferrum inference"
readme = "README.md"
license = "MIT"
[features]
auth = []
compression = []
cors = []
default = []
openai-compat = []
rate-limiting = []
[lib]
name = "ferrum_server"
path = "src/lib.rs"
[[test]]
name = "cache_metrics_contract"
path = "tests/cache_metrics_contract.rs"
[[test]]
name = "chat_template_golden"
path = "tests/chat_template_golden.rs"
[[test]]
name = "structured_output_contract"
path = "tests/structured_output_contract.rs"
[[test]]
name = "tiny_stack_wire"
path = "tests/tiny_stack_wire.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.axum]
version = "0.7"
features = [
"ws",
"multipart",
]
[dependencies.base64]
version = "0.22"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.config]
version = "0.14"
[dependencies.ferrum-bench-core]
version = "0.8.2"
[dependencies.ferrum-engine]
version = "0.8.2"
[dependencies.ferrum-interfaces]
version = "0.8.2"
[dependencies.ferrum-sampler]
version = "0.8.2"
[dependencies.ferrum-scheduler]
version = "0.8.2"
[dependencies.ferrum-types]
version = "0.8.2"
[dependencies.futures]
version = "0.3"
[dependencies.http]
version = "1.0"
[dependencies.http-body]
version = "1.0"
[dependencies.hyper]
version = "1.0"
[dependencies.jsonschema]
version = "0.48.1"
default-features = false
[dependencies.jsonwebtoken]
version = "9.2"
[dependencies.metrics]
version = "0.22"
[dependencies.metrics-exporter-prometheus]
version = "0.13"
[dependencies.mime]
version = "0.3"
[dependencies.minijinja]
version = "2.20"
features = [
"json",
"preserve_order",
]
[dependencies.minijinja-contrib]
version = "2.20"
features = ["pycompat"]
[dependencies.pin-project]
version = "1.1"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
features = ["preserve_order"]
[dependencies.sha2]
version = "0.10"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1.35"
features = ["full"]
[dependencies.tokio-stream]
version = "0.1"
[dependencies.tower]
version = "0.4"
features = ["util"]
[dependencies.tower-http]
version = "0.5"
features = [
"cors",
"trace",
]
[dependencies.tracing]
version = "0.1"
[dependencies.uuid]
version = "1.6"
features = [
"v4",
"serde",
]
[dev-dependencies.hyper]
version = "1.0"
[dev-dependencies.reqwest]
version = "0.12"
features = [
"rustls-tls",
"socks",
"stream",
"json",
]
default-features = false
[dev-dependencies.tokio-test]
version = "0.4"