299
stars
20
forks
2
watchers
25
prs
26
issues
8
releases
0
discussions
README
databow A command-line tool for querying databases via ADBC. Highlights - Multi-database support - Connect to any database with a compatible ADBC driver - Interactive SQL shell - Execute SQL queries with command history and intuitive navigation - Syntax highlighting - SQL queries highlighted for improved readability - Formatted output - Results displayed in clean, aligned tables with dynamic column width - File export - Export query results to JSON, JSON lines, CSV, Arrow IPC, or Parquet files - Fast and lightweight - Built in Rust for high performance and minimal resource usage Installation Install with uv: sh uv tool install databow Install with Cargo: sh cargo install databow Install with Homebrew: sh brew install columnar-tech/tap/databow Getting Started Install the DuckDB ADBC driver with dbc: sh dbc install duckdb Interactive Usage Connect to DuckDB (in-memory): sh databow --driver duckdb Execute SQL queries: CREATE TABLE penguins AS FROM 'https://blobs.duckdb.org/data/penguins.csv'; ┌───────┐ │ Count │ ├───────┤ │ 344 │ └───────┘ SELECT . FROM penguins . LIMIT 5; ┌─────────┬───────────┬────────────────┬───────────────┬───────────────────┬─────────────┬────────┬──────┐ │ species │ island │ bill_length_mm │ bill_depth_mm │ flipper_length_mm │ body_mass_g │ sex │ year │ ├─────────┼───────────┼────────────────┼───────────────┼───────────────────┼─────────────┼────────┼──────┤ │ Adelie │ Torgersen │ 39.1 │ 18.7 │ 181 │ 3750 │ male │ 2007 │ │ Adelie │ Torgersen │ 39.5 │ 17.4 │ 186 │ 3800 │ female │ 2007 │ │ Adelie │ Torgersen │ 40.3 │ 18 │ 195 │ 3250 │ female │ 2007 │ │ Adelie │ Torgersen │ NA │ NA │ NA │ NA │ NA │ 2007 │ │ Adelie │ Torgersen │ 36.7 │ 19.3 │ 193 │ 3450 │ female │ 2007 │ └─────────┴───────────┴────────────────┴───────────────┴───────────────────┴─────────────┴────────┴──────┘ Non-interactive Usage Execute a query directly and exit: sh databow --driver duckdb --query "SELECT 42 AS the_answer" Execute a query from stdin and exit: sh echo "SELECT 42 AS the_answer" | databow --driver duckdb Execute a query from a file and exit: sh databow --driver duckdb --file select_example.sql Execute a query and output the result to a file: sh databow --driver duckdb --query "SELECT 42 AS the_answer" --output result.json databow --driver duckdb --query "SELECT 42 AS the_answer" --output result.jsonl databow --driver duckdb --query "SELECT 42 AS the_answer" --output result.csv databow --driver duckdb --query "SELECT 42 AS the_answer" --output result.arrow databow --driver duckdb --query "SELECT 42 AS the_answer" --output result.arrows databow --driver duckdb --query "SELECT 42 AS the_answer" --output result.parquet Reference console $ databow --help Query databases via
Top issues
#1Feature request: Show data type in table output3 comments · 2026-02-26#33Support other ADBC methods other than executing statements2 comments · 2026-09-01#10Handle PRQL2 comments · 2026-06-05#16Cross session history restore1 comments · 2026-06-24#49databow can't bind query parameters0 comments · 2026-11-05#43Consider adding an agent mode0 comments · 2026-10-13#18Provide query diagnostics before executing0 comments · 2026-06-24
Latest release
v0.2.0 v0.2.0 2026-10-14What's Changed docs: remove --pre from dbc install clickhouse by @ianmcook in https://github.com/columnar-tech/databow/pull/25 docs: add Homebrew installation instructions by @esadek in https://github.com/columnar-tech/databow/pull/28 feat: infer driver from URI scheme by @esadek in https://github.com/columnar-tech/databow/pull/29 docs: add chdb example by @esadek in https://github.com/columnar-tech/databow/pull/30 docs: add presto example by @esadek in https://github.com/columnar-tech/databow/pull/31 feat: show info on repl startup by @esadek in https://github.com/columnar-tech/databow/