[package]
name = "lightcycle"
version = "0.1.1"
edition = "2024"
authors = ["C J Silverio <ceejceej@gmail.com>"]
description = "Consistent and rendezvous hash rings with optimized hash functions."
readme = "README.md"
license = "Parity-7.0.0"
repository = "https://github.com/ceejbot/lightcycle"
homepage = "https://github.com/ceejbot/lightcycle"
[features]
default = ["hash-murmur3"]
hash-blake3 = ["blake3"]
hash-metrohash = ["metrohash"]
hash-murmur3 = ["murmurs"]
hash-rapidhash = ["rapidhash"]
hash-xxhash = ["xxhash-rust"]
murmurs = ["dep:murmurs"]
[dependencies]
blake3 = { version = "1.3.3", optional = true }
metrohash = { version = "1.0.7", optional = true }
murmurs = { version = "1.0.5", optional = true }
rapidhash = { version = "4.0.0", optional = true }
thiserror = "2.0.16"
xxhash-rust = { version = "0.8", features = ["xxh3"], optional = true }
[lints.rust]
unsafe_code = { level = "deny", priority = 1 }
future_incompatible = { level = "deny", priority = 2 }
trivial_casts = { level = "warn", priority = 3 }
rust_2018_idioms = { level = "warn", priority = 4 }
[lints.clippy]
unwrap_used = "deny"
[profile.release]
lto = true
codegen-units = 1
opt-level = 3
strip = true
panic = "abort"
[dev-dependencies]
anyhow = "1.0.99"
kolmogorov_smirnov = "1.1.0"
redis = "1.2.1"