[package]
name = "parcode"
version = "0.5.0"
edition = "2024"
authors = ["RetypeOS"]
description = "A high-performance, lazy load and parallelized caching library for complex Rust data structures."
repository = "https://github.com/retypeos/parcode"
readme = "README.md"
keywords = ["parallel", "performance", "serialization", "sharding", "lazy_load"]
categories = ["concurrency", "filesystem", "data-structures"]
license = "MIT"
exclude = [
"tests/*",
"benches/*",
"examples/*",
".github/*",
"assets/*",
".axes/*",
]
[dependencies]
parcode-derive = { version = "0.4.0" }
bincode = { version = "2.0.1", features = ["serde"] }
memmap2 = "0.9.9"
rayon = "1.11.0"
serde = { version = "1.0.228", features = ["derive", "rc"] }
twox-hash = "2.1.2"
lz4_flex = { version = "0.12.0", optional = true }
[features]
default = []
lz4_flex = ["dep:lz4_flex"]
[dev-dependencies]
tempfile = "3.8"
criterion = "0.8.1"
serde_bytes = "0.11.19"
[[bench]]
name = "performance"
harness = false
required-features = []
doc = false
[[bench]]
name = "lazy_bench"
harness = false
required-features = []
doc = false
[[bench]]
name = "map_access"
harness = false
required-features = []
doc = false
[lints]
rust.keyword_idents_2024 = "forbid"
rust.non_ascii_idents = "forbid"
rust.unsafe_op_in_unsafe_fn = "forbid"
rust.unsafe_code = "deny"
rust.elided_lifetimes_in_paths = "warn"
rust.missing_debug_implementations = "warn"
rust.missing_docs = "warn"
rust.trivial_numeric_casts = "warn"
rust.unreachable_pub = "warn"
rust.unused_import_braces = "warn"
[lints.clippy]
panic = "deny"
unwrap_used = "deny"
cast_possible_truncation = "deny"
cast_sign_loss = "deny"
indexing_slicing = "warn"
cargo_common_metadata = "warn"
dbg_macro = "warn"
doc_markdown = "warn"
semicolon_if_nothing_returned = "warn"
todo = "warn"
use_self = "warn"
unnecessary_wraps = "warn"
pedantic = { level = "allow", priority = -1 }
nursery = { level = "allow", priority = -1 }
restriction = { level = "allow", priority = -1 }
too_many_arguments = "allow"
module_name_repetitions = "allow"