# Copyright 2023 the Limbo authors. All rights reserved. MIT license. [package] name = "limbo_core" version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true repository.workspace = true description = "The Limbo database library" [lib] name = "limbo_core" path = "lib.rs" [features] default = ["fs", "json", "uuid", "time"] fs = [] json = ["dep:jsonb", "dep:pest", "dep:pest_derive", "dep:serde", "dep:indexmap"] uuid = ["limbo_uuid/static"] io_uring = ["dep:io-uring", "rustix/io_uring", "dep:libc"] percentile = ["limbo_percentile/static"] regexp = ["limbo_regexp/static"] time = ["limbo_time/static"] crypto = ["limbo_crypto/static"] series = ["limbo_series/static"] [target.'cfg(target_os = "linux")'.dependencies] io-uring = { version = "0.6.1", optional = true } [target.'cfg(target_family = "unix")'.dependencies] polling = "3.7.2" rustix = "0.38.34" [target.'cfg(not(target_family = "wasm"))'.dependencies] mimalloc = { version = "0.1", default-features = false } libloading = "0.8.6" [dependencies] limbo_ext = { workspace = true } cfg_block = "0.1.1" fallible-iterator = "0.3.0" hex = "0.4.3" libc = { version = "0.2.155", optional = true } limbo_sqlite3_parser = { workspace = true } thiserror = "1.0.61" getrandom = { version = "0.2.15" } regex = "1.11.1" regex-syntax = { version = "0.8.5", default-features = false, features = ["unicode"] } chrono = { version = "0.4.38", default-features = false, features = ["clock"] } julian_day_converter = "0.4.4" jsonb = { version = "0.4.4", optional = true } indexmap = { version = "2.2.6", features = ["serde"], optional = true } serde = { version = "1.0", features = ["derive"], optional = true } pest = { version = "2.0", optional = true } pest_derive = { version = "2.0", optional = true } rand = "0.8.5" limbo_macros = { workspace = true } limbo_uuid = { workspace = true, optional = true, features = ["static"] } limbo_regexp = { workspace = true, optional = true, features = ["static"] } limbo_percentile = { workspace = true, optional = true, features = ["static"] } limbo_time = { workspace = true, optional = true, features = ["static"] } limbo_crypto = { workspace = true, optional = true, features = ["static"] } limbo_series = { workspace = true, optional = true, features = ["static"] } miette = "7.4.0" strum = "0.26" parking_lot = "0.12.3" tracing = { version = "0.1.41", default-features = false } crossbeam-skiplist = "0.1.3" ryu = "1.0.19" [build-dependencies] chrono = { version = "0.4.38", default-features = false } built = { version = "0.7.5", features = ["git2", "chrono"] } [target.'cfg(not(target_family = "windows"))'.dev-dependencies] pprof = { version = "0.14.0", features = ["criterion", "flamegraph"] } [dev-dependencies] criterion = { version = "0.5", features = [ "html_reports", "async", "async_futures", ] } rstest = "0.18.2" rusqlite = "0.29.0" tempfile = "3.8.0" quickcheck = { version = "1.0", default-features = false } quickcheck_macros = { version = "1.0", default-features = false } rand = "0.8.5" # Required for quickcheck rand_chacha = "0.9.0" env_logger = "0.11.6" [[bench]] name = "benchmark" harness = false [[bench]] name = "mvcc_benchmark" harness = false