[package]
name = "tuitab"
version = "0.3.5"
edition = "2021"
authors = ["denisotree"]
description = "Terminal tabular data explorer — CSV/JSON/Parquet/Excel/SQLite viewer with filtering, sorting, pivot tables, and charts"
license = "Apache-2.0"
repository = "https://github.com/denisotree/tuitab"
homepage = "https://github.com/denisotree/tuitab"
documentation = "https://docs.rs/tuitab"
readme = "README.md"
keywords = ["tui", "csv", "data", "terminal", "tabular"]
categories = ["command-line-utilities", "visualization"]
exclude = [
    "packaging/",
    ".github/",
    "docs/",
]

[features]
bundled-sqlite = ["rusqlite/bundled"]

[[bin]]
name = "tuitab"
path = "src/main.rs"

[[bin]]
name = "ttab"
path = "src/bin/ttab.rs"

[[bin]]
name = "ttb"
path = "src/bin/ttb.rs"

[dependencies]
ratatui = "0.30"
crossterm = "0.28"
csv = "1.3"
serde = { version = "1", features = ["derive"] }
color-eyre = "0.6"
unicode-width = "0.2"
clap = { version = "4", features = ["derive"] }
regex = "1"
chrono = { version = "0.4", features = ["serde"] }
tempfile = "3"
bincode = "1"
arboard = "3"
polars = { version = "0.53", features = ["csv", "lazy", "dtype-date", "dtype-datetime", "strings", "json", "parquet", "serde", "timezones", "pivot", "is_in"] }
polars-ops = { version = "0.53", features = ["pivot"] }
libc = "0.2"
calamine = "0.22"
rusqlite = { version = "0.31", features = [] }
duckdb = { version = "1", features = ["bundled"] }
rust_xlsxwriter = "0.80"
serde_json = { version = "1", features = ["preserve_order"] }

[package.metadata.docs.rs]
# Build only for Linux x86_64 (docs.rs default); enables bundled SQLite so
# the crate compiles without a system libsqlite3-dev.
features = ["bundled-sqlite"]
targets = ["x86_64-unknown-linux-gnu"]
rustdoc-args = ["--cfg", "docsrs"]

[profile.release]
opt-level = 3
lto = "thin"
strip = true
