[package]
edition = "2024"
name = "s2-sdk"
version = "0.23.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust SDK for S2"
homepage = "https://github.com/s2-streamstore/s2-sdk-rust"
readme = "README.md"
keywords = [
"s2",
"durable",
"streams",
"client",
"sdk",
]
categories = [
"api-bindings",
"database",
]
license = "MIT"
repository = "https://github.com/s2-streamstore/s2-sdk-rust"
[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 = "stream_ops"
path = "tests/stream_ops.rs"
[dependencies.async-compression]
version = "0.4.37"
[dependencies.async-stream]
version = "0.3.6"
[dependencies.bytes]
version = "1.11.0"
[dependencies.futures]
version = "0.3.31"
[dependencies.http]
version = "1.4.0"
[dependencies.hyper]
version = "1.8.1"
[dependencies.prost]
version = "0.14.3"
[dependencies.rand]
version = "0.9.2"
[dependencies.reqwest]
version = "0.13.1"
features = [
"json",
"stream",
"query",
"gzip",
"zstd",
"rustls",
]
default-features = false
[dependencies.s2-api]
version = "0.4.0"
[dependencies.s2-common]
version = "0.4.0"
[dependencies.secrecy]
version = "0.10.3"
[dependencies.serde]
version = "1.0.228"
[dependencies.serde_json]
version = "1.0.149"
[dependencies.thiserror]
version = "2.0.18"
[dependencies.time]
version = "0.3.46"
[dependencies.tokio]
version = "1.49.0"
features = [
"time",
"macros",
"io-util",
]
[dependencies.tokio-muxt]
version = "0.6.0"
[dependencies.tokio-stream]
version = "0.1.18"
[dependencies.tokio-util]
version = "0.7.18"
features = [
"rt",
"codec",
]
[dependencies.tracing]
version = "0.1.44"
[dependencies.url]
version = "2.5.8"
[dependencies.urlencoding]
version = "2.1.3"
[dependencies.uuid]
version = "1.20.0"
features = [
"v4",
"fast-rng",
]
[dev-dependencies.assert_matches]
version = "1.5.0"
[dev-dependencies.rstest]
version = "0.26.1"
[dev-dependencies.test-context]
version = "0.5.4"
[dev-dependencies.tokio]
version = "1.49.0"
features = [
"full",
"test-util",
]
[dev-dependencies.tokio-shared-rt]
version = "0.1.0"