[package]
description = "A lease based distributed lock with support for fencing tokens"
edition = "2024"
homepage = "https://github.com/kodebooth/dlock"
keywords = ["distributed", "locking", "dynamodb", "lease"]
license = "MIT"
name = "dlock"
readme = "README.md"
repository = "https://github.com/kodebooth/dlock"
version = "0.2.0"
[features]
default = ["dynamodb"]
dynamodb = ["dep:aws-config", "dep:aws-sdk-dynamodb", "dep:serde_dynamo"]
[dependencies]
aws-config = { version = "1.8", features = ["behavior-version-latest"], optional = true}
aws-sdk-dynamodb = {version = "1.100", optional = true }
bon = "3.8"
serde = { version = "1.0", features = ["derive"] }
serde_dynamo = { version = "4", features = ["aws-sdk-dynamodb+1"], optional = true }
thiserror = "2.0"
tokio = { version = "1.48", features = ["full", "tracing"] }
tracing = "0.1"
trait-variant = "0.1"
uuid = { version = "1.19", features = ["v4", "serde"] }
[dev-dependencies]
console-subscriber = "0.5"
rand = "0.9"
testcontainers-modules = { version = "0.14", features = ["dynamodb"] }
tracing-subscriber = "0.3"