Installing a Driver Manager
July 21, 2026 ยท View on GitHub
In order to use any of the drivers you install with dbc, you need to install a driver manager for your language of choice.
The best place to find detailed information on driver manager installation is always the ADBC docs but we've included concise steps for a variety of languages here for convenience:
=== "C++"
=== "conda"
```console
$ conda install -c conda-forge libadbc-driver-manager
```
=== "apt"
```sh
$ # Set up the Apache Arrow APT repository
$ sudo apt update
$ sudo apt install -y -V ca-certificates lsb-release wget
$ sudo wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
$ sudo apt install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
$ rm ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
$ sudo apt update
$ # Install libadbc-driver-manager-dev
$ sudo apt install libadbc-driver-manager-dev
```
=== "dnf"
```sh
$ # Set up the Apache Arrow Yum repository
$ sudo dnf install -y epel-release || sudo dnf install -y oracle-epel-release-el$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1) || sudo $ dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1).noarch.rpm
$ sudo dnf install -y https://apache.jfrog.io/artifactory/arrow/almalinux/$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)/apache-arrow-release-latest.rpm
$ sudo dnf config-manager --set-enabled epel || :
$ sudo dnf config-manager --set-enabled powertools || :
$ sudo dnf config-manager --set-enabled crb || :
$ sudo dnf config-manager --set-enabled ol$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)_codeready_builder || :
$ sudo dnf config-manager --set-enabled codeready-builder-for-rhel-$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)-rhui-rpms || :
$ sudo subscription-manager repos --enable codeready-builder-for-rhel-$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)-$(arch)-rpms || :
$ # Install libadbc-driver-manager-devel
$ sudo dnf install adbc-driver-manager-devel
```
=== "Go"
```console
$ go get github.com/apache/arrow-adbc/go/adbc/drivermgr
```
=== "Java"
To use the Java ADBC driver manager in a Maven project, add the driver manager and JNI driver packages:
```xml
<dependency>
<groupId>org.apache.arrow.adbc</groupId>
<artifactId>adbc-driver-manager</artifactId>
<version>${adbc.version}</version>
</dependency>
<dependency>
<groupId>org.apache.arrow.adbc</groupId>
<artifactId>adbc-driver-jni</artifactId>
<version>${adbc.version}</version>
</dependency>
```
Note that with the above you'll also need to set an `adbc.version` property to an appropriate version.
=== "JS/TS"
```console
$ npm install @apache-arrow/adbc-driver-manager apache-arrow
```
!!! note
The JavaScript/TypeScript ADBC driver manager is for server-side runtimes like Node.js, Deno, and Bun. It does not run in the browser.
=== "Kotlin"
To use the ADBC driver manager in a Gradle Kotlin project, add the driver manager and JNI driver packages:
```kotlin
dependencies {
implementation("org.apache.arrow.adbc:adbc-core:$adbcVersion")
implementation("org.apache.arrow.adbc:adbc-driver-manager:$adbcVersion")
implementation("org.apache.arrow.adbc:adbc-driver-jni:$adbcVersion")
}
```
Note that with the above you'll also need to set an `adbcVersion` property to an appropriate version.
===+ "Python"
=== "uv"
```console
$ uv pip install adbc_driver_manager pyarrow
```
=== "pip"
```console
$ pip install adbc_driver_manager pyarrow
```
=== "conda"
```console
$ conda install -c conda-forge adbc-driver-manager pyarrow
```
=== "R"
```r
install.packages("adbcdrivermanager")
```
=== "Ruby"
=== "Bundler"
```console
$ bundle add red-adbc
```
=== "gem"
```console
$ gem install red-adbc
```
=== "Rust"
```console
$ cargo add adbc_core adbc_driver_manager
```