dbt-clickhouse
The Clickhouse plugin for dbt (data build tool)
What it is and what it does
dbt-clickhouse is a dbt adapter that brings dbt's data transformation and testing capabilities to ClickHouse databases. It translates dbt's model definitions, tests, and documentation workflows into ClickHouse-native SQL, enabling version-controlled, modular data pipelines on ClickHouse. The adapter supports standard dbt materializations (tables, views, incremental models) and adds ClickHouse-specific features like materialized views, distributed tables, and custom column codecs and TTL settings.
You install it alongside dbt-core and dbt-adapters, configure a ClickHouse connection in your dbt profiles, and then write dbt models in SQL or YAML. The adapter handles compilation, testing, documentation generation, and snapshots. It supports most dbt-utils macros and covers dbt-core features up to version 1.10, though Catalog integrations remain experimental.
Use it for:
- Build modular, version-controlled data pipelines in ClickHouse using dbt's model and macro framework.
- Run automated data quality tests and generate documentation for ClickHouse tables and transformations.
- Implement incremental and microbatch loading patterns to efficiently update large ClickHouse datasets.
- Configure ClickHouse-specific optimizations (indexes, projections, codecs, TTL) directly in dbt model definitions.
- Manage distributed table materializations and transformations across ClickHouse cluster nodes.
- Snapshot and track historical changes in ClickHouse tables using dbt's snapshot functionality.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A dbt adapter that enables data transformation and testing workflows on ClickHouse, supporting table, view, incremental, and materialized view materializations with ClickHouse-specific configurations.
Yes. The adapter is production-stable (Development Status 5), actively maintained with a release on 2026-08-13, has no known vulnerabilities, and supports current Python versions (3.10–3.13). Install it if you use ClickHouse and want to adopt dbt for data transformation. Be aware that dbt Cloud integration is not yet available, and Catalog integrations require workarounds.
Install
dbt-clickhouse on PyPI
pip
pip install dbt-clickhouseuv
uv add dbt-clickhousepoetry
poetry add dbt-clickhouseInstalling dbt-clickhouse
Before you install
Low friction installation as a pure Python wheel. Actively maintained with a release within the last day and recent commits. Requires dbt-core and dbt-adapters as separate dependencies since v1.8, and two ClickHouse client libraries (clickhouse-connect and clickhouse-driver).
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions, suitable for most production environments.
Quickstart
pip install dbt-core dbt-clickhouse
from dbt.adapters.clickhouse import ClickhouseAdapter
# Configure via dbt profiles.yml with ClickHouse connection details
Requires Python 3.10 or later; dbt-core and dbt-adapters must be installed separately (v1.8+); ClickHouse server must be accessible with valid credentials.
Verify before relying
- Whether Catalog integrations (e.g., Iceberg) workarounds are production-ready or experimental
- Performance characteristics on large-scale incremental and distributed materializations
- Compatibility with dbt Cloud (documentation states not yet available)
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — dbt-core, dbt-adapters, clickhouse-connect, clickhouse-driver |
| Maintenance | actively maintained — 1 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,520,131/month — #3,025 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: dbt_clickhouse-1.10.2-py3-none-any.whl
Tags
More Front-Ends packages
SQLAlchemy is a Python SQL toolkit and Object…
permissive · top 100 on PyPI
psycopg2-binarypsycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
alembicAlembic generates and manages database schema…
permissive · top 1,000 on PyPI
weaviate-clientA Python client library for connecting to and…
permissive · top 1,000 on PyPI
databricks-sql-connectorA Python client library that connects to…
permissive · top 1,000 on PyPI
psycopgPsycopg 3 is a PostgreSQL database adapter for…
copyleft · top 1,000 on PyPI
dbt-verticadbt adapter that enables data transformation…
permissive · top 15,000 on PyPI
django-clickhouseIntegrates Django applications with ClickHouse,…
permissive · top 15,000 on PyPI
dbt-exasoldbt-exasol is a dbt adapter that enables data…
copyleft · top 5,000 on PyPI
dbt-databricksdbt-databricks is a dbt adapter that enables…
permissive · top 5,000 on PyPI
dbt-fabricA dbt adapter that connects dbt-core to…
permissive · top 5,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
dbt-sqlserverA dbt adapter that enables data transformation…
permissive · top 15,000 on PyPI
dbt-athena-communityA dbt adapter that enables data transformation…
permissive · top 5,000 on PyPI
clickhouse-connectA Python database driver for ClickHouse that…
permissive · top 1,000 on PyPI
dbt-postgresdbt-postgres is a dbt adapter that connects dbt…
permissive · top 5,000 on PyPI