I built pq because every time someone sent me a Parquet file, I had to fire up DuckDB or write a Python script just to peek inside.
pq is a single Rust binary that handles the full lifecycle:
- Instant metadata/schema inspection (just
pq data.parquet) - head/tail/sample, column stats, storage analysis
- Schema diff between files, DDL generation (Postgres, ClickHouse, DuckDB, Spark, BigQuery, Snowflake, Redshift, MySQL)
- Contract validation (CI-friendly with exit codes)
- Convert CSV/JSON ↔ Parquet, slice, rewrite compression, merge, compact
- S3 / GCS / Azure Blob / Cloudflare R2 — credentials auto-resolved
- Unix-friendly: table on TTY, JSON when piped
Install: brew install OrlovEvgeny/pq/pq or cargo install pq-parquet