Tabiew is a lightweight TUI application to view and query tabular data files, such as CSV, TSV, and parquet.
- 📊 Easy to Navigate Tables and Sheets
- 🛠️ SQL Support
- 🗂️ Multiple Table Support
- ⌨️ Vim Inspired Keybindings
For a guide on using Tabiew, including instructions on opening files, navigating tables, performing queries, and using inline queries, kindly visit the tutorial page.
Key Combination | Functionality |
---|---|
v |
Switch view |
k or Arrow Up |
Move up in the table or scroll up in sheet view |
j or Arrow Down |
Move down in the table or scroll down in sheet view |
h or Arrow Left |
Move to the previous item in sheet view |
l or Arrow Right |
Move to the next item in sheet view |
Page Up or Ctrl+b |
Move one page up |
Page Down or Ctrl+f |
Move one page down |
H |
Select previous tab |
L |
Select next tab |
Ctrl+u |
Move up half a page |
Ctrl+d |
Move down half a page |
Home or g |
Move to the first row |
End or G |
Move to the last row |
R |
Select a random row |
q |
Close current tab |
: |
Command mode |
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 |
Sort current data frame by column(s) |
: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 |
There are various ways to install Tabiew:
You can install from the official repositories using pacman:
pacman -S tabiew
Download the .deb
package from the GitHub releases page and run:
sudo dpkg -i <path_to_package.deb>
Download the .rpm
package from the GitHub releases page and run:
sudo rpm -i <path_to_package.rpm>
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 custom tap involves compiling it from the source, which may take some time to complete.
Download the .exe
file from the GitHub releases page and place it in a directory that is included in the system's PATH environment variable.
Disclaimer: The Windows version may experience performance lag.
Installing Tabiew from Crates.io:
cargo install tabiew
Ensure you have the rustc version 1.80 (or higher) installed, then:
git clone https://github.com/shshemi/tabiew.git
cd tabiew
cargo build --release
cp ./target/release/tw <system_or_local_bin_path>
Start Tabiew with tw
tw <path_to_csv(s)>
Options:
--no-header
: Use this option if the CSV file does not contain a header row.--ignore-errors
: Ignore parsing errors while loading the CSV file.--infer-schema
: Set the schema inference method. Options are no, fast, full, and safe.--quote-char
: Set the quote character.--separator
: Set the separator character.--theme
: Set the theme.
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
Contributions are welcome! Please fork the repository and submit pull requests with your features and bug fixes.
This project is licensed under the MIT License - see the LICENSE file for details.