Announcing dbc 0.2.0
TL;DR
dbc is the command-line tool for installing and managing ADBC drivers. Today we're releasing version 0.2.0, with new drivers for Oracle and Teradata through a new private registry. The release includes improvements for human users and tools that embed dbc. We're also shipping a new agent skill that helps AI coding assistants reliably install drivers. Install or upgrade now.
When we first released dbc—a small CLI with the big goal of making ADBC "easy as 1-2-3"—we didn't know what kind of adoption we'd see. But we were certain that finding, downloading, installing, and managing ADBC drivers needed to be easier. ADBC can be dramatically faster than legacy connectivity standards, but if getting a driver onto a laptop or CI runner felt like a scavenger hunt, performance didn't matter.
Since that first release in October, we've been thrilled to see a few trends emerge:
1. dbc is becoming the default way to install ADBC drivers.
With dbc, you run a single, simple command to install a driver, and it's available by name to ADBC-enabled tools and libraries on your system, so things "just work," consistently across languages and systems. The same dbc install flow works whether you're using ADBC from Python, R, Rust, Java, Go, or C++ and whether you're on Windows, macOS, or Linux.
2. Usage is growing in two directions.
More people are using dbc directly, and we're also seeing tools and projects embedding dbc as a dependency so they can install ADBC drivers on behalf of their users. For example, Bruin, dlt, and Sling now use dbc to handle ADBC driver installation.
3. We're seeing growing interest in agentic workflows.
When an AI coding agent generates code that connects to a database, runs a query, and returns results, connectivity needs to be something it can set up end-to-end in a deterministic, scriptable, and safe way. Because dbc makes that setup fully local and invariant across languages and operating systems, an agent can follow the same playbook regardless of the platform and environment, so "connect to X" actually works on the first run.
4. Users are hungry for more drivers.
This is the recurring theme in our inbox: "This is great; can you add my database?"
• • •
Today we're shipping dbc 0.2.0 in response to those trends.
What's new in dbc 0.2.0
Getting new drivers to users sooner
One of the best parts of dbc is that driver developers can ship a new release and users can install it immediately. Now with dbc 0.2.0, we're making it easy to access drivers even before a stable release:
- The new
--pre option lets you find and install pre-release builds from the driver registry, useful for testing fixes or trying new features early. This is supported with dbc's search, install, and add subcommands. We plan to use it in the near future to get new and updated drivers shipped to you early. Stay tuned.
- You can now install drivers from a local file with
dbc install --no-verify package.tar.gz, making it easier for developers to test end-to-end behavior (including how the driver managers discover and load the driver) before publishing. See the documentation for details.
Making it easier to call dbc programmatically
As dbc shows up inside other tools, we've learned that human-friendly output and machine-friendly output are different modes—and you want both. dbc 0.2.0 adds two flags that make dbc easier to embed:
--quiet to suppress output (useful when dbc is a dependency and you want your tool to own the UX)
--json to emit structured output (useful for installers, wrappers, IDE integrations, and agentic systems)
These flags work with all dbc subcommands that print output. If you're adding a dependency on dbc in your app and it doesn't do what you need, please open an issue to let us know.
Making it easier for humans to use dbc
dbc made installing ADBC drivers easy, but the first version didn't do much to help you figure out what to do next. dbc 0.2.0 introduces a new docs subcommand that opens driver documentation (or prints a URL if you use --no-open).
We've also expanded our ADBC quickstarts, a set of simple runnable examples showing how to get started with every dbc-installable driver. The quickstarts make it easier to go from "I installed the driver" to "I connected and ran a query" with your language and data system of choice.
Another feature which has been available in dbc since the first version—but is still easy to miss—is shell completions. Enabling completions gives you tab-complete for subcommands and flags, making dbc easier for new users.
Making it easier for agents to use dbc
Agentic workflows are quickly becoming the default way that a lot of software gets developed and operated. But for an AI assistant to reliably write and run code that connects to data systems, it needs repeatable primitives. So today we're shipping our first agent skill for dbc. To install it, run:
$ npx skills add columnar-tech/skills
This is an initial step in the larger pursuit of excellent agent ergonomics for the ADBC ecosystem. The goal is simple: if an AI system can write and run code, it should be able to install and use ADBC drivers safely and predictably on the first try.
Supporting multiple driver registries
By default, dbc installs drivers from the public ADBC driver registry. That works great for installing freely available drivers from the open internet—but it hits a wall as soon as you want:
- private drivers
- enterprise-only distribution
- vendor licensing constraints
- controlled rollout channels
dbc 0.2.0 includes initial support for multiple driver registries, along with a new auth subcommand for logging into registries that require authentication. We're using this capability immediately for a new private driver registry:
A private driver registry, with two new drivers
Alongside dbc 0.2.0, we're launching a new globally available private driver registry, with two new ADBC drivers at launch:
Installing these drivers works seamlessly with dbc and exercises the new authentication flow. To install these drivers with dbc 0.2.0, start by running:
$ dbc auth login
This prompts you to authenticate with a browser-based OAuth flow. dbc also supports authenticating with an OAuth Client ID or an API key.
After logging in or creating an account, click to begin a 14-day free evaluation of the private drivers. Please review the terms of the evaluation and let us know if you have any questions. After that, installing these drivers is just like installing any other drivers with dbc:
For Oracle:
$ dbc install oracle
For Teradata:
$ dbc install teradata
Behind the scenes, dbc automatically installs the license that you'll need to use these drivers.
Columnar Console
To support the private registry and to handle accounts, trials, and licensing, we're also launching Columnar Console. It provides the access control the registry needs today and gives us a foundation for what we're building next.
Why not put these drivers in the public registry?
We chose to distribute these two drivers through the private registry for two reasons—one practical and one economic.
1. Additional client libraries are required.
The Oracle and Teradata drivers depend on vendor-provided client libraries that must be installed separately on your system. Due to licensing restrictions, we can't bundle or redistribute those client libraries as part of the ADBC driver packages. You'll need to obtain and install them directly from the vendor before using the drivers. To make this easier, dbc prints a post-install message pointing you to the follow-up steps (what to install, and where to find the instructions). But this doesn't reach the high bar for ease of installation that we've set for all the ADBC drivers on the public registry.
2. Building and maintaining these drivers is real work.
High-quality ADBC drivers for systems like Oracle and Teradata require extensive upfront and ongoing engineering, testing, and support. Today, these drivers aren't supported or funded by the database vendors; Columnar is developing and maintaining them independently. So we're distributing them commercially rather than making them freely available by default.
This isn't a philosophical stance. We're open source developers at heart. But we've also heard clearly that you want more ADBC drivers for closed-source and enterprise data systems—to bring a modern, Arrow-native interface to established data stacks—and the most sustainable way for us to do that now is to distribute some drivers under a restrictive license. If a vendor is interested in collaborating with us or supporting these drivers, we're open to that conversation—and the distribution model could change quickly as a result.
• • •
Install or upgrade to dbc 0.2.0
To install dbc 0.2.0 or to upgrade your existing installation of dbc to version 0.2.0, use one of these installation methods:
Linux/macOS shell:
$ curl -LsSf https://dbc.columnar.tech/install.sh | sh
Windows shell:
> powershell -ExecutionPolicy ByPass -c "irm https://dbc.columnar.tech/install.ps1 | iex"
Windows MSI:
Download https://dbc.columnar.tech/latest/dbc-latest-x64.msi and then run the installer.
Homebrew:
$ brew install columnar-tech/tap/dbc
uv:
$ uv tool install dbc --upgrade
pipx:
$ pipx upgrade --install dbc
Ready to dive in? The dbc documentation has everything you need to get started.
We'd love to hear from you
If you're building with ADBC, embedding dbc in your product, or trying to bring modern connectivity to an enterprise data system, let's get connected. Send us a message or chat with us in the Columnar Community Slack.