skillfed

dbt-metricflow

Execute commands against the MetricFlow semantic layer with dbt.

dbt-metricflow v0.13.0 381.1K downloads/30d#7,099 on PyPI1,740
Permissive license Apache-2.0 Active released

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-metricflow

uv

uv add dbt-metricflow

poetry

poetry add dbt-metricflow

Installing 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

Development Status :: 4 - BetaProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy

Tags

dbt semantic layermetricflow dbt integrationunified dbt metricflow installdbt metrics executionsemantic layer clidbt adapter bundlingmetric definition and query
semantic-layerdbt-integrationmetrics-framework

More Front-Ends packages