[package]
edition = "2021"
name = "alopex-core"
version = "0.7.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core storage engine for Alopex DB - LSM-tree, columnar storage, and vector index"
readme = "README.md"
keywords = [
"database",
"storage",
"lsm-tree",
"columnar",
"vector",
]
categories = ["database-implementations"]
license = "Apache-2.0"
repository = "https://github.com/alopex-db/alopex"
[features]
async = []
checksum-xxh64 = ["xxhash-rust/xxh64"]
compression-lz4 = ["lz4"]
compression-zstd = ["zstd"]
default = []
lane_ci = []
lane_fuzz = []
lane_nightly = []
lane_perf = []
lane_sanitizer = []
lane_smoke = []
lane_soak = []
lane_weekly = []
memory-profiling = [
"dhat",
"crossbeam-skiplist",
]
s3 = [
"object_store",
"tokio",
"bytes",
"futures",
"url",
]
test-hooks = ["tokio"]
tokio = [
"async",
"dep:tokio",
]
wasm = ["async"]
wasm-indexeddb = [
"js-sys",
"web-sys",
]
[lib]
name = "alopex_core"
path = "src/lib.rs"
[[bin]]
name = "memory_profile"
path = "src/bin/memory_profile.rs"
required-features = ["memory-profiling"]
[[example]]
name = "generate_compat_v0_1"
path = "examples/generate_compat_v0_1.rs"
[[test]]
name = "acceptance_core"
path = "tests/acceptance_core.rs"
[[test]]
name = "async_kv_test"
path = "tests/async_kv_test.rs"
[[test]]
name = "async_vector_test"
path = "tests/async_vector_test.rs"
[[test]]
name = "dataframe_stability_bench"
path = "tests/dataframe_stability_bench.rs"
[[test]]
name = "e2e_columnar"
path = "tests/e2e_columnar.rs"
[[test]]
name = "embedded_compaction_latency"
path = "tests/embedded_compaction_latency.rs"
[[test]]
name = "format_compatibility_test"
path = "tests/format_compatibility_test.rs"
[[test]]
name = "format_compression_test"
path = "tests/format_compression_test.rs"
[[test]]
name = "format_header_footer_test"
path = "tests/format_header_footer_test.rs"
[[test]]
name = "format_integration_test"
path = "tests/format_integration_test.rs"
[[test]]
name = "format_recovery_test"
path = "tests/format_recovery_test.rs"
[[test]]
name = "format_section_test"
path = "tests/format_section_test.rs"
[[test]]
name = "format_value_separation_test"
path = "tests/format_value_separation_test.rs"
[[test]]
name = "format_value_separator_test"
path = "tests/format_value_separator_test.rs"
[[test]]
name = "format_wasm_large_file_test"
path = "tests/format_wasm_large_file_test.rs"
[[test]]
name = "memory_vector"
path = "tests/memory_vector.rs"
[[test]]
name = "recovery_checkpoint"
path = "tests/recovery_checkpoint.rs"
[[test]]
name = "recovery_compat"
path = "tests/recovery_compat.rs"
[[test]]
name = "recovery_crash"
path = "tests/recovery_crash.rs"
[[test]]
name = "recovery_proptest"
path = "tests/recovery_proptest.rs"
[[test]]
name = "recovery_wal"
path = "tests/recovery_wal.rs"
[[test]]
name = "storage_sstable_large_value"
path = "tests/storage_sstable_large_value.rs"
[[test]]
name = "stress_chaos"
path = "tests/stress_chaos.rs"
[[test]]
name = "stress_common"
path = "tests/stress_common.rs"
[[test]]
name = "stress_concurrent"
path = "tests/stress_concurrent.rs"
[[test]]
name = "stress_consistency"
path = "tests/stress_consistency.rs"
[[test]]
name = "stress_ddl_dml"
path = "tests/stress_ddl_dml.rs"
[[test]]
name = "stress_durability"
path = "tests/stress_durability.rs"
[[test]]
name = "stress_edge_cases"
path = "tests/stress_edge_cases.rs"
[[test]]
name = "stress_error_injection"
path = "tests/stress_error_injection.rs"
[[test]]
name = "stress_invalid_ops"
path = "tests/stress_invalid_ops.rs"
[[test]]
name = "stress_linearizability"
path = "tests/stress_linearizability.rs"
[[test]]
name = "stress_multi_model"
path = "tests/stress_multi_model.rs"
[[test]]
name = "stress_perf_baseline"
path = "tests/stress_perf_baseline.rs"
[[test]]
name = "stress_recovery"
path = "tests/stress_recovery.rs"
[[test]]
name = "stress_sanitizer"
path = "tests/stress_sanitizer.rs"
[[test]]
name = "stress_soak"
path = "tests/stress_soak.rs"
[[test]]
name = "txn_snapshot_isolation_v06"
path = "tests/txn_snapshot_isolation_v06.rs"
[[bench]]
name = "columnar_bench"
path = "benches/columnar_bench.rs"
harness = false
[[bench]]
name = "hnsw_bench"
path = "benches/hnsw_bench.rs"
harness = false
[[bench]]
name = "lsm_kv_bench"
path = "benches/lsm_kv_bench.rs"
harness = false
[[bench]]
name = "scan_strategy_bench"
path = "benches/scan_strategy_bench.rs"
harness = false
[[bench]]
name = "vector_flat"
path = "benches/vector_flat.rs"
harness = false
[[bench]]
name = "vector_search"
path = "benches/vector_search.rs"
harness = false
[dependencies.bincode]
version = "1.3"
[dependencies.bytes]
version = "1.5"
optional = true
[dependencies.crc32fast]
version = "1.4"
[dependencies.crossbeam-skiplist]
version = "0.1"
optional = true
[dependencies.dhat]
version = "0.3"
optional = true
[dependencies.futures]
version = "0.3"
optional = true
[dependencies.futures-core]
version = "0.3"
[dependencies.lz4]
version = "1.24"
optional = true
[dependencies.object_store]
version = "0.14"
features = ["aws"]
optional = true
[dependencies.rand]
version = "0.8"
[dependencies.regex]
version = "1"
[dependencies.serde]
version = "1.0"
features = [
"derive",
"derive",
]
[dependencies.snap]
version = "1.1"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1.35"
features = ["full"]
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.url]
version = "2.5"
optional = true
[dependencies.xxhash-rust]
version = "0.8"
features = ["xxh64"]
optional = true
[dependencies.zstd]
version = "0.13"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.memmap2]
version = "0.9"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.arrow]
version = "53"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.chrono]
version = "0.4"
features = [
"clock",
"serde",
]
default-features = true
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.criterion]
version = "0.5"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.crossbeam-skiplist]
version = "0.1"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.futures]
version = "0.3"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.libc]
version = "0.2"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.proptest]
version = "1.4"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.rand]
version = "0.8"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.serde_json]
version = "1.0"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.tempfile]
version = "3.8"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.tokio]
version = "1.35"
features = ["full"]
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"fmt",
]
[target.'cfg(not(target_os = "windows"))'.dependencies.jemalloc-ctl]
version = "0.5"
optional = true
[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.2"
features = ["js"]
[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3"
optional = true
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3"
optional = true
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.getrandom]
version = "0.2"
features = ["js"]
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.getrandom03]
version = "0.3"
features = ["wasm_js"]
package = "getrandom"
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.wasm-bindgen-test]
version = "0.3"