[package]
edition = "2021"
rust-version = "1.93"
name = "spin-sdk"
version = "6.0.0"
authors = ["Spin Framework Maintainers <cncf-spin-maintainers@lists.cncf.io>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """
The Spin Rust SDK makes it easy to build Spin components in Rust.
"""
homepage = "https://spinframework.dev/rust-components"
documentation = "https://docs.rs/spin-sdk"
readme = "README.md"
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/spinframework/spin-rust-sdk"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = [
"http",
"key-value",
"json",
"llm",
"mqtt",
"mysql",
"pg",
"postgres4-types",
"redis",
"sqlite",
"variables",
"export-sdk-language",
]
export-sdk-language = []
grpc = [
"http",
"dep:tower-service",
]
http = [
"dep:bytes",
"dep:http-body",
"dep:http-body-util",
"dep:hyperium",
]
json = [
"dep:serde",
"dep:serde_json",
]
key-value = []
llm = []
mqtt = []
mysql = []
pg = ["dep:chrono"]
postgres4-types = [
"pg",
"json",
"dep:rust_decimal",
"dep:uuid",
"dep:postgres_range",
]
redis = []
sqlite = []
variables = []
[lib]
name = "spin_sdk"
path = "src/lib.rs"
[dependencies.anyhow]
version = "1"
[dependencies.bytes]
version = "1.11.1"
optional = true
[dependencies.chrono]
version = "0.4.42"
optional = true
[dependencies.futures]
version = "0.3.31"
[dependencies.http-body]
version = "1.0.1"
optional = true
[dependencies.http-body-util]
version = "0.1.3"
optional = true
[dependencies.hyperium]
version = "1.3.1"
optional = true
package = "http"
[dependencies.postgres_range]
version = "0.11.1"
optional = true
[dependencies.rust_decimal]
version = "1.39.0"
optional = true
default-features = false
[dependencies.serde]
version = "1.0.228"
optional = true
[dependencies.serde_json]
version = "1.0.145"
optional = true
[dependencies.spin-macro]
version = "6.0.0"
[dependencies.thiserror]
version = "2.0.17"
[dependencies.tower-service]
version = "0.3"
optional = true
[dependencies.uuid]
version = "1.18.1"
optional = true
[dependencies.wasip3]
version = "0.6.0"
features = [
"http-compat",
"wit-bindgen-macros",
]
[dev-dependencies.http-body-util]
version = "0.1.3"
[dev-dependencies.hyper]
version = "1.7.0"
[dev-dependencies.tokio]
version = "1.48.0"
features = [
"fs",
"process",
"macros",
"rt-multi-thread",
"sync",
]
[dev-dependencies.wasmtime]
version = "44.0.0"
[dev-dependencies.wasmtime-wasi]
version = "44.0.0"
[dev-dependencies.wasmtime-wasi-http]
version = "44.0.0"
features = ["p3"]
[dev-dependencies.wit-component]
version = "0.247"