Skip to content

ctongfei/tab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tab

pypi

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

tab view

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

tab view --sql

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})

About

A CLI tool for viewing tabular data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors