[package]
edition = "2024"
name = "s2-sdk"
version = "0.24.3"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust SDK for S2"
homepage = "https://s2.dev"
documentation = "https://docs.rs/s2-sdk/latest/s2_sdk/"
readme = "README.md"
keywords = [
"s2",
"durable",
"streams",
"client",
"sdk",
]
categories = [
"api-bindings",
"database",
]
license = "MIT"
repository = "https://github.com/s2-streamstore/s2/tree/main/sdk"
resolver = "2"
[package.metadata.docs.rs]
cargo-args = [
"-Zunstable-options",
"-Zrustdoc-scrape-examples",
]
[features]
_hidden = []
[lib]
name = "s2_sdk"
path = "src/lib.rs"
[[example]]
name = "consumer"
path = "examples/consumer.rs"
[[example]]
name = "create_basin"
path = "examples/create_basin.rs"
doc-scrape-examples = true
[[example]]
name = "create_stream"
path = "examples/create_stream.rs"
[[example]]
name = "delete_basin"
path = "examples/delete_basin.rs"
[[example]]
name = "delete_stream"
path = "examples/delete_stream.rs"
[[example]]
name = "docs_account_and_basins"
path = "examples/docs_account_and_basins.rs"
[[example]]
name = "docs_configuration"
path = "examples/docs_configuration.rs"
[[example]]
name = "docs_overview"
path = "examples/docs_overview.rs"
[[example]]
name = "docs_streams"
path = "examples/docs_streams.rs"
[[example]]
name = "explicit_trim"
path = "examples/explicit_trim.rs"
[[example]]
name = "get_latest_record"
path = "examples/get_latest_record.rs"
[[example]]
name = "issue_access_token"
path = "examples/issue_access_token.rs"
[[example]]
name = "list_all_basins"
path = "examples/list_all_basins.rs"
[[example]]
name = "list_streams"
path = "examples/list_streams.rs"
[[example]]
name = "producer"
path = "examples/producer.rs"
[[example]]
name = "reconfigure_basin"
path = "examples/reconfigure_basin.rs"
[[example]]
name = "reconfigure_stream"
path = "examples/reconfigure_stream.rs"
[[test]]
name = "account_ops"
path = "tests/account_ops.rs"
[[test]]
name = "basin_ops"
path = "tests/basin_ops.rs"
[[test]]
name = "metrics_ops"
path = "tests/metrics_ops.rs"
[[test]]
name = "stream_ops"
path = "tests/stream_ops.rs"
[dependencies.async-compression]
version = "0.4"
features = [
"tokio",
"gzip",
"zstd",
]
[dependencies.async-stream]
version = "0.3"
[dependencies.async-trait]
version = "0.1"
[dependencies.bytes]
version = "1.11"
[dependencies.futures]
version = "0.3"
[dependencies.http]
version = "1.4"
[dependencies.http-body-util]
version = "0.1"
[dependencies.hyper]
version = "1.8"
[dependencies.hyper-rustls]
version = "0.27"
features = [
"http2",
"native-tokio",
"aws-lc-rs",
"tls12",
]
default-features = false
[dependencies.hyper-util]
version = "0.1"
features = [
"client-legacy",
"tokio",
"http1",
"http2",
]
[dependencies.prost]
version = "0.14"
[dependencies.rand]
version = "0.10"
[dependencies.rustls]
version = "0.23"
[dependencies.s2-api]
version = "0.27"
[dependencies.s2-common]
version = "0.28"
[dependencies.secrecy]
version = "0.10"
[dependencies.serde]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_urlencoded]
version = "0.7"
[dependencies.thiserror]
version = "2.0"
[dependencies.time]
version = "0.3"
[dependencies.tokio]
version = "1.49"
features = [
"time",
"macros",
"io-util",
"sync",
]
[dependencies.tokio-muxt]
version = "0.7"
[dependencies.tokio-stream]
version = "0.1"
[dependencies.tokio-util]
version = "0.7"
features = [
"rt",
"codec",
]
[dependencies.tracing]
version = "0.1"
[dependencies.url]
version = "2.5"
[dependencies.urlencoding]
version = "2.1"
[dependencies.uuid]
version = "1.21"
features = [
"v4",
"fast-rng",
]
[dev-dependencies.assert_matches]
version = "1.5"
[dev-dependencies.rstest]
version = "0.26"
[dev-dependencies.test-context]
version = "0.5"
[dev-dependencies.tokio]
version = "1.49"
features = [
"full",
"test-util",
]
[dev-dependencies.tokio-shared-rt]
version = "0.1"