[package]
edition = "2024"
rust-version = "1.95"
name = "sassi"
version = "0.1.0-beta.1"
authors = ["Tarunvir Bains"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Typed in-memory pool with composable predicate algebra and cross-runtime trait queries."
homepage = "https://github.com/TarunvirBains/sassi"
readme = "README.md"
keywords = [
"cache",
"lru",
"predicate",
"query",
"rust",
]
categories = [
"caching",
"data-structures",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/TarunvirBains/sassi"
resolver = "2"
[features]
default = [
"serde",
"runtime-tokio",
]
runtime-tokio = []
runtime-wasm = [
"dep:wasm-bindgen-futures",
"dep:gloo-timers",
]
serde = [
"dep:serde",
"dep:serde_json",
]
watermark-chrono = ["dep:chrono"]
watermark-time = ["dep:time"]
[lib]
name = "sassi"
path = "src/lib.rs"
[[test]]
name = "backend_failure_modes"
path = "tests/backend_failure_modes.rs"
[[test]]
name = "backend_file"
path = "tests/backend_file.rs"
[[test]]
name = "cacheable_derive"
path = "tests/cacheable_derive.rs"
[[test]]
name = "cross_version_compat"
path = "tests/cross_version_compat.rs"
[[test]]
name = "delta_sync_recovery"
path = "tests/delta_sync_recovery.rs"
[[test]]
name = "delta_sync_subscription"
path = "tests/delta_sync_subscription.rs"
[[test]]
name = "delta_sync_watermark"
path = "tests/delta_sync_watermark.rs"
[[test]]
name = "no_runtime_refresh"
path = "tests/no_runtime_refresh.rs"
[[test]]
name = "predicate_basic"
path = "tests/predicate_basic.rs"
[[test]]
name = "predicate_memq"
path = "tests/predicate_memq.rs"
[[test]]
name = "predicate_optional_fields"
path = "tests/predicate_optional_fields.rs"
[[test]]
name = "punnu_apply_delta"
path = "tests/punnu_apply_delta.rs"
[[test]]
name = "punnu_doctrine_tenant"
path = "tests/punnu_doctrine_tenant.rs"
[[test]]
name = "punnu_doctrine_visage"
path = "tests/punnu_doctrine_visage.rs"
[[test]]
name = "punnu_doctrine_wrapper"
path = "tests/punnu_doctrine_wrapper.rs"
[[test]]
name = "punnu_events"
path = "tests/punnu_events.rs"
[[test]]
name = "punnu_executor_default"
path = "tests/punnu_executor_default.rs"
[[test]]
name = "punnu_executor_wasm"
path = "tests/punnu_executor_wasm.rs"
[[test]]
name = "punnu_get_or_fetch"
path = "tests/punnu_get_or_fetch.rs"
[[test]]
name = "punnu_get_or_fetch_many"
path = "tests/punnu_get_or_fetch_many.rs"
[[test]]
name = "punnu_identity_map"
path = "tests/punnu_identity_map.rs"
[[test]]
name = "punnu_l1_invariants"
path = "tests/punnu_l1_invariants.rs"
[[test]]
name = "punnu_metrics"
path = "tests/punnu_metrics.rs"
[[test]]
name = "punnu_namespace"
path = "tests/punnu_namespace.rs"
[[test]]
name = "punnu_refresh"
path = "tests/punnu_refresh.rs"
[[test]]
name = "punnu_single_flight"
path = "tests/punnu_single_flight.rs"
[[test]]
name = "punnu_snapshot_swap"
path = "tests/punnu_snapshot_swap.rs"
[[test]]
name = "punnu_ttl_lazy"
path = "tests/punnu_ttl_lazy.rs"
[[test]]
name = "punnu_ttl_sweep"
path = "tests/punnu_ttl_sweep.rs"
[[test]]
name = "sassi_orchestrator"
path = "tests/sassi_orchestrator.rs"
[[bench]]
name = "punnu_bench"
path = "benches/punnu_bench.rs"
harness = false
[dependencies.arc-swap]
version = "1"
[dependencies.async-trait]
version = "0.1"
[dependencies.chrono]
version = "0.4"
features = ["std"]
optional = true
default-features = false
[dependencies.dashmap]
version = "6"
[dependencies.fastrand]
version = "2"
[dependencies.futures]
version = "0.3"
[dependencies.gloo-timers]
version = "0.4"
features = ["futures"]
optional = true
[dependencies.im]
version = "15"
[dependencies.inventory]
version = "0.3"
[dependencies.sassi-macros]
version = "0.1.0-beta.1"
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
features = ["preserve_order"]
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.time]
version = "0.3"
features = ["std"]
optional = true
default-features = false
[dependencies.tokio]
version = "1.52"
features = [
"sync",
"rt",
"time",
"macros",
]
default-features = false
[dependencies.tracing]
version = "0.1"
[dependencies.wasm-bindgen-futures]
version = "0.4"
optional = true
[dependencies.web-time]
version = "1"
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1.52"
features = [
"sync",
"rt",
"time",
"macros",
"test-util",
]
default-features = false
[dev-dependencies.trybuild]
version = "1"