Sync dbt column descriptions ↔ Apache Superset 6.x datasets
Project description
dbt-superset-sync
Sync dbt column descriptions, metrics, and labels ↔ Apache Superset 6.x datasets.
Built as a drop-in replacement for dbt-superset-lineage, with full Superset 6.x compatibility and MetricFlow support.
Features
- Push dbt model/column descriptions,
verbose_namelabels, and metrics → Superset datasets - Pull published Superset dashboards → dbt
exposuresYAML - Create missing Superset datasets directly from dbt models (
--create-missing) - Certify datasets with a certification badge in Superset (
--certify) - MetricFlow support (dbt 1.6+ semantic layer) alongside the legacy
calculation_methodformat - Column order from dbt YAML is preserved in Superset
--no-overwriteto protect manually edited fields in Superset--tags,--schemas,--modelsfilters for fine-grained controlinitcommand to auto-detect all settings and write.env
Installation
pip install dbt-superset-sync
Quick start
# 1. Auto-detect everything and write .env
dbt-superset-sync init
# 2. Preview what would change
dbt-superset-sync push --dry-run
# 3. Push descriptions + create missing datasets
dbt-superset-sync push --create-missing
# 4. Discover dashboards and their dbt links
dbt-superset-sync pull --list
# 5. Export selected dashboards as dbt exposures
dbt-superset-sync pull
Configuration
All options can be set via environment variables or a .env file:
SUPERSET_URL=http://localhost:8088
SUPERSET_USERNAME=admin
SUPERSET_PASSWORD=your_password
DBT_MANIFEST=/path/to/target/manifest.json
DBT_EXPOSURES_OUTPUT=/path/to/models/marts/_exposures.yml
# Auto-detected by `init`
SUPERSET_DATABASE_ID=1
SUPERSET_SYNC_SCHEMAS=gold
SUPERSET_SYNC_MODELS=dim_post,fct_account_daily
SUPERSET_SYNC_DASHBOARDS=Sales Overview,Marketing KPIs
Copy .env.example to get started:
cp .env.example .env
Push options
| Flag | Description |
|---|---|
--dry-run |
Preview changes without writing |
--create-missing |
Create Superset datasets for dbt models with no matching dataset |
--no-overwrite |
Skip fields already filled in Superset |
--certify |
Mark datasets as certified |
--certified-by |
Certification author (default: dbt) |
--certification-details |
Certification details text |
--continue-on-error |
Continue on per-model errors instead of aborting |
--schemas |
Filter by dbt schema (e.g. gold) |
--models |
Filter by model name (e.g. dim_post,fct_account_daily) |
--tags |
Filter by dbt tag (e.g. marketing) |
--database-id |
Superset database ID for dataset creation |
Column labels (verbose_name)
Add a meta.verbose_name to any dbt column — it will appear as the column label in Superset:
columns:
- name: followers_count
description: "Point-in-time follower count snapshot."
meta:
verbose_name: "Followers"
Metrics
dbt metrics (both legacy calculation_method and MetricFlow type/type_params) are pushed as Superset dataset metrics.
Supported aggregations: sum, count, average, count_distinct, ratio, derived.
Compatibility
| Superset | dbt | Status |
|---|---|---|
| 6.x | 1.4 – 1.5 (legacy metrics) | ✅ |
| 6.x | 1.6+ (MetricFlow) | ✅ |
| < 4.x | any | ❌ (use dbt-superset-lineage) |
License
MIT
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 Distribution
Built Distribution
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 dbt_superset_sync-0.1.0.tar.gz.
File metadata
- Download URL: dbt_superset_sync-0.1.0.tar.gz
- Upload date:
- Size: 13.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b63e72e089107e8a3864d9166c8b1366d1097a409a8a8061df6d6b9ead5d84f
|
|
| MD5 |
a0eb784c6dd47689040c518d1bdf8977
|
|
| BLAKE2b-256 |
d32a9572321979a4eb8b2cfe834bcb4f1b1208203742f1000c78402e4e2eab8a
|
File details
Details for the file dbt_superset_sync-0.1.0-py3-none-any.whl.
File metadata
- Download URL: dbt_superset_sync-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60fbb6c7c2561394313b4a24a341020f45819a754cc841fefb29fc7f60a03569
|
|
| MD5 |
956310b550d43a04fe4f29a992264e0e
|
|
| BLAKE2b-256 |
6496e0612f7c6b0d660ca4e59d2ffbc2d892730bd23aaf5026c324ea482ed5c7
|