[package]
authors = ["Yorick Laupa <yo.eight@gmail.com>"]
edition = "2024"
name = "kurrentdb"
version = "1.1.0"

# Uncomment if you want to update messages.rs code-gen.
# We disabled codegen.rs because it requires having `protoc` installed on your machine
# in order to build that library.
# build = "codegen.rs"

description = "Official KurrentDB gRPC client"
keywords = ["database", "event-sourcing", "ddd", "cqrs", "kurrent"]
license = "MIT"
readme = "../README.md"
repository = "https://github.com/kurrent-io/KurrentDB-Client-Rust"

categories = ["database", "api-bindings"]

[dependencies]
async-stream = "0.3"
base64 = "0.22"
bitflags = "2"
byteorder = "1"
bytes = "1"
chrono = { version = "0.4", default-features = false, features = [
    "std",
    "serde",
    "now",
] }
kurrentdb-macros = { path = "../kurrentdb-macros", version = "0.0.1" }
futures = "0.3"
http = "1"
hyper = { version = "1", features = ["client"] }
hyper-util = { version = "0.1", features = ["client-legacy", "http2"] }
hyper-rustls = { version = "0.27", features = ["rustls-native-certs", "http2"] }
tracing = "0.1"
nom = "7"
prost = "0.13"
prost-types = "0.13"
rand = { version = "0.9", features = ["small_rng"] }
reqwest = { version = "0.12", default-features = false, features = [
    "rustls-tls",
    "rustls-tls-native-roots",
    "json",
] }
rustls = { version = "0.23" }
rustls-native-certs = "0.8"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"
tokio = { version = "1", default-features = false, features = ["time"] }
tokio-rustls = "0.26"
tonic = { version = "0.13", features = ["tls-aws-lc", "tls-native-roots"] }
tower = "0.5"
url = "2"
urlencoding = "2"
uuid = { version = "1", features = ["v4", "serde"] }
lazy_static = "1"
eyre = "0.6"

[build-dependencies]
tonic-build = { version = "0.13", features = ["prost-build"] }

[[test]]
name = "integration"

[dev-dependencies]
names = "0.14"
serde = { version = "1", features = ["derive"] }
testcontainers = "0.23"
tokio = { version = "1", default-features = false, features = [
    "rt-multi-thread",
    "macros",
] }
toml = "0.8"
ctor = "0.4"

[dev-dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter", "time", "tracing-log"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
