batpak 0.9.0

Event sourcing with causal graphs and caller-defined gates. Sync API, no async runtime.
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"
rust-version = "1.92"
name = "batpak"
version = "0.9.0"
build = "build.rs"
exclude = ["tests/"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Event sourcing with causal graphs and caller-defined gates. Sync API, no async runtime."
homepage = "https://github.com/freebatteryfactory/batpak"
documentation = "https://docs.rs/batpak"
readme = "README.md"
keywords = [
    "event-sourcing",
    "audit-trail",
    "causal-graph",
    "hash-chain",
    "append-only",
]
categories = [
    "database-implementations",
    "data-structures",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/freebatteryfactory/batpak"

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

[features]
alloc-count = []
blake3 = []
dangerous-test-hooks = ["dep:fastrand"]
default = ["blake3"]
fault-alloc = []
payload-encryption = [
    "dep:chacha20poly1305",
    "dep:getrandom",
]
startup-registry-check = ["dep:ctor"]

[lib]
name = "batpak"
path = "src/lib.rs"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[dependencies.batpak-macros]
version = "0.9.0"

[dependencies.batpak-macros-support]
version = "0.9.0"

[dependencies.blake3]
version = "1"

[dependencies.chacha20poly1305]
version = "0.10"
features = ["alloc"]
optional = true
default-features = false

[dependencies.crc32fast]
version = "1"

[dependencies.ctor]
version = "0.2"
optional = true

[dependencies.dashmap]
version = "6"

[dependencies.ed25519-compact]
version = "2.2.0"
features = ["std"]
default-features = false

[dependencies.fastrand]
version = "2"
optional = true

[dependencies.flume]
version = "0.12"

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

[dependencies.libc]
version = "0.2"

[dependencies.memmap2]
version = "0.9"

[dependencies.parking_lot]
version = "0.12"

[dependencies.rayon]
version = "1.12"

[dependencies.rmp-serde]
version = "=1.3.1"

[dependencies.rmpv]
version = "=1.3.1"

[dependencies.serde]
version = "1"
features = [
    "derive",
    "rc",
]

[dependencies.serde_json]
version = "1"

[dependencies.tempfile]
version = ">=3.24, <3.25"

[dependencies.tracing]
version = "0.1"

[dependencies.uuid]
version = ">=1.20, <1.24"
features = [
    "std",
    "v7",
]
default-features = false

[dependencies.zeroize]
version = "1"

[dev-dependencies.arbitrary]
version = "1"
features = ["derive"]

[dev-dependencies.batpak-bench-support]
version = "0.9.0"

[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]

[dev-dependencies.fastrand]
version = "2"

[dev-dependencies.loom]
version = "0.7"

[dev-dependencies.proptest]
version = "1"

[dev-dependencies.rmp-serde]
version = "=1.3.1"

[dev-dependencies.serial_test]
version = "3.5.0"
features = ["file_locks"]

[dev-dependencies.tempfile]
version = ">=3.24, <3.25"

[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
    "fmt",
    "std",
]

[dev-dependencies.trybuild]
version = "1"

[dev-dependencies.yaml_serde]
version = "0.10.4"

[build-dependencies.crc32fast]
version = "1"

[build-dependencies.proc-macro2]
version = "1"
features = ["span-locations"]

[build-dependencies.serde]
version = "1"
features = ["derive"]

[build-dependencies.serde_json]
version = "1"

[build-dependencies.syn]
version = "2"
features = [
    "full",
    "visit",
]

[build-dependencies.yaml_serde]
version = "0.10.4"

[lints.clippy]
assertions_on_constants = "deny"
cast_possible_truncation = "deny"
cast_sign_loss = "deny"
clone_on_ref_ptr = "warn"
dbg_macro = "deny"
disallowed_methods = "deny"
large_enum_variant = "warn"
missing_errors_doc = "warn"
module_name_repetitions = "allow"
must_use_candidate = "allow"
needless_pass_by_value = "warn"
needless_return = "deny"
panic = "deny"
print_stderr = "deny"
print_stdout = "deny"
todo = "deny"
unimplemented = "deny"
unwrap_used = "deny"
wildcard_enum_match_arm = "warn"

[lints.rust]
deprecated = "deny"

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(gauntlet_red_fixture)"]