dbt-exasol
Adapter to dbt-core for warehouse Exasol
What it is and what it does
dbt-exasol bridges dbt-core and Exasol, allowing data engineers to write and orchestrate SQL transformations on Exasol warehouses using dbt's familiar project structure, testing, and documentation tools. It implements most dbt-core 1.12 features including incremental models with microbatch strategy, SQL and Python user-defined functions, snapshots, unit testing, and grants management. Some platform limitations exist: Python models, materialized views, and native zero-copy clones are not supported due to Exasol's architecture; microbatch concurrency runs sequentially because Exasol uses optimistic transaction-conflict detection at table granularity.
The adapter is marked production-ready and actively maintained. It depends on dbt-core, dbt-adapters, dbt-core-experimental-parser, protobuf, and pyexasol for connectivity. Installation is straightforward via pip, and configuration uses a standard dbt profiles.yml with Exasol connection parameters (DSN, user, password, schema). It supports Python 3.11–3.14 and Exasol versions 7.x, 8.x, and ≥2025.x.
Use it for:
- Build and test SQL transformation pipelines on Exasol using dbt's project structure and version control.
- Implement incremental models with microbatch strategy to efficiently update large Exasol tables.
- Define and test SQL and Python user-defined functions (UDFs/UDAFs) as dbt models.
- Create and maintain slowly-changing-dimension snapshots with hard_deletes and dbt_valid_to_current support.
- Generate and enforce data contracts through dbt unit tests and column-level documentation.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
dbt-exasol is a dbt adapter that enables data transformation workflows on Exasol warehouses using dbt's SQL and Python capabilities.
Yes, with conditions. Install if you use Exasol as your warehouse and want dbt's transformation and testing framework. The adapter is production-ready, actively maintained, and covers most dbt-core 1.12 features. However, be aware of platform limitations: Python models, materialized views, and native zero-copy clones are not supported. The GPL-3.0-or-later license requires any derivative work to remain open-source, which may conflict with proprietary projects.
Install
dbt-exasol on PyPI
pip
pip install dbt-exasoluv
uv add dbt-exasolpoetry
poetry add dbt-exasolInstalling dbt-exasol
Before you install
Low friction installation with a pure-Python wheel. Actively maintained with a recent release (20 days old). Depends on dbt-core, dbt-adapters, and pyexasol; all are standard data-stack libraries. Supports Python 3.11–3.14.
License in practice
GPL-3.0-or-later (copyleft). Any derivative work or distribution must also be licensed under GPL-3.0-or-later; proprietary or closed-source projects cannot use this adapter without relicensing.
Quickstart
pip install dbt-exasol
# In profiles.yml:
dbt-exasol:
target: dev
outputs:
dev:
type: exasol
dsn: HOST:PORT
user: USERNAME
password: PASSWORD
dbname: db
schema: SCHEMA
# Then:
dbt run
Requires an Exasol instance (7.x, 8.x, or ≥2025.x) and a valid connection DSN, user, and password. Python 3.11 or later required.
Verify before relying
- Whether the adapter's feature parity with dbt-core 1.12 (as documented in the description) is maintained across all minor releases.
- Performance characteristics and connection pooling behavior under concurrent workloads.
- Whether OpenID/SaaS authentication (mentioned as optional) is fully tested and production-ready.
Package facts
| License | GPL-3.0-or-later (copyleft) |
| Python support | supports the current Python release (<3.15,>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — dbt-adapters, dbt-core-experimental-parser, dbt-core, protobuf, pyexasol |
| Maintenance | actively maintained — 20 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,327,731/month — #3,136 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: dbt_exasol-1.12.0-py3-none-any.whl
Tags
More Database packages
psycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
ydbYDB Python SDK is the official client library…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
dbt-postgresdbt-postgres is a dbt adapter that connects dbt…
permissive · top 5,000 on PyPI
exasol-error-reportingDefines and structures Exasol error messages…
permissive · top 15,000 on PyPI
dbt-coredbt-core transforms raw data in a warehouse…
permissive · top 1,000 on PyPI
exasol-integration-test-docker-environmentProvides a CLI and Python API to start and…
permissive · top 15,000 on PyPI
dbt-bigquerydbt-bigquery is a dbt adapter that enables data…
permissive · top 5,000 on PyPI
pyexasolPyExasol is the official Python connector for…
permissive · top 5,000 on PyPI
dbt-clickhouseA dbt adapter that enables data transformation…
permissive · top 5,000 on PyPI
dbt-fabricA dbt adapter that connects dbt-core to…
permissive · top 5,000 on PyPI
dbt-snowflakedbt-snowflake is the Snowflake adapter for dbt,…
permissive · top 5,000 on PyPI