| Crates.io | whispeer |
| lib.rs | whispeer |
| version | 0.0.22 |
| created_at | 2025-12-03 11:21:04.130323+00 |
| updated_at | 2025-12-28 09:24:38.301858+00 |
| description | A plugin-based pub/sub messaging system |
| homepage | |
| repository | https://github.com/kevinj045/whispeer |
| max_upload_size | |
| id | 1963884 |
| size | 110,807 |
A lightweight, end-to-end encrypted Pub/Sub broker built for secure, real-time applications and extensible event-driven systems. Whispeer leverages Rust's performance and safety features to provide a robust messaging solution.
Whispeer is designed for developers who need a reliable, secure, and flexible messaging backbone. Whether you're building real-time chat applications, IoT platforms, or distributed microservices, Whispeer offers:
Get a taste of Whispeer with a simple publish-subscribe example:
use whispeer::Broker;
use serde::{Serialize, Deserialize};
#[derive(Debug, Default, Clone, Serialize, Deserialize, PartialEq)]
struct MyData {
name: String,
id: i32
}
#[tokio::main]
async fn main() {
let broker = Broker::new();
let topic = "my-secure-channel";
// Subscribe to a topic with your custom data type
broker.subscribe(topic, |data: MyData| {
Box::pin(async move {
println!("Received data: {:?}", data);
})
});
// Publish a message
let my_data = MyData {
name: "Alice".to_string(),
id: 42
};
if let Err(e) = broker.publish(topic, my_data).await {
eprintln!("Failed to publish: {}", e);
}
}
For a deeper dive into Whispeer's architecture, development milestones, detailed feature lists, and technical stack, please refer to PROJECT.md.
We welcome contributions! Please see PROJECT.md for guidelines on how to get involved.
To ensure everything is working as expected, run the test suite:
cargo test