Skip to content

forensicmatt/datatui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DataTUI

A fast, keyboard‑first terminal data viewer built with Rust and Ratatui. DataTUI lets you explore CSV/TSV, Excel, and SQLite data with tabs, sorting, filtering, SQL (via Polars), and more.

Features

  • Tabbed data views with quick navigation
  • CSV/TSV, Excel, and SQLite import flows
  • Polars‑backed SQL queries and lazy evaluation
  • Sorting, filtering (builder dialog + quick filters), column width management
  • Find, Find All with contextual results, and value viewer with optional auto‑expand
  • JMESPath transforms and Add Columns from expressions
  • Workspace persistence (state + current views) with Parquet snapshots

Install

From source in this repo:

cargo build --release
# binary at target/release/datatui

Or run locally:

cargo run --release --bin datatui

Usage

datatui [--logging error|warn|info|debug|trace]

Quick keys inside DataTUI:

  • Ctrl+M: Data Management
  • Alt+S: Project Settings
  • Ctrl+S/E/T/J/W/D/F/I: Sort / Filter / SQL / JMES / Widths / Details / Find / Toggle instructions
  • Alt+Left/Right: Switch tabs
  • Alt+F/B/L/R: Reorder tabs (front/back/left/right)

Workspaces and persistence

When a valid workspace folder is set in Project Settings, DataTUI persists:

  • State file: datatui_workspace_state.json
  • Settings file: datatui_workspace_settings.json
  • Current DataFrame snapshots: .datatui/tabs/<dataset-id>.parquet

On exit or when requested, TDV writes the current view to Parquet per tab (if applicable) so you can quickly resume where you left off.

Development

  • Rust toolchain required
  • Build: cargo build (or --release)
  • Run tests (if present): cargo test

About

A Terminal UI for Data

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages