[package]
name = "grafeo-common"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
description = "Common types, memory allocators, and utilities for Grafeo"

[dependencies]
# Error handling
thiserror.workspace = true

# Data structures
smallvec.workspace = true
bumpalo.workspace = true
hashbrown.workspace = true
dashmap.workspace = true
indexmap.workspace = true
arcstr.workspace = true

# Hashing
foldhash.workspace = true

# Serialization
serde.workspace = true
bincode.workspace = true
byteorder.workspace = true
bytes.workspace = true

# Concurrency
parking_lot.workspace = true

# Observability (optional)
tracing = { workspace = true, optional = true }

[features]
default = []
tiered-storage = []
temporal = []
tracing = ["dep:tracing"]

[dev-dependencies]
criterion.workspace = true

[lints]
workspace = true

[[bench]]
name = "arena_bench"
harness = false
