[package]
name = "p2panda-stream"
version = "0.6.0"
edition = "2024"
authors = [
  "adz <x12@adz.garden>",
  "sandreae <contact@samandreae.com>",
  "glyph <glyph@mycelial.technology>",
]
description = "Event stream processing for p2p data-types"
repository = "https://github.com/p2panda/p2panda"
license = "MIT OR Apache-2.0"
readme = "README.md"
keywords = ["eventsourcing", "processing", "p2p", "local-first", "stream"]

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

[lints]
workspace = true

[features]
default = [
  "ingest",
  "log_prune",
  "orderer",
]
ingest = []
log_prune = []
orderer = []

[dependencies]
futures-core = { version = "0.3.31", default-features = false, features = ["alloc"] }
p2panda-core = { workspace = true, default-features = true }
p2panda-store = { workspace = true, default-features = true }
pin-project = "1.1.10"
thiserror = { workspace = true }
tokio = { workspace = true, default-features = false, features = ["rt", "sync", "macros"] }

[dev-dependencies]
futures-test = { version = "0.3.31" }
futures-util = { workspace = true, features = ["alloc"] }
p2panda-core = { workspace = true, default-features = true, features = ["test_utils"] }
p2panda-store = { workspace = true, default-features = true, features = ["test_utils"] }
serde = { workspace = true }
tokio = { workspace = true, default-features = true, features = ["macros", "rt", "sync", "time"] }
tokio-stream = { version = "0.1.17", default-features = false }
