[workspace] members = ["hedwig_core"] [workspace.package] authors = [ "Aniruddha Maru ", "Simonas Kazlauskas ", "Renar Narubin ", ] description = "A simple message bus for Rust" repository = "https://github.com/standard-ai/hedwig-rust.git" homepage = "https://github.com/standard-ai/hedwig-rust" license = "Apache-2.0" [package] name = "hedwig" version = "7.1.0" edition = "2021" authors.workspace = true description.workspace = true repository.workspace = true homepage.workspace = true license.workspace = true readme = "README.md" keywords = ["pubsub", "messagebus", "microservices"] categories = ["asynchronous", "web-programming"] [badges] maintenance = { status = "actively-developed" } [features] default = [] # Backends google = ["ya-gcp", "tracing", "parking_lot"] mock = ["async-channel", "parking_lot"] # Validators json-schema = ["valico", "serde_json", "serde"] protobuf = ["prost"] [[example]] name = "googlepubsub" required-features = ["google", "protobuf"] [dependencies] async-trait = { version = "0.1" } bytes = "1" either = { version = "1", features = ["use_std"], default-features = false } futures-util = { version = "0.3.17", features = ["std", "sink"], default-features = false } hedwig_core = { version = "0.1", path = "./hedwig_core" } pin-project = "1" smallstr = { version = "0.3.0", features = ["union"] } thiserror = { version = "1", default-features = false } url = { version = "2", default-features = false } uuid = { version = "1.6", features = ["v4"], default-features = false } async-channel = { version = "1.6", optional = true } serde = { version = "^1.0", optional = true, default-features = false } serde_json = { version = "^1", features = ["std"], optional = true, default-features = false } parking_lot = { version = "0.11", optional = true } prost = { version = "0.12", optional = true, features = ["std"], default-features = false } tracing = { version = "0.1.37", optional = true } valico = { version = "^3.2", optional = true, default-features = false } ya-gcp = { version = "0.11", features = ["pubsub"], optional = true } [dev-dependencies] async-channel = { version = "1.6" } futures-channel = "0.3.17" parking_lot = { version = "0.11" } prost = { version = "0.12", features = ["std", "prost-derive"] } tokio = { version = "1", features = ["macros", "rt"] } tonic = "0.10" serde = { version = "1", features = ["derive"] } ya-gcp = { version = "0.11", features = ["pubsub", "emulators"] } structopt = "0.3" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]