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:
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)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| databow-0.2.0.tar.gz | 69.8 kB | Without provenance | Details for databow-0.2.0.tar.gz |
Built distributions (wheels)
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}
|
Security for databow 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.