Skip to main content

A CLI tool for tabular data

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tab_cli-0.2.1.tar.gz (219.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tab_cli-0.2.1-py3-none-any.whl (36.5 kB view details)

Uploaded Python 3

File details

Details for the file tab_cli-0.2.1.tar.gz.

File metadata

  • Download URL: tab_cli-0.2.1.tar.gz
  • Upload date:
  • Size: 219.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.4

File hashes

Hashes for tab_cli-0.2.1.tar.gz
Algorithm Hash digest
SHA256 0cd339f9262f3c49f010b28ae0170c65b48a30e32be1ed950c5bd5afe7a35be3
MD5 ea7b3da48a5bbbfdee9716d4ed17784b
BLAKE2b-256 937e6aa0cc86b8b1e65fedcfcdfff48b27f9347bd65a7f8c1ab235f4e8823352

See more details on using hashes here.

File details

Details for the file tab_cli-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: tab_cli-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 36.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.4

File hashes

Hashes for tab_cli-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 94639e4aa6d34ea6c6beea8d16a45c82bdfe4e3a498ef051e7a6d6a9aacc75f4
MD5 6a73c7fbd58ae6e87c563496593724e0
BLAKE2b-256 33132562bb1ceb7645f7ccbf7385fe3ad348440d4100e8598a6ca0d47c936f9c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page