[package]
edition = "2021"
rust-version = "1.81"
name = "kafrust"
version = "0.2.6"
build = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A pure Rust Kafka client with no librdkafka or C client binding dependency."
homepage = "https://github.com/TaeeunKil/kafrust"
readme = "README.md"
keywords = [
"kafka",
"client",
"async",
"protocol",
]
categories = [
"api-bindings",
"network-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/TaeeunKil/kafrust"
[lib]
name = "kafrust"
path = "src/lib.rs"
[[example]]
name = "admin_acls"
path = "examples/admin_acls.rs"
[[example]]
name = "admin_client_quotas"
path = "examples/admin_client_quotas.rs"
[[example]]
name = "admin_create_topic"
path = "examples/admin_create_topic.rs"
[[example]]
name = "admin_delete_group_offsets"
path = "examples/admin_delete_group_offsets.rs"
[[example]]
name = "admin_describe_group"
path = "examples/admin_describe_group.rs"
[[example]]
name = "admin_reassign_partitions"
path = "examples/admin_reassign_partitions.rs"
[[example]]
name = "admin_scram_credentials"
path = "examples/admin_scram_credentials.rs"
[[example]]
name = "broker_roundtrip"
path = "examples/broker_roundtrip.rs"
[[example]]
name = "consumer_failover"
path = "examples/consumer_failover.rs"
[[example]]
name = "consumer_fetch"
path = "examples/consumer_fetch.rs"
[[example]]
name = "consumer_group_cooperative_multi_member"
path = "examples/consumer_group_cooperative_multi_member.rs"
[[example]]
name = "consumer_group_failover"
path = "examples/consumer_group_failover.rs"
[[example]]
name = "consumer_group_heartbeat_rejoin"
path = "examples/consumer_group_heartbeat_rejoin.rs"
[[example]]
name = "consumer_group_offset_reset"
path = "examples/consumer_group_offset_reset.rs"
[[example]]
name = "consumer_group_poll"
path = "examples/consumer_group_poll.rs"
[[example]]
name = "consumer_group_regex"
path = "examples/consumer_group_regex.rs"
[[example]]
name = "consumer_position_control"
path = "examples/consumer_position_control.rs"
[[example]]
name = "find_group_coordinator"
path = "examples/find_group_coordinator.rs"
[[example]]
name = "producer_buffered"
path = "examples/producer_buffered.rs"
[[example]]
name = "producer_failover"
path = "examples/producer_failover.rs"
[[example]]
name = "producer_keyless"
path = "examples/producer_keyless.rs"
[[example]]
name = "producer_send"
path = "examples/producer_send.rs"
[[example]]
name = "producer_send_batch"
path = "examples/producer_send_batch.rs"
[[example]]
name = "producer_transaction_failover"
path = "examples/producer_transaction_failover.rs"
[[example]]
name = "producer_transactional"
path = "examples/producer_transactional.rs"
[[example]]
name = "soak"
path = "examples/soak.rs"
[[example]]
name = "throughput_benchmark"
path = "examples/throughput_benchmark.rs"
[[test]]
name = "broker_roundtrip"
path = "tests/broker_roundtrip.rs"
[dependencies.base64]
version = "0.22"
[dependencies.hmac]
version = "0.12"
[dependencies.kafrust-protocol]
version = "0.2.6"
[dependencies.pbkdf2]
version = "0.12"
[dependencies.rand]
version = "0.8"
[dependencies.regex]
version = "1"
[dependencies.rustls]
version = "0.23.35"
features = [
"std",
"ring",
"tls12",
]
optional = true
default-features = false
[dependencies.rustls-platform-verifier]
version = "=0.6.2"
optional = true
[dependencies.sha2]
version = "0.10"
[dependencies.tokio]
version = "1"
features = [
"io-util",
"macros",
"net",
"rt",
"sync",
"time",
]
[dependencies.tokio-rustls]
version = "0.26.4"
features = [
"ring",
"tls12",
]
optional = true
default-features = false
[dependencies.tracing]
version = "0.1"
[dependencies.zeroize]
version = ">=1.8.2, <1.9"
optional = true
[dev-dependencies.tokio]
version = "1"
features = [
"io-util",
"macros",
"net",
"rt-multi-thread",
"time",
]
[features]
default = []
tls = [
"dep:rustls",
"dep:rustls-platform-verifier",
"dep:tokio-rustls",
"dep:zeroize",
]
[lints.clippy]
dbg_macro = "warn"
expect_used = "warn"
panic = "warn"
todo = "warn"
unwrap_used = "warn"
[lints.rust]
unsafe_code = "forbid"