[package]
edition = "2021"
rust-version = "1.70.0"
name = "threatflux-cache"
version = "0.1.8"
authors = ["ThreatFlux"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A flexible async cache library for Rust with pluggable backends and serialization"
readme = "README.md"
keywords = [
"cache",
"async",
"storage",
"lru",
"persistence",
]
categories = [
"caching",
"asynchronous",
"data-structures",
]
license = "MIT"
repository = "https://github.com/ThreatFlux/threatflux-cache"
[features]
bincode-serialization = ["bincode"]
compression = ["flate2"]
default = [
"filesystem-backend",
"json-serialization",
]
filesystem-backend = ["serde_json"]
full = [
"filesystem-backend",
"json-serialization",
"bincode-serialization",
"compression",
"openapi",
"metrics",
"tracing",
]
json-serialization = ["serde_json"]
metrics = ["prometheus"]
openapi = ["utoipa"]
tracing = ["dep:tracing"]
[lib]
name = "threatflux_cache"
path = "src/lib.rs"
[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"
[[example]]
name = "custom_entry"
path = "examples/custom_entry.rs"
[[example]]
name = "file_scanner_migration"
path = "examples/file_scanner_migration.rs"
[[example]]
name = "simple_test"
path = "examples/simple_test.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.bincode]
version = "1.3"
optional = true
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.flate2]
version = "1.0"
optional = true
[dependencies.prometheus]
version = "0.14"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.45"
features = [
"sync",
"rt",
"macros",
"fs",
"io-util",
]
[dependencies.tracing]
version = "0.1"
optional = true
[dependencies.utoipa]
version = "=5.3.0"
optional = true
[dev-dependencies.anyhow]
version = "1.0"
[dev-dependencies.criterion]
version = "0.5"
features = ["async_tokio"]
[dev-dependencies.proptest]
version = "1.7"
[dev-dependencies.tempfile]
version = "3.16"
[dev-dependencies.tokio]
version = "1.45"
features = ["full"]