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
```