Skip to main content

databow

databow GitHub Release GitHub Actions Workflow Status GitHub License

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:

uv tool install databow

Install with Cargo:

cargo install databow

Install with Homebrew:

brew install columnar-tech/tap/databow

Getting Started

Install the DuckDB ADBC driver with dbc:

dbc install duckdb

Interactive Usage

Connect to DuckDB (in-memory):

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:

databow --driver duckdb --query "SELECT 42 AS the_answer"

Execute a query from stdin and exit:

echo "SELECT 42 AS the_answer" | databow --driver duckdb

Execute a query from a file and exit:

databow --driver duckdb --file select_example.sql

Execute a query and output the result to a file:

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

$ databow --help
Query databases via ADBC

Usage: databow [OPTIONS]

Options:
      --profile <profile>             Connection profile name or path
      --driver <driver>               Driver name (inferred from --uri scheme or profile if not specified)
      --uri <uri>                     Database uniform resource identifier
      --username <username>           Database user username
      --password <password>           Database user password
      --option <key=value>            Driver-specific database option
      --statement-option <key=value>  Driver-specific statement option
      --mode <mode>                   Table display style [default: utf8-compact]
      --query <query>                 Execute query and exit
      --file <file>                   Read and execute file and exit
      --output <file>                 Write result to file
  -h, --help                          Print help
  -V, --version                       Print version

License

This project is licensed under Apache-2.0.

Metadata

Release files for databow 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for databow 0.2.0
File Size Uploaded
databow-0.2.0.tar.gz 69.8 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for databow 0.2.0
File
databow-0.2.0-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details
databow-0.2.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
databow-0.2.0-py3-none-win32.whl Python 3 none Windows x86-32 Details
databow-0.2.0-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
databow-0.2.0-py3-none-musllinux_1_2_i686.whl Python 3 none Linux musl 1.2+ x86-32 Details
databow-0.2.0-py3-none-musllinux_1_2_armv7l.whl Python 3 none Linux musl 1.2+ ARMv7l Details
databow-0.2.0-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
databow-0.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
databow-0.2.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl Python 3 none Linux glibc 2.17+ IBM System/390x Details
databow-0.2.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl Python 3 none Linux glibc 2.17+ PowerPC 64-le Details
databow-0.2.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl Python 3 none Linux glibc 2.17+ x86-32 Details
databow-0.2.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl Python 3 none Linux glibc 2.17+ ARMv7l Details
databow-0.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
databow-0.2.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
databow-0.2.0-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 57.4 MB

Release files / databow-0.2.0.tar.gz

Download URL databow-0.2.0.tar.gz
Size 69.8 kB
Tags Source
SHA-256 checksum
How to use checksums
d50e57900a0f975cecd5630cf253bfe84e395cda4cec5430ada00329018bd987
BLAKE2b-256 checksum
How to use checksums
af4574ebcd217c6113b30739d47f7f7496f093a2f017a0cbae7ca73567073588
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / databow-0.2.0-py3-none-win_arm64.whl

Download URL databow-0.2.0-py3-none-win_arm64.whl
Size 3.4 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
1c6a94518e5f7c0682240d387d903bea4854b5e0ca85c828817b1e6290238282
BLAKE2b-256 checksum
How to use checksums
88381cac27656a2123dc65b1a8f5e435c623900d9faced1272926fb925182bb9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / databow-0.2.0-py3-none-win_amd64.whl

Download URL databow-0.2.0-py3-none-win_amd64.whl
Size 3.6 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
d1aa6b09d2fd5436ad9a5110a8ea7aa2257a7c37915a916c3c9954ca2876177a
BLAKE2b-256 checksum
How to use checksums
515889ebfea99dcd5ee4a36ecf93fb7f4a188b82e3772520bb60ccab6ea9526b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / databow-0.2.0-py3-none-win32.whl

Download URL databow-0.2.0-py3-none-win32.whl
Size 3.3 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
896e37475d1f8797c719c5ca779eeb316cb9b065c76a366b2840466acf4e40cd
BLAKE2b-256 checksum
How to use checksums
13a7dae49e75756d4eedec3b907d9a96a51c884830b906153325c930ff5445c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / databow-0.2.0-py3-none-musllinux_1_2_x86_64.whl

Download URL databow-0.2.0-py3-none-musllinux_1_2_x86_64.whl
Size 3.9 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
f09ff88e1ddda0d285199ba07eeaf5bf33218cbf0d26af6203fc65515ab0bec6
BLAKE2b-256 checksum
How to use checksums
13eb38bfcb8c89816d7bf81dc0e9ba325df63eec4ff9f38c4c286a29505a25fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / databow-0.2.0-py3-none-musllinux_1_2_i686.whl

Download URL databow-0.2.0-py3-none-musllinux_1_2_i686.whl
Size 3.8 MB
Tags Linux musl 1.2+ x86-32 Python 3
SHA-256 checksum
How to use checksums
730e8c60fa9a43e7ff855382c55a4d770a55456c8a7b7bf4baa056ed2f7efa6e
BLAKE2b-256 checksum
How to use checksums
002acd272c31601acf2cb53d1bc212cbd67ee7dba3b464ab79cdd1afa3c38829
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / databow-0.2.0-py3-none-musllinux_1_2_armv7l.whl

Download URL databow-0.2.0-py3-none-musllinux_1_2_armv7l.whl
Size 3.5 MB
Tags Linux musl 1.2+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
e01658e13fc228b2620eb542c3403742868cb2bc167d80bc3c5dec5fd6500bee
BLAKE2b-256 checksum
How to use checksums
607d7a579252a66df40d8095fe079c346fd0e85ce95b5f15976fce8bef9856d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / databow-0.2.0-py3-none-musllinux_1_2_aarch64.whl

Download URL databow-0.2.0-py3-none-musllinux_1_2_aarch64.whl
Size 3.6 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
f5d07a4e601a64b81ce102983af738f76404208272c86edd29e07b78ae564d2b
BLAKE2b-256 checksum
How to use checksums
05065cc99e1ee7db2a8a98cc35c336d6df965c680b0d2e3cd308a1f3af290a0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / databow-0.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL databow-0.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.0 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
0c306e1e979c4beeeb5c812547c0cf2a3ac784af54695fa3c9a887279e1d5943
BLAKE2b-256 checksum
How to use checksums
9b094740db9d31a6e1ecb663f0824800e065dac62ae09be86e8062619080a5e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / databow-0.2.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL databow-0.2.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 4.0 MB
Tags Linux glibc 2.17+ IBM System/390x Python 3
SHA-256 checksum
How to use checksums
c4082970f60e447805c2f32093060cc0f80006c29f377b17fe9fb106e4d1717d
BLAKE2b-256 checksum
How to use checksums
675ff1b31373ff52acf127d8bc392dd9e0a5e868143a57fd970d8a1573fcc255
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / databow-0.2.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL databow-0.2.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 5.9 MB
Tags Linux glibc 2.17+ PowerPC 64-le Python 3
SHA-256 checksum
How to use checksums
4ccd546e65acf4662ba09108848f27d218a96f61a6b9e3a0caf0ac161890c691
BLAKE2b-256 checksum
How to use checksums
af328072829bd9fc4a07a0c409b117caea47f5f70cbc031a82d06760a3cd53fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / databow-0.2.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL databow-0.2.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Size 4.0 MB
Tags Linux glibc 2.17+ x86-32 Python 3
SHA-256 checksum
How to use checksums
6072fea2604267123a3f45135841d2b7873feb805d72d4f5983d0a427008f365
BLAKE2b-256 checksum
How to use checksums
5a665c9b7048e119d85efb6c1f6b8f75dfdbe9d50969d285a8d5bb37b3e0fad9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / databow-0.2.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL databow-0.2.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 3.5 MB
Tags Linux glibc 2.17+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
bb60ff7a0a20b503c89835d43270ddcb1dcdf3d15a1ac19d837ad5d3be7dd4b4
BLAKE2b-256 checksum
How to use checksums
da76b745f893ac6dde2cb72dbce6e6ab5e549342275c968d9b612343987af2c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / databow-0.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL databow-0.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 3.6 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
677c8e8ef2196780d0f5c6655153bf8db00739f43ccd9e40c5bc709e4ac8ab94
BLAKE2b-256 checksum
How to use checksums
0873172fa04027d75f662f3fc505161abc5c7234c6b4ca6a362c04f7e8cce696
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / databow-0.2.0-py3-none-macosx_11_0_arm64.whl

Download URL databow-0.2.0-py3-none-macosx_11_0_arm64.whl
Size 3.5 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
eb0ea28b35303a1c54ca38bd7881b8001b3d3d0daa8ef61cf7f77629db21e21e
BLAKE2b-256 checksum
How to use checksums
8195e09930422e2a9b60ac835afc2d45faedb990c2056b3ac9ce9563777a7d74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / databow-0.2.0-py3-none-macosx_10_12_x86_64.whl

Download URL databow-0.2.0-py3-none-macosx_10_12_x86_64.whl
Size 3.6 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
78344b87f78422cd5a2d6872352419ca723ec3a51dcf0849c1c04475213e74b9
BLAKE2b-256 checksum
How to use checksums
a2364b59b2cad129a14e1d5dc88f029aa2df680418927224a4a11716ad5da3f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.2.0 This release

16 release files

0.1.1

16 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page