Skip to content
Dennis Lee edited this page May 27, 2026 · 1 revision

title: sq radar_quadrant: Tools radar_ring: Assess radar_position: inner

sq

sq is an open-source command-line tool for querying and transforming data across heterogeneous sources. The project is available at sq.io and github.com/neilotoole/sq. It provides a unified SQL interface over SQL databases (PostgreSQL, MySQL, SQLite, SQL Server), CSV, TSV, JSON, Excel, and other formats — query any source with standard SQL, join across sources, and output to any format. Inspired by jq but for tabular data.

A typical workflow: sq '@csv_file | .sheet1 | select name, email where active = true | .json' — query a CSV as a table, filter rows, output JSON. Sources are registered by name and reused across queries. Cross-source joins work by specifying the source prefix in the query. Output formats include JSON, CSV, Excel, HTML, Markdown table, and direct insertion into a target database.

Radar Assessment

Placed in Tools / Assess / inner.

Data wrangling across formats is a persistent friction point in engineering workflows: converting a CSV to JSON, querying a Postgres table and a spreadsheet together, or extracting a subset of records from a database for a one-off analysis. Each task currently requires a different tool (psql, csvkit, jq, pandas) with different syntax.

sq unifies these under standard SQL with named source aliases, making ad-hoc data work composable and scriptable without writing Python. The cross-source join capability is the distinctive feature — sq '@db.users | join @csv.orders on .id' is not something any single-source tool provides.

Inner position reflects the zero-learning-curve SQL interface, direct composability with Git-backed SQLite Data Pipeline and DuckDB Vector Search already on this radar, and broad source coverage that makes it applicable in nearly any data engineering context.

Trial gate: sq used to query at least two different source types (e.g. a database and a CSV) in a real workflow, with output piped to a target format or database.

Clone this wiki locally