dbt-metricflow
Execute commands against the MetricFlow semantic layer with dbt.
What it is and what it does
dbt-metricflow is a bundled distribution of dbt-core and MetricFlow that solves the version-reconciliation problem when using both tools together. Rather than installing dbt-core, metricflow, and a dbt adapter separately and manually ensuring their dbt-semantic-interfaces dependencies align, you install dbt-metricflow once and get a pre-coordinated set of compatible versions. The package wraps both tools' functionality and exposes a unified CLI that can execute semantic layer commands.
The package is in Beta status and actively maintained. It depends on six runtime packages (click, dbt-core, halo, jinja2, metricflow, and update-checker) and runs on Python 3.10 through 3.13. Installation is straightforward via pip with no compiled dependencies, making it accessible to most development environments. The Apache-2.0 license permits unrestricted use.
Use it for:
- Install dbt and MetricFlow once without version conflicts by using dbt-metricflow[adapter] instead of reconciling separate packages.
- Execute MetricFlow semantic layer queries and metric definitions through dbt's CLI without managing cross-package compatibility.
- Build shared CLI logic that depends on both dbt-core and MetricFlow without duplicating dependencies across repositories.
- Simplify onboarding for teams adopting dbt's semantic layer by reducing setup complexity to a single package install.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Bundles dbt-core and MetricFlow with compatible versioning, allowing you to execute semantic layer commands through a single unified installation instead of managing separate packages.
Yes, if you need both dbt-core and MetricFlow together. The bundled versioning eliminates a real pain point—manually reconciling dbt-semantic-interfaces versions across three separate packages. The package is actively maintained, has low install friction, carries a permissive license, and has no known vulnerabilities. Install it as dbt-metricflow[adapter] to include your dbt adapter of choice.
Install
dbt-metricflow on PyPI
pip
pip install dbt-metricflowuv
uv add dbt-metricflowpoetry
poetry add dbt-metricflowInstalling dbt-metricflow
Before you install
Low friction: pure Python wheel with six runtime dependencies (click, dbt-core, halo, jinja2, metricflow, update-checker). Active maintenance with a recent commit on 2026-08-13 and 1740 repository stars.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions; you may use, modify, and distribute this package freely provided you include the license notice.
Quickstart
pip install dbt-metricflow
from dbt_metricflow import cli
# Execute MetricFlow commands through dbt-metricflow's unified interface
Requires Python 3.10 or later (supports 3.10, 3.11, 3.12, 3.13); dbt-core and metricflow dependencies must be compatible versions as managed by this package.
Verify before relying
- Whether the package's versioning management fully eliminates dbt-semantic-interfaces version conflicts in practice.
- Specific adapter support and whether all common dbt adapters are available through the [adapter] extra.
- Performance characteristics when executing large metric queries through the bundled CLI.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (<3.14,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — click, dbt-core, halo, jinja2, metricflow, update-checker |
| Maintenance | actively maintained — 94 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 381,101/month — #7,099 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: dbt_metricflow-0.13.0-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-semantic-interfacesProvides shared semantic class definitions,…
permissive · top 1,000 on PyPI
metricflowMetricFlow compiles metric definitions into…
permissive · top 5,000 on PyPI
dbt-sl-sdkA Python client library for querying dbt's…
unclear · top 15,000 on PyPI
dbt-commonProvides shared utilities and common code used…
permissive · top 1,000 on PyPI
cube_dbtIntegrates dbt models with Cube's semantic…
permissive · top 15,000 on PyPI
dbt-fabricA dbt adapter that connects dbt-core to…
permissive · top 5,000 on PyPI
dbt-fusion-package-toolsUpgrades dbt package dependencies to versions…
unclear · top 15,000 on PyPI
dbt-sqlserverA dbt adapter that enables data transformation…
permissive · top 15,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
spec-kitty-trackerProvides a unified abstraction layer for…
permissive · top 15,000 on PyPI