dbc is a tool for installing ADBC drivers
Project description
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.gzor.ziparchives containing the appropriate binary for all supported platforms and architectures.deband.rpminstallation packages- An
msiinstaller package for Windows .snappackages- 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:latestcolumnar/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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bbbba26f61cd806c27656a4f61d48d844fefa236eeeae61b12b4e274da4dc84d
|
|
| MD5 |
967953f23af23f5fc636b5b88aa3b2cb
|
|
| BLAKE2b-256 |
1b9ab24e5ac3bcf98dd57f54ac40766c5835872ca529132fdb5229fa61e1d56b
|
Provenance
The following attestation bundles were made for dbc-0.2.0-py3-none-win_amd64.whl:
Publisher:
release.yml on columnar-tech/dbc
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dbc-0.2.0-py3-none-win_amd64.whl -
Subject digest:
bbbba26f61cd806c27656a4f61d48d844fefa236eeeae61b12b4e274da4dc84d - Sigstore transparency entry: 935998421
- Sigstore integration time:
-
Permalink:
columnar-tech/dbc@c059db3b55ac4adeb569a3c41c9f07171b5c7a2b -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/columnar-tech
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c059db3b55ac4adeb569a3c41c9f07171b5c7a2b -
Trigger Event:
push
-
Statement type:
File details
Details for the file dbc-0.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: dbc-0.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 3.5 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c1ae2ec9494c3b8cd35c0922c46f8365ef56125d0f6fca71ff80bdcac9713fe
|
|
| MD5 |
aa5d3affd5f9409076402f7c011e3a7d
|
|
| BLAKE2b-256 |
6424f8ecf37a4d58bb22a9f901d3dc63c31ec4fe7ebe35344aa3328fbbb2e936
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dbc-0.2.0-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl -
Subject digest:
8c1ae2ec9494c3b8cd35c0922c46f8365ef56125d0f6fca71ff80bdcac9713fe - Sigstore transparency entry: 935998514
- Sigstore integration time:
-
Permalink:
columnar-tech/dbc@c059db3b55ac4adeb569a3c41c9f07171b5c7a2b -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/columnar-tech
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c059db3b55ac4adeb569a3c41c9f07171b5c7a2b -
Trigger Event:
push
-
Statement type:
File details
Details for the file dbc-0.2.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.
File metadata
- Download URL: dbc-0.2.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
- Upload date:
- Size: 3.9 MB
- Tags: Python 3, manylinux: glibc 2.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa188e902bb79f8aa0225fdbe5fe2959746b696978ee71c1adfe7a28c51375a2
|
|
| MD5 |
2673e2c8992d6e8c02f55b7c491e0c8b
|
|
| BLAKE2b-256 |
9e9c59ce97bc6fbb1e63ccbd0fd0199698ff85c38410e19e4112899a505bfcea
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dbc-0.2.0-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl -
Subject digest:
aa188e902bb79f8aa0225fdbe5fe2959746b696978ee71c1adfe7a28c51375a2 - Sigstore transparency entry: 935998389
- Sigstore integration time:
-
Permalink:
columnar-tech/dbc@c059db3b55ac4adeb569a3c41c9f07171b5c7a2b -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/columnar-tech
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c059db3b55ac4adeb569a3c41c9f07171b5c7a2b -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c1c4a9e4b3737ca5143fa552facb8f9304e4520149a5bdaddb2dedcc4364167
|
|
| MD5 |
2c3617d34e2cd20bf2a134ade0115760
|
|
| BLAKE2b-256 |
074d102ba1cdcb967a200c5b5549ec97d527f798405766179943273c310b10c1
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dbc-0.2.0-py3-none-macosx_12_0_x86_64.whl -
Subject digest:
1c1c4a9e4b3737ca5143fa552facb8f9304e4520149a5bdaddb2dedcc4364167 - Sigstore transparency entry: 935998348
- Sigstore integration time:
-
Permalink:
columnar-tech/dbc@c059db3b55ac4adeb569a3c41c9f07171b5c7a2b -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/columnar-tech
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c059db3b55ac4adeb569a3c41c9f07171b5c7a2b -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
197c9fb9c038d44f4d0c03a765591a70638b7d348b54bf8c2af810b3374a9d06
|
|
| MD5 |
fd9922a7c305935c879702be07af0388
|
|
| BLAKE2b-256 |
098473d85b2a529ddefa16a04db573fc84954ac94c3cbfef4da108b21674d559
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dbc-0.2.0-py3-none-macosx_12_0_arm64.whl -
Subject digest:
197c9fb9c038d44f4d0c03a765591a70638b7d348b54bf8c2af810b3374a9d06 - Sigstore transparency entry: 935998460
- Sigstore integration time:
-
Permalink:
columnar-tech/dbc@c059db3b55ac4adeb569a3c41c9f07171b5c7a2b -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/columnar-tech
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c059db3b55ac4adeb569a3c41c9f07171b5c7a2b -
Trigger Event:
push
-
Statement type: