dbt-metabase
dbt + Metabase integration.
What it is and what it does
dbt-metabase is a CLI tool that bridges dbt and Metabase by reading your compiled dbt project metadata and pushing it into Metabase's data model. It propagates primary keys, foreign keys (from relationship tests or explicit meta fields), column descriptions, semantic types (email, currency, category, URL, etc.), and visibility settings from your dbt YAML into Metabase's table and column configuration. It also works in reverse: extracting Metabase questions and dashboards as dbt exposures, letting you document your BI layer alongside your data models.
The tool uses the Metabase API for all operations, requiring either an API key (recommended for automation) or username/password authentication. It handles synchronization between dbt and Metabase by default, waiting for tables and columns to appear in Metabase before attempting to export metadata. It's designed for teams using dbt as their source of truth for schema and wanting that truth reflected automatically in their Metabase analytics layer.
Use it for:
- Automatically propagate dbt model and column descriptions to Metabase without manual re-entry.
- Define foreign key relationships in dbt and have them appear as configured relationships in Metabase.
- Tag columns with semantic types (email, URL, currency) in dbt meta fields and sync them to Metabase for better field type detection.
- Extract Metabase dashboards and questions as dbt exposures to document your BI artifacts in version control.
- Hide sensitive columns in Metabase by setting visibility types in dbt YAML.
- Automate metadata synchronization in CI/CD pipelines after dbt runs.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Syncs dbt project metadata (table relationships, descriptions, semantic types) to Metabase and extracts Metabase questions and dashboards back into dbt as exposures.
Yes. The package is actively maintained, has low install friction, carries a permissive MIT license, and solves a real operational problem for teams using both dbt and Metabase—eliminating manual metadata duplication and keeping your analytics layer in sync with your data layer. No known vulnerabilities. Install it if you use both tools and want a single source of truth for metadata.
Install
dbt-metabase on PyPI
pip
pip install dbt-metabaseuv
uv add dbt-metabasepoetry
poetry add dbt-metabaseInstalling dbt-metabase
Before you install
Low install friction with a pure Python wheel and four lightweight runtime dependencies. Active maintenance with a recent release and steady development history since 2019.
License in practice
MIT License permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both commercial and open-source projects.
Quickstart
pip install dbt-metabase
dbt-metabase models \
--manifest-path target/manifest.json \
--metabase-url https://metabase.example.com \
--metabase-api-key mb_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX= \
--metabase-database business \
--include-schemas public
Requires Python 3.10 or above. Requires a compiled dbt manifest.json file (generated by `dbt compile`) and a running Metabase instance with API access.
Verify before relying
- Whether the package handles all Metabase versions or has known compatibility constraints beyond the API key requirement for Metabase 49+.
- Performance characteristics when syncing large numbers of tables or columns.
- Whether custom semantic types beyond the documented list are supported.
Package facts
| License | MIT License (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — PyYAML, requests, click, rich |
| Maintenance | actively maintained — 100 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 128,319/month — #11,713 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: dbt_metabase-1.7.5-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
cube_dbtIntegrates dbt models with Cube's semantic…
permissive · top 15,000 on PyPI
dbt-colibriExtracts column-level lineage from dbt projects…
permissive · top 15,000 on PyPI
dbt-coredbt-core transforms raw data in a warehouse…
permissive · top 1,000 on PyPI
dbt-autofixdbt-autofix scans dbt projects for deprecated…
unclear · top 15,000 on PyPI
dbt-mcpExposes dbt project metadata and operations…
permissive · top 15,000 on PyPI
dbt-extractorExtracts metadata (refs, sources, configs) from…
permissive · top 1,000 on PyPI
lexisnexisapiProvides a Python interface to the LexisNexis…
permissive · top 15,000 on PyPI
dbt-artifacts-parserParses dbt artifact JSON files (catalog,…
permissive · top 15,000 on PyPI
dbt-trinoA dbt adapter that connects dbt projects to…
permissive · top 15,000 on PyPI
collate-dbt-artifacts-parserParses dbt artifact JSON files (catalog,…
permissive · top 15,000 on PyPI