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
257 downloads per month
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 ...
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):
Argonaut:
Nord:
Catppuccin:
Tokyo Night:
Terminal:
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