[package]
name = "delta_kernel"
description = "Core crate providing a Delta/Deltalake implementation focused on interoperability with a wide range of query engines."
documentation = "https://docs.rs/delta_kernel"
edition.workspace = true
homepage.workspace = true
license.workspace = true
repository.workspace = true
readme.workspace = true
version.workspace = true
exclude = ["tests/golden_tables.rs", "tests/golden_data/" ]
rust-version.workspace = true
[package.metadata.docs.rs]
all-features = true
[dependencies]
bytes = "1.7"
chrono = { version = "0.4" }
fix-hidden-lifetime-bug = "0.2"
indexmap = "2.5.0"
itertools = "0.13"
roaring = "0.10.6"
serde = { version = "1", features = ["derive", "rc"] }
serde_json = "1"
thiserror = "1"
tracing = { version = "0.1", features = ["log"] }
url = "2"
uuid = "1.10.0"
z85 = "3.0.5"
delta_kernel_derive = { path = "../derive-macros", version = "0.6.0" }
visibility = "0.1.1"
tempfile = { version = "3", optional = true }
arrow-buffer = { workspace = true, optional = true }
arrow-array = { workspace = true, optional = true, features = ["chrono-tz"] }
arrow-select = { workspace = true, optional = true }
arrow-arith = { workspace = true, optional = true }
arrow-cast = { workspace = true, optional = true }
arrow-json = { workspace = true, optional = true }
arrow-ord = { workspace = true, optional = true }
arrow-schema = { workspace = true, optional = true }
futures = { version = "0.3", optional = true }
object_store = { workspace = true, optional = true }
hdfs-native-object-store = { workspace = true, optional = true }
parquet = { workspace = true, optional = true }
reqwest = { version = "0.12.7", optional = true }
strum = { version = "0.26", features = ["derive"] }
tokio = { version = "1.40", optional = true, features = ["rt-multi-thread"] }
hdfs-native = { workspace = true, optional = true }
walkdir = { workspace = true, optional = true }
[features]
arrow-conversion = ["arrow-schema"]
arrow-expression = ["arrow-arith", "arrow-array", "arrow-buffer", "arrow-ord", "arrow-schema"]
cloud = [
"object_store/aws",
"object_store/azure",
"object_store/gcp",
"object_store/http",
"hdfs-native-object-store",
]
default = []
default-engine = [
"arrow-conversion",
"arrow-expression",
"arrow-array",
"arrow-buffer",
"arrow-cast",
"arrow-json",
"arrow-schema",
"arrow-select",
"futures",
"object_store",
"parquet/async",
"parquet/object_store",
"reqwest",
"tokio",
"uuid/v4",
"uuid/fast-rng",
]
developer-visibility = []
sync-engine = [
"arrow-cast",
"arrow-conversion",
"arrow-expression",
"arrow-array",
"arrow-json",
"arrow-select",
"parquet",
"tempfile",
]
integration-test = [
"hdfs-native-object-store/integration-test",
"hdfs-native",
"walkdir",
]
[build-dependencies]
rustc_version = "0.4.1"
[dev-dependencies]
arrow = { workspace = true, features = ["json", "prettyprint"] }
delta_kernel = { path = ".", features = ["default-engine", "sync-engine"] }
test_utils = { path = "../test-utils" }
paste = "1.0"
test-log = { version = "0.2", default-features = false, features = ["trace"] }
tempfile = "3"
tar = "0.4"
zstd = "0.13"
tracing-subscriber = { version = "0.3", default-features = false, features = [
"env-filter",
"fmt",
] }