bonsaidb 0.5.0

A programmable, ACID-compliant, document-database inspired by CouchDB.
Documentation
[package]
name = "bonsaidb"
version = "0.5.0"
authors = ["Jonathan Johnson <jon@khonsulabs.com>"]
edition = "2021"
description = "A programmable, ACID-compliant, document-database inspired by CouchDB."
repository = "https://github.com/khonsulabs/bonsaidb"
license = "MIT OR Apache-2.0"
keywords = ["document-database", "database"]
categories = ["database-implementations", "database"]
readme = "./README.md"
homepage = "https://bonsaidb.io/"
rust-version = "1.70"

[[bin]]
name = "bonsaidb"
path = "src/main.rs"
required-features = ["cli", "client", "server"]

[[test]]
name = "core-suite"
required-features = ["server", "client", "test-util", "password-hashing"]

[[test]]
name = "simultaneous-connections"
required-features = ["server", "client"]

[[test]]
name = "apis"
required-features = ["server", "client"]

[[test]]
name = "timeouts"
required-features = ["server", "client"]

[[test]]
name = "sessions"
required-features = ["server", "client", "async", "password-hashing"]

[features]
default = []
full = ["local-full", "server-full", "client-full", "files"]
local-full = ["local", "bonsaidb-local?/full"]
local = ["dep:bonsaidb-local"]
server-full = ["server", "bonsaidb-server?/full"]
server = ["dep:bonsaidb-server", "local", "async"]
client-full = ["client", "bonsaidb-client?/full"]
client = ["dep:bonsaidb-client"]
test-util = ["bonsaidb-client?/test-util", "bonsaidb-server?/test-util"]
files = ["dep:bonsaidb-files"]

keystorage-s3 = ["dep:bonsaidb-keystorage-s3"]

cli = [
    "dep:anyhow",
    "dep:tokio",
    "dep:clap",
    "dep:url",
    "bonsaidb-local?/cli",
    "bonsaidb-server?/cli",
]

websockets = ["bonsaidb-server?/websockets", "bonsaidb-client?/websockets"]

trusted-dns = ["bonsaidb-client?/trusted-dns"]

instrument = ["bonsaidb-local?/instrument", "bonsaidb-server?/instrument"]

acme = ["bonsaidb-server?/acme"]
hyper = ["bonsaidb-server?/hyper"]
pem = ["bonsaidb-server?/pem"]

encryption = ["bonsaidb-server?/encryption", "bonsaidb-local?/encryption"]

password-hashing = [
    "bonsaidb-core/password-hashing",
    "bonsaidb-local?/password-hashing",
    "bonsaidb-server?/password-hashing",
    "bonsaidb-client?/password-hashing",
]

token-authentication = [
    "bonsaidb-core/token-authentication",
    "bonsaidb-local?/token-authentication",
    "bonsaidb-server?/token-authentication",
    "bonsaidb-client?/token-authentication",
]

compression = ["bonsaidb-local?/compression", "bonsaidb-server?/compression"]

async = ["bonsaidb-local?/async", "bonsaidb-files?/async"]

[dependencies]
bonsaidb-core = { path = "../bonsaidb-core", version = "=0.5.0", default-features = false, features = [
    "included-from-omnibus",
] }
bonsaidb-local = { path = "../bonsaidb-local", version = "=0.5.0", default-features = false, features = [
    "included-from-omnibus",
], optional = true }
bonsaidb-client = { path = "../bonsaidb-client", version = "=0.5.0", default-features = false, features = [
    "included-from-omnibus",
], optional = true }
bonsaidb-server = { path = "../bonsaidb-server", version = "=0.5.0", default-features = false, features = [
    "included-from-omnibus",
], optional = true }
bonsaidb-keystorage-s3 = { path = "../bonsaidb-keystorage-s3", version = "0.5.0", default-features = false, optional = true }
bonsaidb-files = { path = "../bonsaidb-files", version = "0.1.0", optional = true }

tokio = { version = "1.16.1", features = ["full"], optional = true }
clap = { version = "4.1.4", optional = true, features = ["derive"] }
anyhow = { version = "1", optional = true }
url = { version = "2.2", optional = true }
derive-where = "~1.2.0"

[dev-dependencies]
tokio = { version = "1.16.1", features = ["full"] }
serde = { version = "1", features = ["derive"] }
anyhow = "1"
bonsaidb-core = { path = "../bonsaidb-core", version = "=0.5.0", default-features = false, features = [
    "test-util",
] }
futures = "0.3"
rand = "0.8"
once_cell = "1.3.0"
env_logger = "0.10"

[package.metadata.docs.rs]
all-features = true