[package]
name = "delta_kernel"
description = "Core crate providing a Delta/Deltalake implementation focused on interoperability with a wide range of query engines."
edition.workspace = true
homepage.workspace = true
license.workspace = true
repository.workspace = true
readme.workspace = true
version.workspace = true
[dependencies]
bytes = "1.4"
chrono = { version = "0.4" }
either = "1.8"
fix-hidden-lifetime-bug = "0.2"
indexmap = "2.2.1"
itertools = "0.12"
lazy_static = "1.4"
regex = "1.8"
roaring = "0.10.1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "1"
tracing = { version = "0.1", features = ["log"] }
url = "2"
uuid = "1.3.0"
z85 = "3.0.5"
delta_kernel_derive = { path = "../derive-macros", version = "0.0.1" }
visibility = "0.1.0"
arrow-array = { version = "^49.0", optional = true }
arrow-select = { version = "^49.0", optional = true }
arrow-arith = { version = "^49.0", optional = true }
arrow-json = { version = "^49.0", optional = true }
arrow-ord = { version = "^49.0", optional = true }
arrow-schema = { version = "^49.0", optional = true }
futures = { version = "0.3", optional = true }
object_store = { version = "^0.8.0", optional = true }
parquet = { version = "^49.0", optional = true }
tokio = { version = "1", optional = true, features = ["rt-multi-thread"] }
[features]
arrow-conversion = ["arrow-schema"]
arrow-expression = ["arrow-arith", "arrow-array", "arrow-ord", "arrow-schema"]
default = ["sync-client"]
default-client = [
"arrow-conversion",
"arrow-expression",
"arrow-array",
"arrow-json",
"arrow-schema",
"arrow-select",
"futures",
"object_store",
"parquet/async",
"parquet/object_store",
"tokio"
]
developer-visibility = []
sync-client = [
"arrow-conversion",
"arrow-expression",
"arrow-array",
"arrow-json",
"arrow-select",
"parquet"
]
[dev-dependencies]
arrow = { version = "^49.0", features = ["json", "prettyprint"] }
delta_kernel = { path = ".", features = ["default-client", "sync-client"] }
test-log = { version = "0.2", default-features = false, features = ["trace"] }
tempfile = "3"
test-case = { version = "3.1.0" }
tracing-subscriber = { version = "0.3", default-features = false, features = [
"env-filter",
"fmt",
] }