bonsaidb 0.1.0

A programmable, ACID-compliant, document-database inspired by CouchDB.
Documentation
[package]
name = "bonsaidb"
version = "0.1.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://dev.bonsaidb.io/"

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

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

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

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

[features]
default = []
full = ["local-full", "server-full", "client-full"]
local-full = [
    "local",
    "local-cli",
    "local-instrument",
    "local-encryption",
    "local-multiuser",
    "local-password-hashing",
]
local = ["bonsaidb-local", "bonsaidb-local/included-from-omnibus"]
server-full = [
    "server",
    "server-websockets",
    "server-encryption",
    "server-cli",
    "server-instrument",
    "server-acme",
    "server-hyper",
    "server-pem",
    "server-password-hashing",
]
server = ["bonsaidb-server", "local", "bonsaidb-server/included-from-omnibus"]
client-full = [
    "client",
    "client-websockets",
    "client-trusted-dns",
    "client-password-hashing",
]
client = ["bonsaidb-client"]
test-util = ["bonsaidb-client/test-util", "bonsaidb-server/test-util"]

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

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

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

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

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

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

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

local-multiuser = ["bonsaidb-local/multiuser"]

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

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

tokio = { version = "1", features = ["full"], optional = true }
clap = { version = "3", optional = true, features = ["derive"] }
anyhow = { version = "1", optional = true }
url = { version = "2.2", optional = true }

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

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