[package]
name = "cachekit-core"
version = "0.1.1"
edition = "2021"
authors = ["cachekit Contributors"]
description = "LZ4 compression, xxHash3 integrity, AES-256-GCM encryption for byte payloads"
rust-version = "1.82"
license = "MIT"
repository = "https://github.com/cachekit-io/cachekit-core"
homepage = "https://github.com/cachekit-io/cachekit-core"
documentation = "https://docs.rs/cachekit-core"
readme = "README.md"
keywords = ["lz4", "xxhash3", "aes-gcm", "encryption", "compression"]
categories = ["compression", "cryptography"]
[lib]
name = "cachekit_core"
crate-type = ["cdylib", "rlib", "staticlib"]
[dependencies]
thiserror = "1.0"
serde = { version = "1.0", features = ["derive"] }
serde_bytes = "0.11"
rmp-serde = { version = "1.3", optional = true }
lz4_flex = { version = "0.11", features = ["frame", "std"], optional = true }
xxhash-rust = { version = "0.8", features = ["xxh3"], optional = true }
ring = { version = "0.17", optional = true }
zeroize = { version = "1.8", features = ["derive"], optional = true }
hkdf = { version = "0.12", optional = true }
sha2 = { version = "0.10", optional = true }
hmac = { version = "0.12", optional = true }
generic-array = { version = "0.14", optional = true }
bytes = "1.5"
byteorder = "1.5"
[build-dependencies]
cbindgen = "0.29"
[dev-dependencies]
proptest = "1.4"
serde_json = "1.0"
blake2 = "0.10"
hex = "0.4"
[features]
default = ["compression", "checksum", "messagepack"]
compression = ["dep:lz4_flex"]
checksum = ["dep:xxhash-rust"]
messagepack = ["dep:rmp-serde"]
encryption = [
"dep:ring",
"dep:zeroize",
"dep:hkdf",
"dep:sha2",
"dep:hmac",
"dep:generic-array",
]
ffi = []
[package.metadata.kani]
default-unwind = 10
output-format = "terse"
concrete-playback = "print"
enable-unstable = false
solver = "cadical"
[package.metadata.kani.unstable]
stubbing = false
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(kani)'] }