7 releases
| new 0.1.7 | Apr 18, 2026 |
|---|---|
| 0.1.6 | Dec 17, 2025 |
#531 in Concurrency
786 downloads per month
495KB
12K
SLoC
ipckit
A cross-platform IPC (Inter-Process Communication) library for Rust and Python.
Features
- Pipes: Anonymous and named pipes for parent-child process communication
- Shared Memory: Fast data sharing between processes using memory-mapped regions
- Unix Domain Sockets / Named Pipes: Bidirectional communication channels
- Message Channels: High-level message passing with serialization support
- File Channel: Simple file-based IPC for frontend-backend communication
- Thread Channel: High-performance intra-process thread communication
- Event Stream: Real-time publish-subscribe event system
- Task Manager: Task lifecycle management with progress tracking
- Socket Server: Multi-client socket server (like Docker's socket)
- API Server: HTTP-over-Socket RESTful API service
- Metrics: Performance monitoring and metrics collection
- Waker: Event loop integration for GUI/async frameworks
Example
use ipckit::{NamedPipe, IpcError};
fn main() -> Result<(), IpcError> {
// Create a named pipe server
let server = NamedPipe::create("my_pipe")?;
// In another process, connect as client
// let client = NamedPipe::connect("my_pipe")?;
Ok(())
}
Dependencies
~8–17MB
~228K SLoC