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, CSV, or Arrow IPC 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
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.csv
databow --driver duckdb --query "SELECT 42 AS the_answer" --output result.arrow
Reference
$ databow --help
Query databases via ADBC
Usage: databow [OPTIONS]
Options:
--profile <profile> Connection profile name or path
--driver <driver> Driver name (required if --profile not specified)
--uri <uri> Database uniform resource identifier
--username <username> Database user username
--password <password> Database user password
--option <option> Driver-specific database 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.
Release files for databow 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| databow-0.1.2.tar.gz | 42.3 kB | Details |
Built distributions (wheels)
Total release size: 42.2 MB
Release files / databow-0.1.2.tar.gz
| Download URL | databow-0.1.2.tar.gz |
|---|---|
| Size | 42.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
23563e1231b97e7e1110160b0afe22c04d1732b1c38ef2ff4350cd526fc95fff
|
|
BLAKE2b-256 checksum How to use checksums |
a136dc211dff0fe36a7115bf210d9b55247ca52c8c2875e6bbcbbdc0418390bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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.1.2-py3-none-win_arm64.whl
| Download URL | databow-0.1.2-py3-none-win_arm64.whl |
|---|---|
| Size | 2.6 MB |
| Tags | Python 3 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
633cf6d0a9a59b16247c40b93f2266cf0ebe7ed676d6acb53a0094ad3c51cff1
|
|
BLAKE2b-256 checksum How to use checksums |
dd484485dd466249a20ca134aa5cd76f66f587a016630e929a2df00ade8f3531
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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.1.2-py3-none-win_amd64.whl
| Download URL | databow-0.1.2-py3-none-win_amd64.whl |
|---|---|
| Size | 2.7 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
8f4b8a406bed914c3a8ae3c529138d11a0c83fb9459dd8af996b3aa87a9b0a76
|
|
BLAKE2b-256 checksum How to use checksums |
988cdcebb9fbfdf9d4dea3f3140dedf68d0dc20fb20a6dbeea7458ea7025c3a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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.1.2-py3-none-win32.whl
| Download URL | databow-0.1.2-py3-none-win32.whl |
|---|---|
| Size | 2.5 MB |
| Tags | Python 3 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
ce755b02585ac79e7df9f546bc84f5003579bf64e470e68228c40f6b6b8cfa70
|
|
BLAKE2b-256 checksum How to use checksums |
bbfe72025d6b2584ff6f5ac5d8aac2a4644b4fe5732853481a4714a0a47ffe3c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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.1.2-py3-none-musllinux_1_2_x86_64.whl
| Download URL | databow-0.1.2-py3-none-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | Linux musl 1.2+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
7a853598144ced8732bec1f9492dd6de884ac173259a8d959d49f90db882cc9d
|
|
BLAKE2b-256 checksum How to use checksums |
4af93d50ea4c57abfec1edf84dff654ff22923d2c71fe5cc32878f21c59fe085
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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.1.2-py3-none-musllinux_1_2_i686.whl
| Download URL | databow-0.1.2-py3-none-musllinux_1_2_i686.whl |
|---|---|
| Size | 2.9 MB |
| Tags | Linux musl 1.2+ x86-32 Python 3 |
|
SHA-256 checksum How to use checksums |
3acdd4259b445afeece7393faee604a7f66e14d57fb6e380beda06f27517be48
|
|
BLAKE2b-256 checksum How to use checksums |
b4dbe3b301af94067826c222ef2558ba5612b97d29e3060cab576cd30f9edd9b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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.1.2-py3-none-musllinux_1_2_armv7l.whl
| Download URL | databow-0.1.2-py3-none-musllinux_1_2_armv7l.whl |
|---|---|
| Size | 2.6 MB |
| Tags | Linux musl 1.2+ ARMv7l Python 3 |
|
SHA-256 checksum How to use checksums |
4a7c9be31ecd8fceee3dd2514012bc23e0559ccdcf353084c17665a50577e42e
|
|
BLAKE2b-256 checksum How to use checksums |
193cd2e48b27d3cf746018137c3f945201ca5a14b8ac780383075d416bd2b497
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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.1.2-py3-none-musllinux_1_2_aarch64.whl
| Download URL | databow-0.1.2-py3-none-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 2.7 MB |
| Tags | Linux musl 1.2+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
5829896c11530ab91d35ab753c7e20083620fd0838185eef27ce9efeb486fdd1
|
|
BLAKE2b-256 checksum How to use checksums |
b18385f4ce4e9fb1597a4cbbd82265db340f22513d15bb4fab45bc876084c9cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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.1.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | databow-0.1.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
4ac31ff6997eaf796e0368c74ceba98efd9f36d37f975fb8a97bbc7cd03aff3a
|
|
BLAKE2b-256 checksum How to use checksums |
07e46c7806c92dec14f9f8cc0a9ff36320fac67cf007b84318ebe7bed6177f5d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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.1.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
| Download URL | databow-0.1.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl |
|---|---|
| Size | 3.0 MB |
| Tags | Linux glibc 2.17+ IBM System/390x Python 3 |
|
SHA-256 checksum How to use checksums |
b1b564d9761ceffd114c079356f553360900d558767ecd7e7cad98d4992f1fca
|
|
BLAKE2b-256 checksum How to use checksums |
32df659f8667c7eee25d1610c8f2e0466e40386aaf29476accec2d58c44c09cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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.1.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
| Download URL | databow-0.1.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl |
|---|---|
| Size | 3.3 MB |
| Tags | Linux glibc 2.17+ PowerPC 64-le Python 3 |
|
SHA-256 checksum How to use checksums |
1e7c343c6a85698f2bfbee25975e293238bb005b2b2ead22a2968384a18131dd
|
|
BLAKE2b-256 checksum How to use checksums |
8be566c2517b9f9f340a2f2331fc29b6c385442208a6ed843ff91fd1242fe070
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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.1.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | databow-0.1.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 3.0 MB |
| Tags | Linux glibc 2.17+ x86-32 Python 3 |
|
SHA-256 checksum How to use checksums |
011bba559f564d80ade7623df7220346ac8a9978dd1d3be9e4f826df0aafec25
|
|
BLAKE2b-256 checksum How to use checksums |
60b53dcbb9e0f5d1bd4325f7dcf3cb66bd71362e2835058a53285d162eebde5f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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.1.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | databow-0.1.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 2.6 MB |
| Tags | Linux glibc 2.17+ ARMv7l Python 3 |
|
SHA-256 checksum How to use checksums |
dc817a73691625f72975a1e61a9d3fb669981886046ac632aa7c2be612693371
|
|
BLAKE2b-256 checksum How to use checksums |
4a246cb25d7310d84961e4e08fb157587a3bc4816c87160ccf9b62fd035430f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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.1.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | databow-0.1.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 2.8 MB |
| Tags | Linux glibc 2.17+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
a23fa18b1baf480ce5c6f217c971dbaee69cca5192be6d2e47b46b0ff1a9d2e6
|
|
BLAKE2b-256 checksum How to use checksums |
4a4931f8f873ba2e94b2c3a79ef76b9d2c25c1192d0f148c3885ba5012da5b79
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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.1.2-py3-none-macosx_11_0_arm64.whl
| Download URL | databow-0.1.2-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.6 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
ffe093dcfc805f8bef62d718b51232a470566e803320c27e02424a699acd51f8
|
|
BLAKE2b-256 checksum How to use checksums |
c2660eab4b96b65470a5b7b85ed19cae3908e785a6b673d7c5856a1ea1dc77c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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.1.2-py3-none-macosx_10_12_x86_64.whl
| Download URL | databow-0.1.2-py3-none-macosx_10_12_x86_64.whl |
|---|---|
| Size | 2.7 MB |
| Tags | Python 3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
368aba98cf39fbac296a46657c24256a21841d0ddbc33dfb1ab10fc3499afed5
|
|
BLAKE2b-256 checksum How to use checksums |
ebb98cc06dc768549f7c4678594d3170b2825f74c7de84795f2abf238caa5325
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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}
|