[package]
edition = "2024"
rust-version = "1.91.1"
name = "timeseries-table-format"
version = "0.4.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Append-only time-series table format with gap/overlap tracking"
readme = "README.md"
keywords = [
"time-series",
"parquet",
"datafusion",
"analytics",
]
categories = [
"database",
"data-structures",
]
license = "MIT"
repository = "https://github.com/mag1cfrog/timeseries-table-format"
[package.metadata.docs.rs]
all-features = true
[features]
cli = [
"datafusion",
"arrow/prettyprint",
"dep:arrow-csv",
"dep:arrow-json",
"dep:clap",
"dep:futures-util",
"dep:rustyline",
"dep:tabled",
"dep:terminal_size",
"tokio/macros",
"tokio/process",
"tokio/rt-multi-thread",
]
datafusion = [
"dep:async-trait",
"dep:chrono-tz",
"dep:datafusion",
"dep:object_store",
"tokio/sync",
]
default = ["datafusion"]
test-counters = []
[lib]
name = "timeseries_table_format"
path = "src/lib.rs"
[[bin]]
name = "tstable"
path = "src/bin/tstable/main.rs"
required-features = ["cli"]
[[example]]
name = "append_profile"
path = "examples/append_profile.rs"
required-features = ["cli"]
[[example]]
name = "coverage_bench"
path = "examples/coverage_bench.rs"
[[example]]
name = "ingest_nvda"
path = "examples/ingest_nvda.rs"
[[example]]
name = "query_nvda_ma"
path = "examples/query_nvda_ma.rs"
required-features = ["datafusion"]
[[example]]
name = "scan_range_bench"
path = "examples/scan_range_bench.rs"
required-features = ["cli"]
[[example]]
name = "segment_meta_bench"
path = "examples/segment_meta_bench.rs"
required-features = ["cli"]
[[test]]
name = "cli_create_append_query"
path = "tests/cli_create_append_query.rs"
required-features = ["cli"]
[[test]]
name = "cli_workflows"
path = "tests/cli_workflows.rs"
required-features = ["cli"]
[[test]]
name = "coverage_pipeline_tests"
path = "tests/coverage_pipeline_tests.rs"
[[test]]
name = "shell_interactive"
path = "tests/shell_interactive.rs"
required-features = ["cli"]
[[test]]
name = "ts_table_provider_tests"
path = "tests/ts_table_provider_tests.rs"
required-features = ["datafusion"]
[dependencies.arrow]
version = "57.1.0"
[dependencies.arrow-array]
version = "57.1.0"
[dependencies.arrow-csv]
version = "57.1.0"
optional = true
[dependencies.arrow-json]
version = "57.1.0"
optional = true
[dependencies.arrow-select]
version = "57.1.0"
[dependencies.async-trait]
version = "0.1.89"
optional = true
[dependencies.blake3]
version = "1.8.2"
[dependencies.bytes]
version = "1.11.0"
[dependencies.chrono]
version = "0.4.42"
features = ["serde"]
[dependencies.chrono-tz]
version = "0.10.4"
optional = true
[dependencies.clap]
version = "4.5.54"
features = ["derive"]
optional = true
[dependencies.datafusion]
version = "51.0.0"
optional = true
[dependencies.futures]
version = "0.3.31"
[dependencies.futures-util]
version = "0.3.31"
optional = true
[dependencies.log]
version = "0.4"
[dependencies.object_store]
version = "0.12.5"
optional = true
[dependencies.parquet]
version = "57.1.0"
features = ["async"]
[dependencies.rayon]
version = "1.11.0"
[dependencies.roaring]
version = "0.11.3"
[dependencies.rustyline]
version = "18.0.1"
features = ["with-file-history"]
optional = true
default-features = false
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.145"
[dependencies.snafu]
version = "0.9.2"
[dependencies.tabled]
version = "0.21.0"
features = ["std"]
optional = true
default-features = false
[dependencies.terminal_size]
version = "0.4.4"
optional = true
[dependencies.tokio]
version = "1.48.0"
features = [
"fs",
"io-util",
"rt",
]
[dependencies.uuid]
version = "1.24.0"
features = ["v4"]
[dev-dependencies.arrow-csv]
version = "57.1.0"
[dev-dependencies.assert_cmd]
version = "2"
[dev-dependencies.predicates]
version = "3"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1.48.0"
features = [
"macros",
"rt",
]
[lints.clippy]
expect_used = "deny"
panic = "deny"
unwrap_used = "deny"
[lints.rust]
missing_docs = "deny"