databow: a Rust CLI to query any database with an ADBC driver

TL;DR

Databow, an open-source Rust-based CLI, allows users to query over 30 databases using ADBC drivers, providing a unified, fast interface for data engineers. It simplifies multi-database workflows and supports scripting and automation.

Databow, an open-source command-line tool built in Rust, was launched today to enable querying any database that supports an ADBC driver, providing a unified interface for data engineers and analysts.

Developed as a modern, lightweight CLI, databow connects to over 30 databases, including transactional, analytical, lakehouse, and time-series systems, via the Arrow Database Connectivity (ADBC) standard. It offers an interactive SQL shell with syntax highlighting, multiline input, export options, and scripting capabilities. Users can install it using the uv tool or Cargo and manage database connections through profiles, simplifying repeated tasks.

Databow leverages ADBC, a vendor-neutral API from the Apache Arrow project, to facilitate efficient data transfer using Arrow’s columnar format. This design ensures consistent behavior across different databases and allows for immediate support of new systems as ADBC drivers become available. The tool also supports exporting results to CSV, JSON, and Arrow IPC formats, and plans are underway to add more features, such as additional export formats and improved result set handling.

Why It Matters

This development matters because it addresses fragmentation in database querying tools, offering a single, fast, and modern CLI that can connect to a wide range of databases. It reduces the need to learn multiple CLI syntaxes, improves workflow efficiency, and enhances automation capabilities for data professionals. As the ADBC ecosystem expands, databow’s support for new databases will grow, making it a versatile tool for data engineering and analysis.

Amazon

database query CLI tools

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Background

Prior to databow, data engineers and analysts relied on database-specific CLI tools like psql, mysql, or snowsql, which vary in syntax and output formats. GUI tools exist but are often heavyweight and less suited for scripting. The introduction of ADBC as a standard aims to unify database connectivity, and databow leverages this to streamline data access across diverse systems. The tool’s release follows ongoing efforts within the Apache Arrow community to promote vendor-neutral, high-performance data transfer standards.

“Databow simplifies multi-database workflows by providing a single, modern CLI that supports any database with an ADBC driver.”

— an anonymous researcher

“Built in Rust, databow offers fast queries and a small footprint, making it suitable for scripting and automation.”

— an anonymous researcher

Amazon

CSV JSON export software

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

What Remains Unclear

It is not yet clear how quickly database vendors will adopt ADBC drivers or how comprehensive the current driver ecosystem will become, which could impact databow’s database support in the near term.

Amazon

command-line database client

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

What’s Next

Next steps include expanding support for additional databases as ADBC drivers are released, developing new features such as more export formats, and integrating advanced query management tools. The project’s maintainers plan to gather community feedback to prioritize future improvements.

Amazon

data analysis scripting tools

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Key Questions

Can databow connect to all databases?

Databow can connect to any database with an available ADBC driver. As the ADBC ecosystem grows, support for more databases will be added.

How do I install databow?

You can install databow using the uv tool with the command uv tool install databow or via Cargo with cargo install databow.

Does databow support scripting and automation?

Yes, databow is designed to be integrated into scripts and pipelines, supporting direct query execution, file reading, and output piping.

What are the future features planned for databow?

Planned features include dot commands for quick configuration, support for additional export formats like Parquet, result set truncation, and displaying data types alongside query results.

Source: Hacker News

You May Also Like

Cessation of public development of Kefir C compiler

The developer of Kefir C compiler announces indefinite halt of public development, shifting work to private, citing sustainability and resource concerns.

Show HN: Nutrepedia – Nutrition info in 29 locales built with Clojure and Htmx

Nutrepedia is a new web application providing nutrition information in 29 locales, built with Clojure and Htmx, announced on Show HN.

Tracing HTTP Requests with Go’s net/HTTP/httptrace

An overview of how Go’s net/http/httptrace enables detailed tracing of HTTP request stages, including DNS, TLS, and connection timings.

One Video In, a Whole Publishing Kit Out — Without the Cloud

Discover how to turn a single video into a full author publishing kit, all offline. Speed up your launch and keep control of your assets without relying on the cloud.