[package]
name = "spin-sdk"
version = { workspace = true }
authors = { workspace = true }
edition = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
rust-version = { workspace = true }
homepage = { workspace = true }
documentation = "https://docs.rs/spin-sdk"
readme = "README.md"
description = """
The Spin Rust SDK makes it easy to build Spin components in Rust.
"""
[lib]
name = "spin_sdk"
[dependencies]
anyhow = "1"
async-trait = "0.1.74"
chrono = "0.4.38"
form_urlencoded = "1.0"
spin-executor = { version = "3.1.0", path = "crates/executor" }
spin-macro = { version = "3.1.0", path = "crates/macro" }
thiserror = "1.0.37"
wit-bindgen = { workspace = true }
routefinder = "0.5.3"
once_cell = { workspace = true }
futures = { workspace = true }
bytes = "1"
hyperium = { package = "http", version = "1.0.0" }
serde_json = { version = "1.0.96", optional = true }
serde = { version = "1.0.163", optional = true }
[features]
default = ["export-sdk-language", "json"]
export-sdk-language = []
json = ["dep:serde", "dep:serde_json"]
[workspace]
resolver = "2"
members = [
"examples/hello-world",
"examples/http-outbound/http-hello",
"examples/http-outbound/outbound-http",
"examples/http-outbound/outbound-http-to-same-app",
"examples/http-router",
"examples/http-router-macro",
"examples/json-http",
"examples/redis",
"examples/redis-async",
"examples/key-value",
"examples/mysql",
"examples/postgres",
"examples/postgres-v3",
"examples/redis-outbound",
"examples/mqtt-outbound",
"examples/variables",
"examples/wasi-http-streaming-outgoing-body",
"examples/wasi-http-streaming-file",
"test-cases/simple-http",
"test-cases/simple-redis",
"crates/*",
]
[dev-dependencies]
http-body-util = "0.1.0"
hyper = "1.2.0"
reqwest = "0.11.24"
tokio = { version = "1.36.0", features = [
"fs",
"process",
"macros",
"rt-multi-thread",
"sync",
] }
wasmtime = "18.0.1"
wasmtime-wasi = "18.0.1"
wasmtime-wasi-http = "18.0.1"
wit-component = "0.200.0"
[workspace.package]
version = "3.1.0"
authors = ["Fermyon Engineering <engineering@fermyon.com>"]
edition = "2021"
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/fermyon/spin-rust-sdk"
rust-version = "1.73"
homepage = "https://developer.fermyon.com/spin/v2/rust-components"
[workspace.dependencies]
wit-bindgen = "0.16.0"
futures = "0.3.28"
once_cell = "1.18.0"