switchyard-server 0.2.0

Rust HTTP server surface for libsy algorithms
Documentation
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

[package]
name = "switchyard-server"
version.workspace = true
description = "Rust HTTP server surface for libsy algorithms"
authors.workspace = true
edition.workspace = true
homepage = "https://github.com/NVIDIA-NeMo/Switchyard"
license.workspace = true
readme = "README.md"
repository.workspace = true
rust-version.workspace = true
documentation = "https://docs.rs/switchyard-server"
keywords = ["llm", "proxy", "routing", "openai", "anthropic"]
publish = ["crates-io"]

[dependencies]
async-stream.workspace = true
async-trait.workspace = true
axum = "0.8"
axum-server = { version = "0.8", default-features = false, features = ["tls-rustls"] }
rustls = { version = "0.23", default-features = false, features = ["aws-lc-rs", "std", "tls12"] }
clap = { version = "4", features = ["derive", "env"] }
futures-util.workspace = true
http.workspace = true
libsy = { package = "switchyard-libsy", path = "../libsy", version = "0.2.0" }
opentelemetry = { version = "0.32", default-features = false, features = ["metrics", "trace"] }
opentelemetry-otlp = { version = "0.32", default-features = false, features = ["http-proto", "metrics", "reqwest-blocking-client", "reqwest-rustls", "trace"] }
opentelemetry-prometheus = "0.32"
opentelemetry_sdk = { version = "0.32", default-features = false, features = ["metrics", "trace"] }
parking_lot.workspace = true
prometheus = "0.14"
serde.workspace = true
toml = "1.1"
switchyard-llm-client.workspace = true
switchyard-protocol.workspace = true
serde_json.workspace = true
switchyard-translation.workspace = true
humantime = "2.4"
tokio.workspace = true
tracing.workspace = true
tracing-opentelemetry = "0.33"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

[dev-dependencies]
async-trait.workspace = true
http-body-util = "0.1"
tempfile = "3"
tokio.workspace = true
tower = { version = "0.5", features = ["util"] }