[workspace]
members = [
"crates/polytune-test-utils",
"crates/polytune-server-core",
"crates/polytune-http-server",
"examples/api-integration",
"examples/http-multi-server-channels",
"examples/http-single-server-channels",
"examples/wasm-http-channels",
"examples/sql-integration",
]
[workspace.lints.rust]
missing_docs = "warn"
[workspace.lints.clippy]
unwrap_used = "warn"
[workspace.lints.rustdoc]
broken_intra_doc_links = "warn"
[package]
name = "polytune"
version = "0.2.0-alpha.4"
edition = "2024"
rust-version = "1.89.0"
description = "Maliciously-Secure Multi-Party Computation (MPC) Engine using Authenticated Garbling"
repository = "https://github.com/sine-fdn/polytune/"
homepage = "https://polytune.org/"
license = "MIT"
categories = ["cryptography", "security"]
keywords = [
"secure-computation",
"garbled-circuits",
"circuit-description",
"smpc",
"mpc",
]
autobenches = false
[package.metadata.docs.rs]
rustdoc-args = ["--generate-link-to-definition"]
[lib]
bench = false
[features]
__bench = []
[dependencies]
aes = "=0.9.0-rc.2"
bincode = { version = "2.0.1", default-features = false, features = ["std", "serde"] }
blake3 = "1.5.0"
bytemuck = { version = "1.24.0", features = ["latest_stable_rust"] }
chacha20poly1305 = "0.10.1"
curve25519-dalek = { version = "4.1.0", features = ["rand_core"] }
futures-util = { version = "0.3.31", default-features = false, features = [
"alloc",
"async-await-macro",
] }
garble_lang = "0.7.0-alpha.1"
hybrid-array = { version = "0.4.5", features = ["bytemuck"] }
rand = "0.9.2"
rand_chacha = "0.9.0"
rand_core_0_6 = { package = "rand_core", version = "0.6" }
seq-macro = "0.3.6"
serde = { version = "1.0.228", features = ["derive"] }
subtle = "2.6.1"
tempfile = "3.23.0"
thiserror = "2.0.16"
tokio = { version = "1.48.0", features = ["macros", "sync", "time"] }
tracing = "0.1.43"
wide = { version = "0.7.33", features = ["serde"] }
[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom_0_2 = { package = "getrandom", version = "0.2.16", features = ["js"] }
getrandom_0_3 = { package = "getrandom", version = "0.3", features = [
"wasm_js",
] }
[target.'cfg(any(target_arch = "aarch64", target_arch = "loongarch64", target_arch = "x86", target_arch = "x86_64"))'.dependencies]
cpufeatures = "0.2.17"
[dev-dependencies]
criterion = { version = "0.8.1", features = ["async_tokio"] }
polytune-test-utils = { path = "crates/polytune-test-utils" }
proptest = "1.9.0"
tokio = { version = "1.48.0", features = ["full"] }
tracing-subscriber = { version = "0.3.22", features = ["env-filter"] }
[[bench]]
name = "main"
harness = false
required-features = ["__bench"]
[package.metadata.cargo-machete]
ignored = ["hybrid-array"]
[profile.debug-release]
debug = true
inherits = "release"