[package]
name = "mako-engine"
version.workspace = true
description = "Event-sourced process engine for German energy market communication (MaKo)"
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
keywords = ["event-sourcing", "cqrs", "energy", "mako", "bdew"]
categories = ["asynchronous", "data-structures"]
[features]
testing = []
tracing = []
slatedb = ["dep:slatedb"]
[dependencies]
serde = { workspace = true }
serde_json = { workspace = true }
thiserror = { workspace = true }
time = { workspace = true }
time-tz = { workspace = true }
uuid = { workspace = true }
tokio = { version = "1", features = ["sync", "time"] }
tracing = { version = "0.1", default-features = false, features = ["log", "attributes"] }
rand = { version = "0.10", default-features = false, features = ["std", "std_rng", "thread_rng"] }
slatedb = { version = "0.14.1", optional = true }
[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports", "async_tokio"] }
tokio = { version = "1", features = ["full"] }
tokio-test = "0.4"
[[example]]
name = "process_lifecycle"
required-features = ["testing"]
[[bench]]
name = "replay_latency"
harness = false
required-features = ["testing"]
[[bench]]
name = "storage"
harness = false
required-features = ["testing"]