[package]
edition = "2024"
name = "timelake-format"
version = "0.7.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Timelake's table conventions and write path without I/O, shared by the engine and the WebAssembly reader and writer"
homepage = "https://timelake.dev"
readme = "README.md"
keywords = [
"time-series",
"iceberg",
"lakehouse",
]
categories = ["database-implementations"]
license = "Apache-2.0"
repository = "https://github.com/polythings/timelake"
resolver = "2"
[features]
head = [
"dep:arrow-array",
"dep:arrow-ipc",
"dep:arrow-json",
"dep:arrow-schema",
"dep:arrow-select",
"dep:serde",
"dep:serde_json",
]
write = [
"dep:arrow-arith",
"dep:arrow-array",
"dep:arrow-cast",
"dep:arrow-ord",
"dep:arrow-row",
"dep:arrow-schema",
"dep:arrow-select",
"dep:parquet",
"dep:apache-avro",
"dep:serde_json",
"dep:bytes",
"dep:futures-util",
"head",
]
[lib]
name = "timelake_format"
path = "src/lib.rs"
[dependencies.apache-avro]
version = "0.21"
optional = true
default-features = false
[dependencies.arrow-arith]
version = "58"
optional = true
[dependencies.arrow-array]
version = "58"
optional = true
[dependencies.arrow-cast]
version = "58"
optional = true
[dependencies.arrow-ipc]
version = "58"
features = ["zstd"]
optional = true
default-features = false
[dependencies.arrow-json]
version = "58"
optional = true
[dependencies.arrow-ord]
version = "58"
optional = true
[dependencies.arrow-row]
version = "58"
optional = true
[dependencies.arrow-schema]
version = "58"
features = ["serde"]
optional = true
[dependencies.arrow-select]
version = "58"
optional = true
[dependencies.bytes]
version = "1"
optional = true
[dependencies.chrono]
version = "0.4"
features = ["alloc"]
default-features = false
[dependencies.futures-util]
version = "0.3"
features = ["alloc"]
optional = true
default-features = false
[dependencies.parquet]
version = "58"
features = [
"arrow",
"zstd",
]
optional = true
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dev-dependencies.bytes]
version = "1"
[dev-dependencies.futures-executor]
version = "0.3"
[lints.clippy]
allow_attributes = "warn"
cast_precision_loss = "allow"
dbg_macro = "warn"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
must_use_candidate = "allow"
similar_names = "allow"
struct_excessive_bools = "allow"
todo = "warn"
unwrap_used = "warn"
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
missing_debug_implementations = "warn"
unreachable_pub = "warn"
unsafe_code = "forbid"
[lints.rust.rust_2018_idioms]
level = "warn"
priority = -1