[package] name = "event-sourcing" version = "0.1.20" edition = "2021" description = "Event sourcing made ease!" license = "MIT OR Apache-2.0" keywords = ["event-sourcing", "cqrs"] repository = "https://github.com/flowionab/event-sourcing" rust-version = "1.56" authors = ["Joatin Granlund "] [[example]] path = "examples/postgres.rs" name = "Postgres" required-features = ["postgres", "pubsub"] [dependencies] async-trait = "0.1" futures = "0.3" uuid = {version = "1.8", default-features = false} tracing = { version = "0.1", default-features = false } chrono = {version = "0.4", default-features = false, features = ["now"]} serde = { version = "1.0", features = ["serde_derive"], optional = true } serde_json = {version = "1.0", optional = true } tokio = {version = "1", features = ["time", "sync"]} tokio-stream = { version = "0.1", features = ["sync"], optional = true } snafu = { version = "0.8", default-features = false } tokio-postgres = { version = "0.7", features = [ "with-chrono-0_4", "with-serde_json-1", "with-uuid-1" ], optional = true } bb8 = { version = "0.8", optional = true } bb8-postgres = { version = "0.8", optional = true } google-cloud-googleapis = { version = "0.13", optional = true } google-cloud-pubsub = {version = "0.25", default-features = false, features = [ "rustls-tls", "auth" ], optional = true} prost-types = { version = "0.12", optional = true } prometheus = { version = "0.13", optional = true } lazy_static = { version = "1.4", optional = true } lapin = { version = "2.3", optional = true, default-features = false } tokio-executor-trait = { version = "2.1", optional = true } tokio-reactor-trait = { version = "1.1", optional = true } [dev-dependencies] tokio = {version = "1", features = ["full"]} uuid = {version = "1.8", default-features = false, features = ["v4"]} [features] default = ["std", "in_memory"] postgres = ["std","serde", "dep:tokio-postgres", "dep:bb8", "dep:bb8-postgres"] pubsub = ["std", "serde", "dep:google-cloud-googleapis", "dep:google-cloud-pubsub", "dep:prost-types"] in_memory = ["std", "dep:tokio-stream"] serde = ["dep:serde", "dep:serde_json", "uuid/serde", "chrono/serde"] std = ["snafu/std", "tracing/std"] prometheus = ["dep:prometheus", "dep:lazy_static"] amqp = ["std", "dep:serde", "dep:serde_json", "dep:lapin", "dep:tokio-executor-trait", "dep:tokio-reactor-trait"] amqp-tls = ["amqp", "lapin/rustls"]