tab
A CLI tool for viewing, querying, and converting tabular data files. Reads CSV, TSV, JSON Lines, Parquet, Avro, SQLite tables, and DuckDB tables -- locally or from S3, GCS, and Azure Blob Storage.
pip install tab-cli
Documentation: tongfei.me/tab
Quick look
View any tabular file
tab view data.csv
Can be remote, with many partitions that is globbed together:
tab view 's3://aws-public-blockchain/v1.0/btc/blocks/date=2026-01-*/*'
Query with SQL
The table is always available as t:
tab view --sql 'SELECT * FROM t WHERE Metric_A_Value > 80' data.csv
Reshape rows with JMESPath
tab view --jp '{id: participant.id, city: profile.address.city}' data.parquet
Convert between formats
tab convert data.csv data.parquet
tab convert data.parquet data.jsonl -o jsonl
tab convert data.csv output_dir/ -o parquet -n 4 # partitioned
Concatenate files
tab cat part1.csv part2.csv part3.csv -o jsonl > combined.jsonl
Inspect schema and summary
tab schema data.parquet
tab summary data.parquet
Read from stdin
curl -s https://example.com/data.csv | tab view -i csv -
Read from cloud storage
tab view s3://bucket/path/data.parquet
tab view gs://bucket/path/data.csv
tab view az://container/path/data.jsonl
Globbing is supported for local and cloud paths:
tab view 'data/date=*/*.parquet'
tab view 's3://bucket/path/date=2026-01-*/*'
Read a SQLite table
Use {url}#{table_name} for SQLite inputs:
tab view data.db#users
tab view s3://bucket/path/data.db#users
Read a DuckDB table
Use {url}#{table_name} for DuckDB inputs:
tab view data.duckdb#users
tab view s3://bucket/path/data.duckdb#users
Install cloud extras as needed:
pip install 'tab-cli[s3]' # AWS S3
pip install 'tab-cli[gs]' # Google Cloud Storage
pip install 'tab-cli[az]' # Azure Blob Storage
pip install 'tab-cli[duckdb]' # DuckDB input support
pip install 'tab-cli[sqlite]' # SQLite via Polars ADBC
pip install 'tab-cli[all]' # Install all optional integrations
Supported formats
- csv
- tsv
- jsonl
- parquet
- avro
- duckdb (input only; use
{url}#{table_name}) - sqlite (input only; use
{url}#{table_name})
Metadata
Release files for tab-cli 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tab_cli-0.2.1.tar.gz | 219.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tab_cli-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 256.3 kB
Release files / tab_cli-0.2.1.tar.gz
| Download URL | tab_cli-0.2.1.tar.gz |
|---|---|
| Size | 219.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0cd339f9262f3c49f010b28ae0170c65b48a30e32be1ed950c5bd5afe7a35be3
|
|
BLAKE2b-256 checksum How to use checksums |
937e6aa0cc86b8b1e65fedcfcdfff48b27f9347bd65a7f8c1ab235f4e8823352
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.4
|
Release files / tab_cli-0.2.1-py3-none-any.whl
| Download URL | tab_cli-0.2.1-py3-none-any.whl |
|---|---|
| Size | 36.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
94639e4aa6d34ea6c6beea8d16a45c82bdfe4e3a498ef051e7a6d6a9aacc75f4
|
|
BLAKE2b-256 checksum How to use checksums |
33132562bb1ceb7645f7ccbf7385fe3ad348440d4100e8598a6ca0d47c936f9c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.4
|