[package]
name = "heed"
version = "0.10.5"
authors = ["Kerollmops <renault.cle@gmail.com>"]
description = "A fully typed LMDB/MDBX wrapper with minimum overhead"
license = "MIT"
repository = "https://github.com/Kerollmops/heed"
keywords = ["lmdb", "database", "storage", "typed"]
categories = ["database", "data-structures"]
readme = "../README.md"
edition = "2018"

[dependencies]
byteorder = { version = "1.3.4", default-features = false }
heed-traits = { version = "0.7.0", path = "../heed-traits" }
heed-types = { version = "0.7.2", path = "../heed-types" }
libc = "0.2.80"
lmdb-rkv-sys = { version = "0.11.0", optional = true }
mdbx-sys = { version = "0.7.1", optional = true }
once_cell = "1.5.2"
page_size = "0.4.2"
synchronoise = "1.0.0"
zerocopy = "0.3.0"

[target.'cfg(windows)'.dependencies]
url = "2.2.0"

[dev-dependencies]
serde = { version = "1.0.117", features = ["derive"] }

[features]
default = ["lmdb", "serde-bincode", "serde-json"]

# The NO_TLS flag is automatically set on Env opening and
# RoTxn implements the Sync trait. This allow the user to reference
# a read-only transaction from multiple threads at the same time.
sync-read-txn = []

# Choose between using the MDBX key-value store or LMDB
# MDBX is a fork of LMDB: https://github.com/erthink/libmdbx
#
# You cannot use both features at the same time, you have to choose!
lmdb = ["lmdb-rkv-sys"]
mdbx = ["mdbx-sys"]

# Enable the serde en/decoders for bincode or serde_json
serde-bincode = ["heed-types/serde", "heed-types/bincode"]
serde-json = ["heed-types/serde", "heed-types/serde_json"]

# serde_json features
preserve_order = ["heed-types/preserve_order"]
arbitrary_precision = ["heed-types/arbitrary_precision"]
raw_value = ["heed-types/raw_value"]
unbounded_depth = ["heed-types/unbounded_depth"]
