[package]
name = "buoyant_kernel"
description = "Buoyant Data distribution of delta-kernel"
documentation = "https://docs.rs/buoyant_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/", "tests/data/"]
rust-version.workspace = true
[package.metadata.docs.rs]
all-features = true
[package.metadata.release]
pre-release-replacements = [
{ file = "../README.md", search = "delta_kernel = \"[a-z0-9\\.-]+\"", replace = "delta_kernel = \"{{version}}\"" },
{ file = "../README.md", search = "version = \"[a-z0-9\\.-]+\"", replace = "version = \"{{version}}\"" },
]
pre-release-hook = [
"git",
"cliff",
"--repository",
"../",
"--config",
"../cliff.toml",
"--unreleased",
"--prepend",
"../CHANGELOG.md",
"--include-path",
"*",
"--tag",
"{{version}}",
]
[dependencies]
delta_kernel_derive = { package = "buoyant_kernel_derive", path = "../derive-macros", version = "1"}
bytes = "1.10"
chrono = "0.4.41"
crc = "3.2.2"
indexmap = "2.10.0"
itertools = "0.14"
rand = "0.9"
roaring = "0.11.2"
serde = { version = "1", features = ["derive", "rc"] }
serde_json = "1"
strum = { version = "0.27", features = ["derive"] }
thiserror = "2"
tracing = { version = "0.1", features = ["log"] }
url = "2"
uuid = { version = "1.18.0", features = ["v4", "fast-rng"] }
z85 = "3.0.6"
futures = { version = "0.3", optional = true }
reqwest = { version = "0.13", default-features = false, optional = true, features = ["charset", "http2", "system-proxy"] }
tokio = { version = "1.47", optional = true, features = ["rt-multi-thread"] }
object_store_12 = { package = "object_store", version = "0.12.3", optional = true, features = ["aws", "azure", "gcp", "http"] }
object_store_13 = { package = "object_store", version = "0.13.1", optional = true, features = ["aws", "azure", "gcp", "http"] }
[dependencies.arrow_57]
package = "arrow"
version = "57"
features = ["chrono-tz", "ffi", "json"]
optional = true
[dependencies.parquet_57]
package = "parquet"
version = "57"
features = ["async", "object_store"]
optional = true
[dependencies.arrow_58]
package = "arrow"
version = "58"
features = ["chrono-tz", "ffi", "json"]
optional = true
[dependencies.parquet_58]
package = "parquet"
version = "58"
features = ["async", "object_store"]
optional = true
[features]
default = []
internal-api = []
prettyprint = ["arrow_57?/prettyprint", "arrow_58?/prettyprint"]
test-utils = ["prettyprint"]
integration-test = ["hdfs-native-object-store/integration-test"]
arrow = ["arrow-58"]
need-arrow = []
arrow-57 = ["dep:arrow_57", "dep:parquet_57", "dep:object_store_12"]
arrow-58 = ["dep:arrow_58", "dep:parquet_58", "dep:object_store_13"]
arrow-conversion = ["need-arrow"]
arrow-expression = ["need-arrow"]
schema-diff = []
default-engine-base = [
"arrow-conversion",
"arrow-expression",
"futures",
"need-arrow",
"tokio",
]
default-engine-native-tls = ["default-engine-base", "reqwest/native-tls"]
default-engine-rustls = ["default-engine-base", "reqwest/rustls"]
[build-dependencies]
rustc_version = "0.4.1"
[dev-dependencies]
delta_kernel = { package = "buoyant_kernel", path = ".", features = ["test-utils", "arrow"] }
test_utils = { path = "../test-utils", default-features = false }
criterion = "0.5"
hdfs-native-object-store = { version = "0.16.0" }
hdfs-native = "0.13.4"
walkdir = { version = "2.5.0" }
async-trait = "0.1"
paste = "1.0"
test-log = { version = "0.2", default-features = false, features = ["trace"] }
tempfile = "3"
tracing-subscriber = { version = "0.3", default-features = false, features = [
"env-filter",
"fmt",
] }
rstest = "0.23"
[[bench]]
name = "metadata_bench"
harness = false
[[bench]]
name = "expression_bench"
harness = false