[package]
edition = "2021"
name = "turso_core"
version = "0.6.1"
authors = ["the Turso authors"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The Turso database library"
readme = false
license = "MIT"
repository = "https://github.com/tursodatabase/turso"
[features]
bench = []
checksum = []
cli_only = []
codspeed = ["bench"]
conn_raw_api = []
default = [
"fs",
"uuid",
"time",
"json",
"series",
"encryption",
]
encryption = []
experimental_win_iocp = []
fs = ["turso_ext/vfs"]
fts = ["dep:tantivy"]
fuzz = []
io_uring = [
"dep:io-uring",
"rustix/io_uring",
]
json = []
nanosecond-bench = ["bench"]
omit_autovacuum = []
optimizer_params = [
"serde",
"dep:serde_json",
]
pure-rust-crypto = ["aegis/pure-rust"]
serde = ["dep:serde"]
series = []
simulator = [
"fuzz",
"serde",
]
stacker = ["dep:stacker"]
test_helper = []
time = []
tracing_release = ["tracing/release_max_level_info"]
uuid = ["dep:uuid"]
[lib]
name = "turso_core"
path = "lib.rs"
[[bench]]
name = "benchmark"
path = "benches/benchmark.rs"
harness = false
[[bench]]
name = "create_index_benchmark"
path = "benches/create_index_benchmark.rs"
harness = false
[[bench]]
name = "fts_benchmark"
path = "benches/fts_benchmark.rs"
harness = false
required-features = ["fts"]
[[bench]]
name = "graph_queries_benchmark"
path = "benches/graph_queries_benchmark.rs"
harness = false
[[bench]]
name = "hash_spill_benchmark"
path = "benches/hash_spill_benchmark.rs"
harness = false
required-features = ["bench"]
[[bench]]
name = "json_benchmark"
path = "benches/json_benchmark.rs"
harness = false
[[bench]]
name = "mvcc_benchmark"
path = "benches/mvcc_benchmark.rs"
harness = false
[[bench]]
name = "sql_functions"
path = "benches/sql_functions/main.rs"
harness = false
required-features = ["bench"]
[[bench]]
name = "struct_union_benchmark"
path = "benches/struct_union_benchmark.rs"
harness = false
[[bench]]
name = "struct_union_profile"
path = "benches/struct_union_profile.rs"
harness = false
[[bench]]
name = "tpc_h_benchmark"
path = "benches/tpc_h_benchmark.rs"
harness = false
[[bench]]
name = "triggers"
path = "benches/triggers.rs"
harness = false
[[bench]]
name = "write_perf_benchmark"
path = "benches/write_perf_benchmark.rs"
harness = false
[dependencies.aes]
version = "0.8.4"
[dependencies.aes-gcm]
version = "0.10.3"
[dependencies.arc-swap]
version = "1.7"
[dependencies.bigdecimal]
version = "0.4"
[dependencies.bitflags]
version = "2.9.4"
[dependencies.branches]
version = "0.4.3"
default-features = false
[dependencies.bumpalo]
version = "3"
features = ["collections"]
[dependencies.bytemuck]
version = "1.23.1"
[dependencies.cfg_block]
version = "0.1.1"
[dependencies.chrono]
version = "0.4.42"
features = ["clock"]
default-features = false
[dependencies.crc32c]
version = "0.6.8"
[dependencies.crossbeam-skiplist]
version = "0.1.3"
[dependencies.either]
version = "1.15"
[dependencies.fallible-iterator]
version = "0.3.0"
[dependencies.fastbloom]
version = "0.14.1"
default-features = false
[dependencies.hex]
version = "0.4"
[dependencies.intrusive-collections]
version = "0.9.7"
[dependencies.libm]
version = "0.2"
[dependencies.miette]
version = "7.6.0"
[dependencies.num-bigint]
version = "0.4"
[dependencies.num-traits]
version = "0.2"
[dependencies.pack1]
version = "1.0.0"
features = ["bytemuck"]
[dependencies.parking_lot]
version = "0.12.4"
features = ["arc_lock"]
[dependencies.pastey]
version = "0.2.1"
[dependencies.rand]
version = "0.9.2"
[dependencies.rapidhash]
version = "4.1.1"
[dependencies.regex]
version = "1.11.1"
[dependencies.regex-syntax]
version = "0.8.5"
features = ["unicode"]
default-features = false
[dependencies.roaring]
version = "0.11.2"
[dependencies.rustc-hash]
version = "2.0"
[dependencies.ryu]
version = "1.0.19"
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.smallvec]
version = "1.15.1"
[dependencies.stacker]
version = "0.1"
optional = true
[dependencies.strum]
version = "0.26"
features = ["derive"]
[dependencies.strum_macros]
version = "0.26"
[dependencies.tempfile]
version = "3.20.0"
[dependencies.thiserror]
version = "2.0.16"
[dependencies.tracing]
version = "0.1.41"
[dependencies.tracing-subscriber]
version = "0.3.20"
[dependencies.turso_ext]
version = "0.6.1"
features = ["core_only"]
[dependencies.turso_macros]
version = "0.6.1"
[dependencies.turso_parser]
version = "0.6.1"
[dependencies.twox-hash]
version = "2.1.1"
[dependencies.uncased]
version = "0.9.10"
[dependencies.uuid]
version = "1.11.0"
features = [
"v4",
"v5",
"v7",
]
optional = true
[dev-dependencies.codspeed-criterion-compat]
version = "4.2.1"
features = [
"html_reports",
"async",
"async_futures",
]
[dev-dependencies.criterion]
version = "0.5.0"
features = [
"html_reports",
"async",
"async_futures",
]
[dev-dependencies.divan]
version = "4.2.1"
package = "codspeed-divan-compat"
[dev-dependencies.env_logger]
version = "0.11.6"
default-features = false
[dev-dependencies.memory-stats]
version = "1.2.0"
[dev-dependencies.mimalloc]
version = "0.1.47"
default-features = false
[dev-dependencies.quickcheck]
version = "1.0"
default-features = false
[dev-dependencies.quickcheck_macros]
version = "1.0"
default-features = false
[dev-dependencies.rand_chacha]
version = "0.9.0"
[dev-dependencies.rstest]
version = "0.18.2"
[dev-dependencies.rusqlite]
version = "0.37.0"
features = [
"bundled",
"series",
]
[dev-dependencies.sorted-vec]
version = "0.8.6"
[dev-dependencies.test-log]
version = "0.2.17"
features = ["trace"]
[build-dependencies.cfg_aliases]
version = "0.2.1"
[target."cfg(antithesis)".dependencies.antithesis_sdk]
version = "0.2"
features = ["full"]
default-features = false
[target."cfg(antithesis)".dependencies.serde_json]
version = "1.0"
[target.'cfg(any(target_os = "android", target_os = "macos"))'.dependencies.aegis]
version = "0.9.8"
features = ["pure-rust"]
[target."cfg(loom)".dependencies.loom]
version = "0.7"
[target.'cfg(not(any(target_family = "wasm", all(target_os = "windows", target_arch = "aarch64"))))'.dependencies.simsimd]
version = "6.5.3"
[target.'cfg(not(any(target_os = "android", target_os = "macos")))'.dependencies.aegis]
version = "0.9.8"
[target.'cfg(not(target_family = "wasm"))'.dependencies.libloading]
version = "0.8.6"
[target.'cfg(not(target_family = "wasm"))'.dependencies.tantivy]
version = "0.26.0"
optional = true
[target.'cfg(not(target_family = "windows"))'.dev-dependencies.pprof]
version = "0.14.0"
features = [
"criterion",
"flamegraph",
]
[target."cfg(shuttle)".dependencies.shuttle]
version = "0.8.1"
[target.'cfg(target_family = "unix")'.dependencies.libc]
version = "0.2.172"
[target.'cfg(target_family = "unix")'.dependencies.polling]
version = "3.7.4"
[target.'cfg(target_family = "unix")'.dependencies.rustix]
version = "1.0.5"
features = ["fs"]
[target.'cfg(target_os = "linux")'.dependencies.io-uring]
version = "0.7.5"
optional = true
[target.'cfg(target_os = "linux")'.dependencies.libc]
version = "0.2.172"
[target.'cfg(target_os = "windows")'.dependencies.windows-sys]
version = "0.61.2"
features = [
"Win32_System_IO",
"Win32_System_Memory",
"Win32_System_SystemInformation",
"Win32_System_Threading",
"Win32_Storage_FileSystem",
"Win32_Security",
"Win32_System_Diagnostics_Debug",
]
[lints.clippy]
assigning_clones = "deny"
clear_with_drain = "deny"
collection_is_never_read = "deny"
large_stack_frames = "deny"
large_types_passed_by_value = "deny"
naive_bytecount = "deny"
or_fun_call = "deny"
redundant_clone = "deny"
stable_sort_primitive = "deny"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(loom)",
"cfg(shuttle)",
"cfg(antithesis)",
]