// the find
alexhallam/tv
📺(tv) Tidy Viewer is a cross-platform CLI csv pretty printer that uses column styling to maximize viewer enjoyment.
tv is a CLI pretty-printer for tabular data (CSV, TSV, Parquet, Arrow/IPC) that handles the annoyances the built-in `column` command doesn't: NA detection, significant figure formatting, and column overflow when the terminal is too narrow. It's R's tibble print style ported to the shell, aimed at data scientists who live in the terminal.
The sigfig logic is genuinely well-thought-out — borrowed directly from R's pillar package, it avoids the usual noise of trailing decimal dust without losing meaning. NA normalization across 'none', 'NaN', 'null', 'n/a', '' etc. is practical and saves real debugging time. The Cargo workspace split (core lib / CLI / Python bindings via PyO3) is the right call architecturally — the Python bindings use the same formatting path, not a reimplementation. Streaming for large files (>5MB) means you won't OOM your laptop piping in a 2GB Parquet.
The dotfile config has a hard failure mode: every single key must be present or the whole file is silently ignored — there's no partial config or helpful error. With 2158 stars and only 40 forks it's a solo-maintainer project with thin contribution history, which is a real bus-factor risk for something you'd bake into scripts. No interactive mode (sorting, filtering) — for that you need VisiData, which it recommends but doesn't integrate with. The Python bindings are a separate sub-project with its own CI and versioning, meaning they often lag the CLI on new features.