# Copyright 2023-2025 the Turso authors. All rights reserved. MIT license. [package] name = "turso_core" version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true repository.workspace = true description = "The Turso database library" [lib] name = "turso_core" path = "lib.rs" [features] default = ["fs", "uuid", "time", "json", "series", "encryption"] antithesis = ["dep:antithesis_sdk", "antithesis_sdk?/full"] tracing_release = ["tracing/release_max_level_info"] conn_raw_api = [] fs = ["turso_ext/vfs"] json = [] uuid = ["dep:uuid"] io_uring = ["dep:io-uring", "rustix/io_uring"] time = [] fuzz = [] omit_autovacuum = [] simulator = ["fuzz", "serde"] serde = ["dep:serde"] series = [] encryption = [] checksum = [] cli_only = [] test_helper = [] [target.'cfg(target_os = "linux")'.dependencies] io-uring = { version = "0.7.5", optional = true } libc = { version = "0.2.172" } [target.'cfg(target_family = "unix")'.dependencies] polling = "3.7.4" rustix = { version = "1.0.5", features = ["fs"] } libc = { version = "0.2.172" } [target.'cfg(not(target_family = "wasm"))'.dependencies] libloading = "0.8.6" [dependencies] antithesis_sdk = { workspace = true, optional = true } turso_ext = { workspace = true, features = ["core_only"] } cfg_block = "0.1.1" fallible-iterator = { workspace = true } hex = { workspace = true } thiserror = { workspace = true } regex = { workspace = true } regex-syntax = { workspace = true, default-features = false, features = [ "unicode", ] } chrono = { workspace = true, default-features = false, features = ["clock"] } julian_day_converter = "0.4.5" rand = { workspace = true } libm = "0.2" turso_macros = { workspace = true } miette = { workspace = true } strum = { workspace = true } parking_lot = { workspace = true } crossbeam-skiplist = "0.1.3" tracing = { workspace = true } ryu = "1.0.19" uncased = "0.9.10" strum_macros = { workspace = true } bitflags = { workspace = true } serde = { workspace = true, optional = true, features = ["derive"] } paste = "1.0.15" uuid = { version = "1.11.0", features = ["v4", "v5", "v7"], optional = true } tempfile = { workspace = true } pack1 = { version = "1.0.0", features = ["bytemuck"] } bytemuck = "1.23.1" aes-gcm = { version = "0.10.3"} aes = { version = "0.8.4"} turso_parser = { workspace = true } aegis = "0.9.0" twox-hash = "2.1.1" intrusive-collections = "0.9.7" roaring = "0.11.2" simsimd = "6.5.3" [build-dependencies] chrono = { workspace = true, 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] memory-stats = "1.2.0" criterion = { workspace = true, features = [ "html_reports", "async", "async_futures", ] } rstest = "0.18.2" rusqlite = { workspace = true, features = ["series"] } quickcheck = { version = "1.0", default-features = false } quickcheck_macros = { version = "1.0", default-features = false } rand_chacha = { workspace = true } env_logger = { workspace = true } test-log = { version = "0.2.17", features = ["trace"] } sorted-vec = "0.8.6" mimalloc = { workspace = true, default-features = false } [[bench]] name = "benchmark" harness = false [[bench]] name = "mvcc_benchmark" harness = false [[bench]] name = "json_benchmark" harness = false [[bench]] name = "tpc_h_benchmark" harness = false