A command-line tool for querying databases.
Project description
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 from crates.io:
cargo install databow --version 0.1.0-beta.2
Install from source:
git clone https://github.com/columnar-tech/databow.git
cargo install --path 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file databow-0.1.0b2.tar.gz.
File metadata
- Download URL: databow-0.1.0b2.tar.gz
- Upload date:
- Size: 41.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35775c999055ce1489f9a9a3e3ac9ecc156b17cadc9a8639c908077cbc33aff7
|
|
| MD5 |
2468a0b0af8127893ecdeceb14ac6616
|
|
| BLAKE2b-256 |
b841beac1ccf8505a58c9a41add57b3d87498e9065a66509ce96cd8bbc266509
|
File details
Details for the file databow-0.1.0b2-py3-none-win_arm64.whl.
File metadata
- Download URL: databow-0.1.0b2-py3-none-win_arm64.whl
- Upload date:
- Size: 1.9 MB
- Tags: Python 3, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cec4d91d61aba0f37cf26c3a86519bd50cfdfe76d8f31da4d04e29d43289f3c9
|
|
| MD5 |
bc640bb5abbbaeafb194dc5312df64ab
|
|
| BLAKE2b-256 |
b8827f4bc0e5a10721e37c5a2a745657e7d908ca444cfebe8ee839db73ac108b
|
File details
Details for the file databow-0.1.0b2-py3-none-win_amd64.whl.
File metadata
- Download URL: databow-0.1.0b2-py3-none-win_amd64.whl
- Upload date:
- Size: 2.0 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38eb27d6f33245a1b9d73821faae10bae38818241abdfd0f24ea9f0ed5f9b767
|
|
| MD5 |
647a925952500a9d5b4bc7b985d1d35b
|
|
| BLAKE2b-256 |
963683e89722917d38c50f1ebb08dcf6aa0318805bece8458b13586ca968c429
|
File details
Details for the file databow-0.1.0b2-py3-none-win32.whl.
File metadata
- Download URL: databow-0.1.0b2-py3-none-win32.whl
- Upload date:
- Size: 1.8 MB
- Tags: Python 3, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9f57a3b0776e7fc2bf2669bd4b58b0552e4d17335a17711e9f95cb48de2d2e0
|
|
| MD5 |
3e9d62c203cc5b81a16f0b6165a60dbe
|
|
| BLAKE2b-256 |
babbb5d94df09529f430842b8774ccd93542cfb2ac29a5a9168ab5de6e43eb95
|
File details
Details for the file databow-0.1.0b2-py3-none-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: databow-0.1.0b2-py3-none-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.2 MB
- Tags: Python 3, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd10d7704d63cd47b4590be57af18a4c7f7d38ecea2e205677c2817954b57e6c
|
|
| MD5 |
0be9ea6fbbd1112eb8dddc91c36343c1
|
|
| BLAKE2b-256 |
528f9e09df1cbcbdf6be83091f117e57ddc35a29e25cf4b4d78ab2e6657f90fe
|
File details
Details for the file databow-0.1.0b2-py3-none-musllinux_1_2_i686.whl.
File metadata
- Download URL: databow-0.1.0b2-py3-none-musllinux_1_2_i686.whl
- Upload date:
- Size: 2.2 MB
- Tags: Python 3, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58eaa7fae3b916b70cf8a579e0a3026ebebc6b9c76b551f0f4a7363ab725aa31
|
|
| MD5 |
020265644b40742a658ec36f5ebc2617
|
|
| BLAKE2b-256 |
85ff4e739bf7f75f3b7774bd476bff03281323aa6df58de690239653f459c8dd
|
File details
Details for the file databow-0.1.0b2-py3-none-musllinux_1_2_armv7l.whl.
File metadata
- Download URL: databow-0.1.0b2-py3-none-musllinux_1_2_armv7l.whl
- Upload date:
- Size: 2.0 MB
- Tags: Python 3, musllinux: musl 1.2+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4bf8a0886ec2ef60d6710d0581d9e18ce9ead370a5bc8f3b937648be089247b3
|
|
| MD5 |
0680b029e4f53e70c19fab4c4d8fcbfd
|
|
| BLAKE2b-256 |
dbc58bac1c3f93c958ce57b9f07eb6e554a3278f0007c013c1a6c0c7f7a058ce
|
File details
Details for the file databow-0.1.0b2-py3-none-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: databow-0.1.0b2-py3-none-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 2.0 MB
- Tags: Python 3, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1823869badd19051e51cbc3c17fa1f21810991bcb16d7b7cdb08e28cbaf95d4
|
|
| MD5 |
3e3685be327dd501baa4db3ecb08c74a
|
|
| BLAKE2b-256 |
ef436a5bc927349919f9418c455b8cc78ce682a8dbde7909d8cfed8565b7c0ce
|
File details
Details for the file databow-0.1.0b2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: databow-0.1.0b2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 2.3 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c3091bfc227a6da7e9120f4113783346d5b537678155aa5b69511ccf59950bb
|
|
| MD5 |
b737296fdab6299ca073b44441160bd4
|
|
| BLAKE2b-256 |
4677cc7979a9f337830af726eb792b0a6b68e5a22adb1abfef9fbb5bd293a283
|
File details
Details for the file databow-0.1.0b2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl.
File metadata
- Download URL: databow-0.1.0b2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
- Upload date:
- Size: 2.2 MB
- Tags: Python 3, manylinux: glibc 2.17+ s390x
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88f4bbc3197d047688f371d7c0677dd323c9d15201355ba1b08eab51c844a600
|
|
| MD5 |
0c544538176a6425f8c727259a816be3
|
|
| BLAKE2b-256 |
dec4a878d096a24030890006a13cd44aeeea54403e8790fc1b7fb20c958ed387
|
File details
Details for the file databow-0.1.0b2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.
File metadata
- Download URL: databow-0.1.0b2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
- Upload date:
- Size: 2.5 MB
- Tags: Python 3, manylinux: glibc 2.17+ ppc64le
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e62124b76f441cd7ef00c145413e9ae4d92025c7d490756380937914619f415
|
|
| MD5 |
b4e6230d1d1419d0fb4c71e939878818
|
|
| BLAKE2b-256 |
1aa368cb00a08064e060edc7bfa593340259739ffb3ef222bae486ab1882dd68
|
File details
Details for the file databow-0.1.0b2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: databow-0.1.0b2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 2.3 MB
- Tags: Python 3, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f1c6c6452823c71b0627ed7d0c78b8e5efc22858cb7d4d9c3072f9b67a8cf19
|
|
| MD5 |
675cb938da9675d1169265cdaf9117b8
|
|
| BLAKE2b-256 |
5a5ee348925b97ad2bd58fb9be3acc5969b3b2ab2eb9cca1277af7c2b0285cf1
|
File details
Details for the file databow-0.1.0b2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.
File metadata
- Download URL: databow-0.1.0b2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
- Upload date:
- Size: 2.0 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb19d3f603fd73c2f2a893ab13a0c88264ddf294b7d5140ada7b1758194e8eba
|
|
| MD5 |
9e73d0e22c714b60b66f48ba9a3fa9b5
|
|
| BLAKE2b-256 |
398617559d8dff79ac97081e217ed1afb0c736ca8137e59573c4dfe91d7ea33b
|
File details
Details for the file databow-0.1.0b2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: databow-0.1.0b2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 2.0 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e67adc504c6c85aa96130f1f155d965c18cee1911df6872234e491f89fef83f7
|
|
| MD5 |
d5303e6b996df2842e9c89248f46adf2
|
|
| BLAKE2b-256 |
6d92963f3dff718f7134a6d7df6b7de928d027b80eca713295669bf4f30181f8
|
File details
Details for the file databow-0.1.0b2-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: databow-0.1.0b2-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.0 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c07a635061422a5a3c1545ca395ee1b7124a8d3cb1c25fffd785997a6a9d092c
|
|
| MD5 |
eded31bff6596a1e9aa9217595d0d635
|
|
| BLAKE2b-256 |
d0998baade7bb34637b3d42469f81c9d331906d48f53f3f476186c728bd729a0
|
File details
Details for the file databow-0.1.0b2-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: databow-0.1.0b2-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 2.0 MB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb64aa700389fe99f7130c5e31220c4d13529063e0a2cbd4a006d5cd027207aa
|
|
| MD5 |
42509082fba6ae40adf2745c606c83fb
|
|
| BLAKE2b-256 |
53ed561f268f212211c51ea36bf091eee0471a4279fee59c8bc9a2af2dcc5742
|