prollytree 0.3.2

A prolly (probabilistic) tree for efficient storage, retrieval, and modification of ordered data.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "prollytree"
version = "0.3.2"
authors = ["Feng Zhang <f.feng.zhang@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A prolly (probabilistic) tree for efficient storage, retrieval, and modification of ordered data."
documentation = "https://docs.rs/prollytree"
readme = "README.md"
keywords = [
    "prolly",
    "tree",
    "probabilistic",
    "hash",
]
categories = [
    "data-structures",
    "cryptography",
]
license = "Apache-2.0"
repository = "https://github.com/zhangfengcdt/prollytree.git"

[features]
default = [
    "digest_base64",
    "prolly_balance_max_nodes",
    "git",
    "sql",
]
digest_base64 = ["dep:base64"]
git = [
    "dep:gix",
    "dep:clap",
    "dep:lru",
    "dep:hex",
    "dep:chrono",
    "dep:uuid",
]
prolly_balance_max_nodes = []
prolly_balance_rolling_hash = []
python = ["dep:pyo3"]
rocksdb_storage = [
    "dep:rocksdb",
    "dep:lru",
]
sql = [
    "dep:gluesql-core",
    "dep:async-trait",
    "dep:uuid",
    "dep:futures",
    "dep:tokio",
]
tracing = ["dep:tracing"]

[lib]
name = "prollytree"
crate-type = [
    "cdylib",
    "rlib",
]
path = "src/lib.rs"

[[bin]]
name = "git-prolly"
path = "src/git/git-prolly.rs"
required-features = [
    "git",
    "sql",
]

[[bin]]
name = "prolly-ui"
path = "src/bin/prolly-ui.rs"
required-features = ["git"]

[[example]]
name = "proof"
path = "examples/proof.rs"

[[example]]
name = "sql"
path = "examples/sql.rs"
required-features = ["sql"]

[[example]]
name = "storage"
path = "examples/storage.rs"
required-features = ["rocksdb_storage"]

[[example]]
name = "versioning"
path = "examples/versioning.rs"

[[example]]
name = "worktree"
path = "examples/worktree.rs"
required-features = [
    "git",
    "sql",
]

[[test]]
name = "cli_commands"
path = "tests/cli_commands.rs"

[[test]]
name = "conflict_resolvers"
path = "tests/conflict_resolvers.rs"

[[test]]
name = "error_recovery"
path = "tests/error_recovery.rs"

[[test]]
name = "git_versioning_lifecycle"
path = "tests/git_versioning_lifecycle.rs"

[[test]]
name = "scale_and_stress"
path = "tests/scale_and_stress.rs"

[[test]]
name = "sql_integration"
path = "tests/sql_integration.rs"

[[test]]
name = "storage_backends"
path = "tests/storage_backends.rs"

[[test]]
name = "store_factory"
path = "tests/store_factory.rs"

[[test]]
name = "versioned_store_cross_backend"
path = "tests/versioned_store_cross_backend.rs"

[[test]]
name = "worktree_integration"
path = "tests/worktree_integration.rs"

[[bench]]
name = "git"
path = "benches/git.rs"
harness = false
required-features = [
    "git",
    "sql",
]

[[bench]]
name = "sql"
path = "benches/sql.rs"
harness = false
required-features = ["sql"]

[[bench]]
name = "storage"
path = "benches/storage.rs"
harness = false

[[bench]]
name = "tree"
path = "benches/tree.rs"
harness = false

[dependencies.arrow]
version = "54.2.1"

[dependencies.async-trait]
version = "0.1"
optional = true

[dependencies.base64]
version = "0.22.0"
optional = true

[dependencies.bincode]
version = "1.3.3"

[dependencies.chrono]
version = "0.4"
features = ["serde"]
optional = true

[dependencies.clap]
version = "4.0"
features = ["derive"]
optional = true

[dependencies.futures]
version = "0.3"
optional = true

[dependencies.gix]
version = "0.66"
features = ["blocking-network-client"]
optional = true

[dependencies.gluesql-core]
version = "0.19"
optional = true

[dependencies.hex]
version = "0.4"
optional = true

[dependencies.lru]
version = "0.16"
optional = true

[dependencies.parking_lot]
version = "0.12"

[dependencies.parquet]
version = "54.0.0"
features = ["arrow"]

[dependencies.pyo3]
version = "0.22"
features = [
    "extension-module",
    "abi3-py38",
]
optional = true

[dependencies.rand]
version = "0.9.0"

[dependencies.rocksdb]
version = "0.22"
optional = true

[dependencies.schemars]
version = "0.8"

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.serde_json]
version = "1.0.117"

[dependencies.sha2]
version = "0.10"

[dependencies.thiserror]
version = "2.0"

[dependencies.tokio]
version = "1.0"
features = [
    "rt-multi-thread",
    "macros",
    "sync",
]
optional = true

[dependencies.tracing]
version = "0.1.37"
optional = true

[dependencies.twox-hash]
version = "2.0"

[dependencies.uuid]
version = "1.0"
features = ["v4"]
optional = true

[dev-dependencies.assert_cmd]
version = "2.0"

[dev-dependencies.bytes]
version = "1.10.1"

[dev-dependencies.criterion]
version = "0.5"

[dev-dependencies.predicates]
version = "3.0"

[dev-dependencies.tempfile]
version = "3.0"

[dev-dependencies.tokio]
version = "1.0"
features = ["full"]

[dev-dependencies.tracing]
version = "0.1.37"

[dev-dependencies.tracing-subscriber]
version = "0.3.17"
features = ["env-filter"]