[package]
name = "tabkit"
version = "0.4.2"
edition = "2021"
rust-version = "1.85"
authors = ["tabkit contributors"]
description = "Tabular files → schema + sample rows. The shared spreadsheet reader Tauri / Iced / native desktop apps reach for when they need to introspect XLSX / CSV / TSV without inventing the same calamine-plus-type-inference glue twice."
documentation = "https://docs.rs/tabkit"
homepage = "https://github.com/seryai/tabkit"
repository = "https://github.com/seryai/tabkit"
license = "MIT OR Apache-2.0"
readme = "README.md"
keywords = ["xlsx", "csv", "spreadsheet", "schema", "tabular"]
categories = ["parser-implementations", "data-structures"]
exclude = [
"/.github",
"/tests/fixtures/large/*",
]
[features]
default = ["calamine", "csv"]
calamine = ["dep:calamine"]
csv = ["dep:csv"]
parquet = ["dep:parquet"]
full = ["calamine", "csv", "parquet"]
[dependencies]
thiserror = "2"
calamine = { version = "0.34", optional = true }
csv = { version = "1", optional = true }
parquet = { version = "56", optional = true, default-features = false }
[dev-dependencies]
tempfile = "3"
[lints.rust]
unsafe_code = "forbid"
missing_docs = "warn"
[lints.clippy]
all = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
module_name_repetitions = "allow"
must_use_candidate = "allow"
missing_errors_doc = "allow"