[package]
edition = "2021"
name = "pulsar"
version = "6.7.0"
authors = [
"Colin Stearns <cstearns@developers.wyyerd.com>",
"Kevin Stenerson <kstenerson@developers.wyyerd.com>",
"Geoffroy Couprie <contact@geoffroycouprie.com>",
]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust client for Apache Pulsar"
documentation = "https://docs.rs/pulsar"
readme = "README.md"
keywords = [
"pulsar",
"api",
"client",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/streamnative/pulsar-rs"
[features]
async-std-runtime = [
"async-std",
"asynchronous-codec",
"native-tls",
"async-native-tls",
]
async-std-rustls-runtime = ["async-std-rustls-runtime-aws-lc-rs"]
async-std-rustls-runtime-aws-lc-rs = [
"async-std",
"asynchronous-codec",
"webpki-roots",
"rustls/aws-lc-rs",
"futures-rustls/aws-lc-rs",
]
async-std-rustls-runtime-ring = [
"async-std",
"asynchronous-codec",
"webpki-roots",
"rustls/ring",
"futures-rustls/ring",
]
auth-oauth2 = [
"openidconnect",
"oauth2",
"serde",
"serde_json",
"data-url",
]
compression = [
"lz4",
"flate2",
"zstd",
"snap",
]
default = [
"compression",
"tokio-runtime",
"async-std-runtime",
"auth-oauth2",
]
protobuf-src = ["dep:protobuf-src"]
telemetry = ["tracing"]
tokio-runtime = [
"tokio",
"tokio-util",
"native-tls",
"tokio-native-tls",
]
tokio-rustls-runtime = ["tokio-rustls-runtime-aws-lc-rs"]
tokio-rustls-runtime-aws-lc-rs = [
"tokio",
"tokio-util",
"webpki-roots",
"rustls/aws-lc-rs",
"tokio-rustls/aws-lc-rs",
]
tokio-rustls-runtime-ring = [
"tokio",
"tokio-util",
"webpki-roots",
"rustls/ring",
"tokio-rustls/ring",
]
[lib]
name = "pulsar"
path = "src/lib.rs"
[[example]]
name = "batching"
path = "examples/batching.rs"
[[example]]
name = "consumer"
path = "examples/consumer.rs"
[[example]]
name = "producer"
path = "examples/producer.rs"
[[example]]
name = "reader"
path = "examples/reader.rs"
[[example]]
name = "round_trip"
path = "examples/round_trip.rs"
[dependencies.async-channel]
version = "^2.3.1"
[dependencies.async-native-tls]
version = "^0.5.0"
optional = true
[dependencies.async-std]
version = "^1.13.1"
features = [
"attributes",
"unstable",
]
optional = true
[dependencies.async-trait]
version = "^0.1.88"
[dependencies.asynchronous-codec]
version = "^0.7.0"
optional = true
[dependencies.bytes]
version = "^1.9.0"
[dependencies.chrono]
version = "^0.4.41"
features = [
"clock",
"std",
]
default-features = false
[dependencies.crc]
version = "^3.3.0"
[dependencies.data-url]
version = "^0.3.1"
optional = true
[dependencies.flate2]
version = "^1.1.1"
optional = true
[dependencies.futures]
version = "^0.3.31"
[dependencies.futures-rustls]
version = "^0.26.0"
features = [
"tls12",
"logging",
]
optional = true
default-features = false
[dependencies.log]
version = "^0.4.27"
[dependencies.lz4]
version = "^1.28.0"
optional = true
[dependencies.murmur3]
version = "0.5.2"
[dependencies.native-tls]
version = "^0.2.12"
optional = true
[dependencies.nom]
version = "^7.1.3"
features = ["alloc"]
default-features = false
[dependencies.oauth2]
version = "^5.0.0"
optional = true
[dependencies.openidconnect]
version = "^4.0.0"
optional = true
[dependencies.pem]
version = "^3.0.4"
[dependencies.prost]
version = "^0.13.4"
[dependencies.prost-derive]
version = "^0.13.4"
[dependencies.rand]
version = "^0.8.5"
[dependencies.regex]
version = "^1.11.1"
[dependencies.rustls]
version = "^0.23.27"
features = [
"log",
"std",
]
optional = true
default-features = false
[dependencies.serde]
version = "^1.0.219"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "^1.0.140"
optional = true
[dependencies.snap]
version = "^1.1.1"
optional = true
[dependencies.tokio]
version = "^1.45.0"
features = [
"rt",
"net",
"time",
]
optional = true
[dependencies.tokio-native-tls]
version = "^0.3.1"
optional = true
[dependencies.tokio-rustls]
version = "0.26.2"
features = [
"logging",
"tls12",
]
optional = true
default-features = false
[dependencies.tokio-util]
version = "^0.7.15"
features = ["codec"]
optional = true
[dependencies.tracing]
version = "^0.1.41"
optional = true
[dependencies.url]
version = "^2.5.4"
[dependencies.uuid]
version = "^1.16.0"
features = [
"v4",
"fast-rng",
]
[dependencies.webpki-roots]
version = "^1.0.0"
optional = true
[dependencies.zstd]
version = "^0.13.2"
optional = true
[dev-dependencies.assert_matches]
version = "1.5.0"
[dev-dependencies.env_logger]
version = "^0.11.8"
[dev-dependencies.reqwest]
version = "0.12.23"
features = ["json"]
[dev-dependencies.serde]
version = "^1.0.216"
features = ["derive"]
[dev-dependencies.serde_json]
version = "^1.0.133"
[dev-dependencies.tokio]
version = "^1.42.0"
features = [
"macros",
"rt-multi-thread",
]
[build-dependencies.prost-build]
version = "^0.13.4"
[build-dependencies.protobuf-src]
version = "^2.1.0"
optional = true