Skip to main content

dbc is a tool for installing ADBC drivers

Project description

dbc dbc Logo

License GitHub release (latest SemVer) Release dbc

Overview

dbc is the command-line tool for installing and managing ADBC drivers.

dbc can:

  • Install pre-built ADBC drivers with a single command
  • Install drivers in your user account, on the system, or in virtual environments
  • Manage isolated, reproducible project environments with driver lists and lockfiles
  • Run on macOS, Linux, and Windows
  • Be installed in many ways (with pip, standalone installers, Docker images, and more)
  • Work in CI/CD environments

Installation

There are multiple ways to install dbc:

From PyPI

For simple installation, we recommend the popular pipx tool which will automatically put it on your PATH:

pipx install dbc

You can also just test it out instead of installing it:

pipx run dbc

You can also use a virtual environment:

python -m venv .venv
source .venv/bin/activate
pip install dbc

Standalone Installer

macOS or Linux

You can download the install script and execute it:

curl -LsSf https://dbc.columnar.tech/install.sh | sh

If your system doesn't have curl you can also use wget:

wget -q0- https://dbc.columnar.tech/install.sh | sh

If you want to inspect the script before use, you can simply run:

curl -LsSf https://dbc.columnar.tech/install.sh | less

Windows

Download the Windows graphical installer for your architecture:

Architecture Installer
x64 (64-bit) https://dbc.columnar.tech/latest/dbc-latest-x64.msi

Or use irm to download the install script and execute it with iex:

powershell -ExecutionPolicy ByPass -c "irm https://dbc.columnar.tech/install.ps1 | iex

Changing the execution policy allows running a script from the internet.

Of course, you can also inspect the script before use:

powershell -c "irm https://dbc.columnar.tech/install.ps1 | more"

GitHub Releases

Release artifacts for dbc can also be downloaded directly from GitHub Releases. Included in the artifacts are also cryptographic signatures and a checksum file to ensure nothing has been tampered with.

Each release includes the following assets allowing you to install using your preferred method:

  • .tar.gz or .zip archives containing the appropriate binary for all supported platforms and architectures
  • .deb and .rpm installation packages
  • An msi installer package for Windows
  • .snap packages
  • Python wheel packages that bundle the dbc executable binary

Docker

Docker images are also provided with standalone binaries that can be easily run using:

docker run --rm -it columnar/dbc:latest --help

Available Images

The following distroless images are available for linux-based amd64 and arm64 architectures:

  • columnar/dbc:latest
  • columnar/dbc:{major}.{minor}.{patch}, e.g. columnar/dbc:0.0.1

Homebrew

You can install dbc from our Homebrew tap by running:

$ brew install columnar-tech/tap/dbc

This will automatically configure our tap and install dbc from it. If you'd rather do this as two separate commands, you can run:

$ brew tap columnar-tech/tap
$ brew install dbc

Getting Started

Once you have dbc available to you on the command line, you can install an ADBC driver and make it available to your user. For example, to install the snowflake driver:

dbc install snowflake

Alternately, when working on a project you can create a dbc.toml file to create a list of drivers to install to create a reproducible environment:

cd <path/to/project>
dbc init # creates dbc.toml
dbc add snowflake # adds this to the driver list
dbc sync # install drivers and create dbc.lock

Using dbc add also allows version constraints:

dbc add "snowflake>=1.0.0"
dbc sync # looks for and installs a version >=1.0.0

Using the Driver

The simplest way to use the driver is via Python with adbc-driver-manager. Note: version 1.8.0 added support for driver manifests, so you'll need that version of the driver manager or higher.

dbc install snowflake
pip install "adbc-driver-manager>=1.8.0"

Using the driver is easy:

import adbc_driver_manager.dbapi as adbc

snowflake_connect_args = {
    "username": "USER",
    "password": "PASS",
    "adbc.snowflake.sql.account": "ACCOUNT-IDENT",
    "adbc.snowflake.sql.db": "SNOWFLAKE_SAMPLE_DATA",
    # other connect options
}

with adbc.connect(
    driver="snowflake",
    db_kwargs=snowflake_connect_args,
) as con, con.cursor() as cursor:
    cursor.execute("SELECT * FROM CUSTOMER LIMIT 5")
    table = cursor.fetch_arrow_table()

print(table)

For more detailed information on using dbc, see the documentation. Also check out the ADBC Quickstarts repo to learn how to use ADBC with a variety of languages and databases.

Communications

For general questions and discussion, use the GitHub discussions.

To report an issue, request a feature, or contribute an improvement, use the GitHub issues and PRs.

See CONTRIBUTING.md for more information on contributing.

Code of Conduct

By choosing to contribute to dbc, you agree to follow our Code of Conduct.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

dbc-0.2.0-py3-none-win_amd64.whl (4.0 MB view details)

Uploaded Python 3Windows x86-64

dbc-0.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

dbc-0.2.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (3.9 MB view details)

Uploaded Python 3manylinux: glibc 2.12+ x86-64

dbc-0.2.0-py3-none-macosx_12_0_x86_64.whl (4.0 MB view details)

Uploaded Python 3macOS 12.0+ x86-64

dbc-0.2.0-py3-none-macosx_12_0_arm64.whl (3.6 MB view details)

Uploaded Python 3macOS 12.0+ ARM64

File details

Details for the file dbc-0.2.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: dbc-0.2.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for dbc-0.2.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 bbbba26f61cd806c27656a4f61d48d844fefa236eeeae61b12b4e274da4dc84d
MD5 967953f23af23f5fc636b5b88aa3b2cb
BLAKE2b-256 1b9ab24e5ac3bcf98dd57f54ac40766c5835872ca529132fdb5229fa61e1d56b

See more details on using hashes here.

Provenance

The following attestation bundles were made for dbc-0.2.0-py3-none-win_amd64.whl:

Publisher: release.yml on columnar-tech/dbc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dbc-0.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dbc-0.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8c1ae2ec9494c3b8cd35c0922c46f8365ef56125d0f6fca71ff80bdcac9713fe
MD5 aa5d3affd5f9409076402f7c011e3a7d
BLAKE2b-256 6424f8ecf37a4d58bb22a9f901d3dc63c31ec4fe7ebe35344aa3328fbbb2e936

See more details on using hashes here.

Provenance

The following attestation bundles were made for dbc-0.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on columnar-tech/dbc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dbc-0.2.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for dbc-0.2.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 aa188e902bb79f8aa0225fdbe5fe2959746b696978ee71c1adfe7a28c51375a2
MD5 2673e2c8992d6e8c02f55b7c491e0c8b
BLAKE2b-256 9e9c59ce97bc6fbb1e63ccbd0fd0199698ff85c38410e19e4112899a505bfcea

See more details on using hashes here.

Provenance

The following attestation bundles were made for dbc-0.2.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl:

Publisher: release.yml on columnar-tech/dbc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dbc-0.2.0-py3-none-macosx_12_0_x86_64.whl.

File metadata

  • Download URL: dbc-0.2.0-py3-none-macosx_12_0_x86_64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: Python 3, macOS 12.0+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for dbc-0.2.0-py3-none-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 1c1c4a9e4b3737ca5143fa552facb8f9304e4520149a5bdaddb2dedcc4364167
MD5 2c3617d34e2cd20bf2a134ade0115760
BLAKE2b-256 074d102ba1cdcb967a200c5b5549ec97d527f798405766179943273c310b10c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for dbc-0.2.0-py3-none-macosx_12_0_x86_64.whl:

Publisher: release.yml on columnar-tech/dbc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dbc-0.2.0-py3-none-macosx_12_0_arm64.whl.

File metadata

  • Download URL: dbc-0.2.0-py3-none-macosx_12_0_arm64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: Python 3, macOS 12.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for dbc-0.2.0-py3-none-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 197c9fb9c038d44f4d0c03a765591a70638b7d348b54bf8c2af810b3374a9d06
MD5 fd9922a7c305935c879702be07af0388
BLAKE2b-256 098473d85b2a529ddefa16a04db573fc84954ac94c3cbfef4da108b21674d559

See more details on using hashes here.

Provenance

The following attestation bundles were made for dbc-0.2.0-py3-none-macosx_12_0_arm64.whl:

Publisher: release.yml on columnar-tech/dbc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page