#search #excel #themes #command #key-bindings #tabiew

bin+lib tabiew

A lightweight TUI application to view and query tabular data files, such as CSV, TSV, and parquet

28 releases

Uses new Rust 2024

new 0.9.4 May 5, 2025
0.9.0 Apr 26, 2025
0.8.5 Mar 12, 2025
0.8.0 Dec 12, 2024
0.6.1 Jul 26, 2024

#1178 in Text processing

Download history 47/week @ 2025-01-13 5/week @ 2025-01-20 10/week @ 2025-01-27 15/week @ 2025-02-03 421/week @ 2025-02-10 98/week @ 2025-02-17 22/week @ 2025-02-24 25/week @ 2025-03-03 191/week @ 2025-03-10 44/week @ 2025-03-17 27/week @ 2025-03-24 27/week @ 2025-03-31 17/week @ 2025-04-07 16/week @ 2025-04-14 136/week @ 2025-04-21 85/week @ 2025-04-28

257 downloads per month

MIT license

7.5MB
7K SLoC

Tabiew

Tabiew is a lightweight TUI application that allows users to view and query tabular data files, such as CSV, Parquet, Arrow, and ...

Image Alt text

Features

  • ⌨️ Vim-style keybindings
  • 🛠️ SQL support
  • 📊 Support for CSV, Parquet, JSON, JSONL, Arrow, FWF, Sqlite, and Excel
  • 🔍 Fuzzy search
  • 📝 Scripting support
  • 🗂️ Multi-table functionality

Wiki

Tabiew started as a humble hobby TUI project for viewing CSV data but has evolved to incorporate various features and improvements from valuable community feedbacks. As the project expanded, so did the need for comprehensive documentation, leading to the creation of the wiki page. The wiki offers explanations of features and the best practices to get the most out of Tabiew.

Installation

There are various ways to install Tabiew:

Arch Linux

You can install from the official repositories using pacman:

pacman -S tabiew

Debian-based

Download the .deb package from the GitHub releases page and run:

sudo dpkg -i <path_to_package.deb>

RPM-based

Download the .rpm package from the GitHub releases page and run:

sudo rpm -i <path_to_package.rpm>

MacOS

Installing Tabiew using Homebrew from Homebrew core:

brew update
brew install tabiew

or tap:

brew install shshemi/tabiew/tabiew

Note: Please be aware that installing Tabiew from the tap involves compiling it from the source, which may take some time to complete.

Cargo

Installing Tabiew from Crates.io:

cargo install tabiew

Build from Source

Ensure you have rustc version 1.80 (or higher) installed. Download the desired source version from the release page. Extract the downloaded file and navigate into the extracted directory. Then run the following command:

cargo build --release
cp ./target/release/tw <system_or_local_bin_path>

Usage

Start Tabiew with tw

tw <path_to_csv(s)>

To open TSV file(s), use:

tw <path_to_tsv(s)> --separator $'\t' --no-header

To open parquet file(s), use:

tw <path_to_parquet(s)> -f parquet

To open a URL, use curl to pipe the output directly to Tabiew:

curl -s "https://raw.githubusercontent.com/wiki/shshemi/tabiew/housing.csv" | tw

Useful Keybindings️

Key Combination Functionality
Enter Open sheet
h j k l or ← ↓ ↑ → Navigation
b / w Previous / next column
e Toggle Auto-Fit
Ctrl + u / Ctrl + d Move half page up/down
Home or g Move to first row
End or G Move to last row
Ctrl + r Reset data frame
q Close
: Command Pallete
/ Fuzzy Search

Useful Commands

Command Example Description
Q or query Q SELECT * FROM df Query the data in Structured Query Language(SQL). The table name is the file name without extension
S or select S price, area, bedrooms, parking Query current data frame for columns/functions
F or filter F price < 20000 AND bedrooms > 4 Filter current data frame, keeping rows were the condition(s) match
O or order O area Sort current data frame by column(s)
tabn tabn SELECT * FORM user WHERE balance > 1000 Create a new tab with the given query
q or quit q Return to table from sheet view otherwise quit
schema schema Show loaded data frame(s) alongside their path(s)
reset reset Reset the table to the original data frame
help help Show help menu

Themes

Monokai (default):

Image Alt text

Argonaut:

Image Alt text

Nord:

Image Alt text

Catppuccin:

Image Alt text

Tokyo Night:

Image Alt text

Terminal:

Image Alt text

Contributing

Contributions are welcome! Please fork the repository and submit pull requests with your features and bug fixes.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Dependencies

~69–100MB
~2M SLoC