Registry / database / dbt-exasol

dbt-exasol

JSON →
library1.12.1pypypi✓ verified 25d ago

dbt-exasol is an adapter that enables dbt (data build tool) to connect and interact with an Exasol data warehouse. It provides the necessary plumbing for dbt to compile and run SQL models against Exasol, supporting its specific SQL dialect and features. Currently at v1.10.5, the library is actively maintained with frequent releases to ensure compatibility with new dbt-core versions and address Exasol-specific behaviors.

pip install dbt-exasol
INSTALL
IMPORT
SIG · DBT-EXASOL
D
dbt-exasol
databasepythonv1.12.1
Install
21.2s avg
Import
Disk
207MB
Pass rate
5/ 10
Env Coverage5 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.11.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
build_error
glibc
py 3.103.95 runs
installs and imports cleanly · install 21.2s · import 0.000s · 161MB
207MB installed
● package 207MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

extend_path
from dbt import extend_path
from dbt_exasol import whatever_if_needed

To use dbt-exasol, you configure your Exasol connection details in a `profiles.yml` file, typically located in `~/.dbt/` or within your dbt project. You then define your dbt models, sources, and other resources as usual. This quickstart demonstrates the necessary `profiles.yml` and a sample model. Interaction with dbt is done through the `dbt` command-line interface (CLI).

import os # This quickstart demonstrates the configuration for dbt-exasol. # dbt-exasol is used via the dbt CLI, not direct Python execution of models. # 1. Install dbt-exasol: pip install dbt-exasol # 2. Configure your Exasol connection in ~/.dbt/profiles.yml (or project-specific): profiles_yml_example = f''' exasol_profile: target: dev outputs: dev: type: exasol host: {{os.environ.get('EXASOL_HOST', 'your_exasol_host')}} port: {{os.environ.get('EXASOL_PORT', 8563)}} schema: {{os.environ.get('EXASOL_SCHEMA', 'your_schema')}} user: {{os.environ.get('EXASOL_USER', 'your_user')}} password: {{os.environ.get('EXASOL_PASSWORD', 'your_password')}} # Optional advanced properties (e.g., for JDBC) # jdbc_properties: # connectionTimeout: 10000 ''' print("Example profiles.yml content (use environment variables for security):") print(profiles_yml_example) # 3. Create a dbt project and specify the profile (dbt_project.yml): # name: 'my_exasol_project' # version: '1.0.0' # config-version: 2 # profile: 'exasol_profile' # 4. Create a simple dbt model (e.g., models/my_first_model.sql): sql_model_example = ''' -- models/my_first_model.sql SELECT 'Hello, dbt-Exasol!' as greeting, CURRENT_TIMESTAMP as current_time FROM DUAL; ''' print("\nExample dbt model content:") print(sql_model_example) # 5. Run dbt commands from your project directory: # dbt debug --target dev # dbt run if __name__ == '__main__': print("\nThis code provides configuration examples. Actual execution is via the dbt CLI.") print("Please set environment variables like EXASOL_HOST, EXASOL_USER, EXASOL_PASSWORD before running dbt commands.")
dbt --version
Debug
Known issues
breakingdbt-exasol has strict compatibility requirements with dbt-core and Python versions. Upgrading dbt-exasol or dbt-core independently can lead to breakage. For dbt-exasol >=1.10.0 (including 1.10.5), ensure you use dbt-core >=1.9.0, <1.11.0 and Python ^3.10, <3.14.
fix
Always check the dbt-exasol GitHub README for the latest compatibility matrix before upgrading either dbt-exasol or dbt-core. Pin versions of dbt-core and Python in your environment.
affects: <1.10.0
gotchaOlder versions of dbt-exasol might have issues with connection leaks and cache inconsistencies, particularly in multi-threaded or long-running dbt processes, potentially leading to resource exhaustion or stale data in some scenarios.
fix
Upgrade to dbt-exasol v1.10.5 or newer to benefit from fixes related to connection handling and cache consistency.
affects: <1.10.5
gotchaPrior to v1.10.3, SQL keyword column names in seed operations might not have been automatically quoted, leading to syntax errors when loading data if column names conflicted with Exasol reserved keywords.
fix
Upgrade to dbt-exasol v1.10.3 or newer, which includes automatic quoting for SQL keyword column names in seed operations. Alternatively, manually ensure your column names do not conflict with Exasol keywords or are explicitly quoted.
affects: <1.10.3
gotchaThe snapshot implementation was modernized in v1.10.0 to support dbt-core 1.9+ features. Using dbt-core 1.9 or higher with older dbt-exasol versions might result in unexpected behavior or errors with snapshot models.
fix
Ensure you are using dbt-exasol v1.10.0 or newer if your project utilizes dbt snapshot features with dbt-core 1.9 or higher.
affects: <1.10.0 with dbt-core >=1.9.0
Upgrade
Version history
1.12.1latest on PyPI · released Aug 25, 2026
Audit
Dependencies
dbt-corerequiredThis adapter provides Exasol support for dbt-core. For dbt-exasol >=1.10.0 (including current v1.10.5), it requires dbt-core >=1.9.0, <1.11.0.
PythonrequiredThe adapter has specific Python version requirements. For dbt-exasol >=1.10.0 (including current v1.10.5), it requires Python ^3.10, <3.14.
Agent activity
32 hits · last 30 days
node
28
OpenAI (training)
1
Resources
dbt-exasol — pip install dbt-exasol · libregistry