{"id":13467368,"url":"https://github.com/shshemi/tabiew","last_synced_at":"2026-03-15T01:02:21.899Z","repository":{"id":236538589,"uuid":"792805133","full_name":"shshemi/tabiew","owner":"shshemi","description":"A lightweight TUI application to view and query tabular data files, such as CSV, TSV, and parquet.","archived":false,"fork":false,"pushed_at":"2026-02-10T02:02:09.000Z","size":34388,"stargazers_count":2727,"open_issues_count":5,"forks_count":76,"subscribers_count":14,"default_branch":"main","last_synced_at":"2026-02-13T07:22:00.429Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shshemi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-04-27T16:21:19.000Z","updated_at":"2026-02-13T03:35:43.000Z","dependencies_parsed_at":"2024-05-08T17:04:56.451Z","dependency_job_id":"e02a2240-8587-41ba-b38d-1b7a92dad74a","html_url":"https://github.com/shshemi/tabiew","commit_stats":null,"previous_names":["shshemi/tabiew"],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/shshemi/tabiew","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shshemi%2Ftabiew","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shshemi%2Ftabiew/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shshemi%2Ftabiew/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shshemi%2Ftabiew/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shshemi","download_url":"https://codeload.github.com/shshemi/tabiew/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shshemi%2Ftabiew/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29424838,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T22:20:51.549Z","status":"ssl_error","status_checked_at":"2026-02-13T22:20:49.838Z","response_time":78,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T15:00:55.468Z","updated_at":"2026-03-15T01:02:21.834Z","avatar_url":"https://github.com/shshemi.png","language":"Rust","funding_links":[],"categories":["Applications","Rust","others","💻 Apps","\u003ca name=\"data-management-tabular\"\u003e\u003c/a\u003eData management - Tabular data","Tools","JSON / YAML / CSV","\u003ca name=\"Rust\"\u003e\u003c/a\u003eRust","Table of Contents"],"sub_categories":["Utilities","🚀 Productivity and Utilities","Terminal UI"],"readme":"# Tabiew\n\nTabiew is a lightweight TUI application that allows users to view and query tabular data files, such as CSV, Parquet, Arrow, and ...\n\n![Image Alt text](images/main.gif \"Screenshot\")\n\n## Features\n\n- ⌨️ Vim-style keybindings\n- 🛠️ SQL support\n- 📊 Support for CSV, TSV, Parquet, JSON, JSONL, Arrow, FWF, Sqlite, Excel, and Logfmt\n- 🔍 Fuzzy search\n- 📝 Scripting support\n- 🗂️ Multi-table functionality\n- 📈 Plotting\n- 🎨 More than 400 beautiful themes\n\n## Wiki\n\nTabiew 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](https://github.com/shshemi/tabiew/wiki). The wiki offers explanations of features and the best practices to get the most out of Tabiew.\n\n## Installation\n\nThere are various ways to install Tabiew:\n\n### Shell (Linux / macOS)\n\n```bash\ncurl -sS https://raw.githubusercontent.com/shshemi/tabiew/main/install.sh | sh\n```\n\n### Arch Linux\n\nYou can install from the [official repositories](https://archlinux.org/packages/extra/x86_64/tabiew/) using [pacman](https://wiki.archlinux.org/title/pacman):\n```bash\npacman -S tabiew\n```\n\n### Debian-based\n\nDownload the `.deb` package from the [GitHub releases page](https://github.com/shshemi/tabiew/releases) and run:\n ```bash\nsudo dpkg -i \u003cpath_to_package.deb\u003e\n ```\n\n### RPM-based\n\nDownload the `.rpm` package from the [GitHub releases page](https://github.com/shshemi/tabiew/releases) and run:\n ```bash\nsudo rpm -i \u003cpath_to_package.rpm\u003e\n ```\n\n### MacOS\n\nInstalling Tabiew using [Homebrew](https://brew.sh/) from Homebrew core:\n```bash\nbrew update\nbrew install tabiew\n```\nor tap:\n ```bash\nbrew install shshemi/tabiew/tabiew\n ```\n\nNote: Please be aware that installing Tabiew from the tap involves compiling it from the source, which may take some time to complete.\n\n### Cargo\n\nInstalling Tabiew from *Crates.io*:\n ```bash\ncargo install --locked tabiew\n ```\n\n### Build from Source\n\nEnsure you have rustc version 1.80 (or higher) installed. Download the desired source version from the [release page](https://github.com/shshemi/tabiew/releases). Extract the downloaded file and navigate into the extracted directory. Then run the following command:\n```bash\ncargo build --release\ncp ./target/release/tw \u003csystem_or_local_bin_path\u003e\n```\n\n## Usage\n\nStart Tabiew with `tw`\n```bash\ntw \u003cpath_to_file(s)\u003e\n```\n\nTabiew automatically detects the file format based on the file extension. Supported formats include:\n- **CSV** (`.csv`) - Comma-separated values\n- **TSV** (`.tsv`) - Tab-separated values\n- **Parquet** (`.parquet`, `.pqt`)\n- **JSON** (`.json`)\n- **JSONL** (`.jsonl`) - JSON Lines\n- **Arrow** (`.arrow`)\n- **FWF** (`.fwf`) - Fixed-width format\n- **SQLite** (`.db`, `.sqlite`)\n- **Excel** (`.xls`, `.xlsx`, `.xlsm`, `.xlsb`)\n\nExamples:\n\nOpen various files (format automatically detected):\n```bash\ntw data.csv data.tsv data.arrow\n```\n\nOpen CSV files with custom delimiter (pipe-separated):\n```bash\ntw data.csv --separator '|'\n```\n\nOpen CSV files with custom delimiter and no header row (semicolon-separated):\n```bash\ntw data.csv --separator ';' --no-header\n```\n\nOverride format detection:\n```bash\ntw data.txt -f parquet\n```\n\nDelimiter-separated formats (CSV, TSV, etc):\n```bash\n# Explicitly use CSV format (comma by default, but can use custom delimiter)\ntw data.txt -f csv\ntw data.txt -f csv --separator '|'\n\n# Explicitly use TSV format (always tab-delimited)\ntw data.txt -f tsv\n\n# Use DSV with custom delimiter (equivalent to csv with --separator)\ntw data.txt -f dsv --separator '|'\n```\n\nOpen a URL using curl:\n```bash\ncurl -s \"https://raw.githubusercontent.com/wiki/shshemi/tabiew/housing.csv\" | tw\n```\n\n## Useful Keybindings️\n\n|Key Combination|Functionality|\n|-|-|\n| `F1`| Show help with all keyboard shortcuts|\n| `Enter`| Open sheet|\n| `h j k l` or `← ↓ ↑ →`| Navigation |\n| `b` / `w` | Previous / next column|\n| `e` | Toggle Auto-Fit|\n| `Ctrl + u` / `Ctrl + d`| Move half page up/down|\n| `Ctrl + b` / `Ctrl + f`| Move full page up/down|\n| `Home` or `g`| Move to first row|\n| `End` or `G`| Move to last row|\n| `Ctrl + r`| Reset data frame|\n| `q`| Close |\n| `Q`| Quit Application |\n| `:`| Command Palette|\n| `/`| Fuzzy Search|\n\n## Useful Commands\n\n|Command|Example|Description|\n|-|-|-|\n|`Q` or `query`|`Q SELECT * FROM df`|Query the data in Structured Query Language(SQL). The table name is the file name without extension|\n|`S` or `select`| `S price, area, bedrooms, parking`|Query current data frame for columns/functions|\n|`F` or `filter`| `F price \u003c 20000 AND bedrooms \u003e 4`|Filter current data frame, keeping rows were the condition(s) match|\n|`O` or `order`| `O area`|Sort current data frame by column(s)|\n|`tabn`| `tabn SELECT * FORM user WHERE balance \u003e 1000`|Create a new tab with the given query|\n|`q` or `quit` |`q`| Return to table from sheet view otherwise quit|\n|`schema`| `schema`| Show loaded data frame(s) alongside their path(s)|\n|`reset`| `reset`| Reset the table to the original data frame|\n|`help`| `help`| Show command reference in a new tab|\n\n## Contributing\n\nContributions are welcome! Please fork the repository and submit pull requests with your features and bug fixes.\n\n## Acknowledgments\n\nThis application uses themes from the [Ghostty terminal](https://ghostty.org/).\n\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshshemi%2Ftabiew","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshshemi%2Ftabiew","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshshemi%2Ftabiew/lists"}