winget install --id vmvarela.sql-pipe
About sql-pipe
sql-pipe reads CSV from stdin, loads it into an in-memory SQLite database, runs a SQL query, and prints the results as CSV. No server, no schema files, no setup. If you know SQL and work with CSV in the terminal, this is the tool you have been reaching for.
What's new in 0.9.0
π Features - --disk flag β use a file-backed SQLite temp database instead of :memory:, enabling datasets larger than available RAM. Also sets PRAGMA temp_store = FILE for transient structures. (#148) - --json-path <path> flag β navigate to a nested JSON array before querying, using a dot-separated path (e.g. results.items). Works with queries, --columns, and --validate. Requires -I json. (#151) π Bug Fixes - XML parser now verifies that nested closing tags match their opening tag names and exits with a clear error on mismatch (#149) β‘ Performance - Replaced byte-by-byte takeByte() loops with bulk block reads (allocRemaining) in XML and JSON input loading β significantly faster on large files (#150) π§° Maintenance - Modularized source into dedicated modules: format, args, sqlite, loader, modes (#146) - Eliminated code duplication and simplified core patterns across the codebase (#147) π Documentation - Added --xml-root / --xml-row usage examples to --help text, man page, and README (#152) Full Changelog: v0.8.1...v0.9.0
Version history
| Version | Updated | Notes |
|---|---|---|
| 0.9.0 | Unknown | π Features - --disk flag β use a file-backed SQLite temp database instead of :memory:, enabling datasets larger than available RAM. Also sets PRAGMA temp_store = FILE for transient structures. (#148) - --json-path <path>... |
| 0.8.1 | Unknown | What's Changed π Bug Fixes - fix: make --xml-root and --xml-row work for XML input parsing (#140) @vmvarela Full Changelog: v0.8.0...v0.8.1 |
| 0.8.0 | Unknown | π Features - Add XML input and output format support β --input xml / --output xml (#133) - Support multi-character input delimiters β e.g. --delimiter '||' (#132) - Add --sample <n> flag for quick data preview with schem... |
| 0.7.1 | Unknown | What's Changed - chore: remove redundant in-repo Nix and AUR packaging files (#125) @vmvarela - feat(packaging): centralize package repositories by package manager (#124) @vmvarela Full Changelog: v0.7.0...v0.7.1 |
| 0.7.0 | Unknown | What's Changed π Features - feat: add JSON and NDJSON input/output format support (#118) @vmvarela - feat: add TSV input and output format support (#120) @vmvarela π§° Maintenance - chore: fix release-drafter duplicate ent... |
| 0.6.0 | Unknown | π Features - Add --output <file> flag to write query results to a file (#115) - Add --columns flag to list CSV input column names (#113) - Progress indicator during CSV loading (#112) - Print row count after loading CSV... |
| 0.4.1 | Unknown | What's Changed - chore(deps): bump KSXGitHub/github-actions-deploy-aur from 4.1.1 to 4.1.2 (#103) @dependabot[bot] - fix(ci): include man page in generated Homebrew formula (#101) @vmvarela - ci: fix release-drafter dupl... |
| 0.4.0 | Unknown | π Features - Add --json output flag β results as a JSON array of objects (#74) - Add Alpine Linux .apk packages to release workflow (#75) π§° Maintenance - Add integration tests for --delimiter, --tsv, and --header flags (... |
| 0.3.0 | Unknown | Release notes |