[package]
name = "ipckit"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
description = "A cross-platform IPC (Inter-Process Communication) library for Rust and Python"
keywords = ["ipc", "pipe", "shared-memory", "socket", "interprocess"]
categories = ["os", "api-bindings", "concurrency"]
[features]
default = []
python-bindings = ["pyo3"]
abi3 = ["pyo3/abi3"]
abi3-py37 = ["pyo3/abi3-py37"]
abi3-py38 = ["pyo3/abi3-py38"]
ext-module = ["pyo3/extension-module"]
async = ["tokio"]
backend-interprocess = ["interprocess"]
[dependencies]
serde.workspace = true
serde_json.workspace = true
thiserror.workspace = true
bytes.workspace = true
parking_lot.workspace = true
crossbeam-channel.workspace = true
tracing.workspace = true
base64 = "0.22"
regex = "1.10"
tokio = { workspace = true, optional = true }
pyo3 = { workspace = true, optional = true }
interprocess = { workspace = true, optional = true }
[target.'cfg(unix)'.dependencies]
libc.workspace = true
[target.'cfg(windows)'.dependencies]
windows-sys.workspace = true
[dev-dependencies]
tempfile.workspace = true
tokio = { workspace = true, features = ["rt-multi-thread", "macros"] }
[lib]
crate-type = ["cdylib", "rlib"]