[package]
edition = "2021"
name = "reddb-io-client"
version = "1.2.5"
authors = ["RedDB.io <hello@reddb.io>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Official Rust client for RedDB — embedded engine, gRPC, HTTP, and RedWire transports behind one connection-string API. Also hosts the workspace-internal connector + REPL used by the `red` and `red_client` binaries."
homepage = "https://github.com/reddb-io/reddb"
documentation = "https://docs.rs/reddb-io-client"
readme = "README.md"
keywords = [
"reddb",
"database",
"client",
"embedded",
]
categories = [
"database",
"api-bindings",
]
license = "AGPL-3.0-only"
repository = "https://github.com/reddb-io/reddb"
[features]
default = ["embedded"]
embedded = ["dep:reddb-server"]
grpc = []
http = ["dep:reqwest"]
redwire = [
"dep:zstd",
"dep:sha2",
]
redwire-tls = [
"redwire",
"dep:tokio-rustls",
"dep:rustls",
"dep:rustls-pemfile",
]
[lib]
name = "reddb_client"
path = "src/lib.rs"
[[bin]]
name = "red_client"
path = "src/bin/red_client.rs"
[[test]]
name = "embedded_bulk_insert"
path = "tests/embedded_bulk_insert.rs"
[[test]]
name = "embedded_query_with"
path = "tests/embedded_query_with.rs"
[[test]]
name = "embedded_rejection"
path = "tests/embedded_rejection.rs"
[[test]]
name = "embedded_rich_helpers"
path = "tests/embedded_rich_helpers.rs"
[[test]]
name = "grpc_pool_concurrency"
path = "tests/grpc_pool_concurrency.rs"
[[test]]
name = "redwire_query_with_live"
path = "tests/redwire_query_with_live.rs"
[[test]]
name = "topology_e2e"
path = "tests/topology_e2e.rs"
[dependencies.reddb-client-connector]
version = "1.0"
package = "reddb-io-client-connector"
[dependencies.reddb-grpc-proto]
version = "1.0"
package = "reddb-io-grpc-proto"
[dependencies.reddb-server]
version = "1.0"
optional = true
package = "reddb-io-server"
[dependencies.reddb-wire]
version = "1.0"
package = "reddb-io-wire"
[dependencies.reqwest]
version = "0.12"
features = [
"rustls-tls",
"json",
"stream",
]
optional = true
default-features = false
[dependencies.rustls]
version = "0.23"
features = [
"ring",
"std",
]
optional = true
default-features = false
[dependencies.rustls-pemfile]
version = "2"
optional = true
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.11"
optional = true
[dependencies.tokio]
version = "1"
features = [
"rt",
"rt-multi-thread",
"macros",
"net",
"io-util",
]
default-features = false
[dependencies.tokio-rustls]
version = "0.26"
features = [
"tls12",
"ring",
]
optional = true
default-features = false
[dependencies.tonic]
version = "0.14"
features = [
"channel",
"codegen",
]
default-features = false
[dependencies.ureq]
version = "3.3"
features = ["rustls"]
default-features = false
[dependencies.zstd]
version = "0.13"
optional = true
default-features = false
[dev-dependencies.async-trait]
version = "0.1"
[dev-dependencies.jsonwebtoken]
version = "10"
features = ["rust_crypto"]
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.prost]
version = "0.14"
[dev-dependencies.reddb-grpc-proto]
version = "1.0"
package = "reddb-io-grpc-proto"
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"time",
"sync",
]
[dev-dependencies.tokio-stream]
version = "0.1"
features = ["net"]
[dev-dependencies.tonic]
version = "0.14"
features = [
"channel",
"codegen",
"server",
"router",
]
default-features = false