$npx skillfedfor your agent

dbt-semantic-interfaces

The shared semantic layer definitions that dbt-core and MetricFlow use

With conditionsPyPI Released Feb 202626.3M downloads / moApache-2.0Pure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — dbt_semantic_interfaces-0.10.5-py3-none-any.whl
v0.10.5 · released 2026-02-10 · Python >=3.8 · 9 runtime deps: click, importlib-metadata, jinja2, jsonschema, more-itertools, pydantic, python-dateutil, pyyaml

Yes, if you are building integrations with dbt-core or MetricFlow that need to validate semantic objects. No, if you are a typical dbt user—you will get this as a transitive dependency. The aging maintenance status (185 days since last release) is not a blocker for a stable interface library, but monitor for compatibility issues with newer dbt or MetricFlow versions.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.8 or later; no compiled dependencies.
  • Low friction install with a pure-Python wheel and stable dependencies.
  • Maintenance status is aging—last release was 185 days ago—so expect slower response to issues, though the package remains functional for its core use case.

License · maintenance · safety

Apache-2.0 (permissive) — Apache-2.0 permissive license allows use in most commercial and open-source projects without significant restriction.

last release 2026-02-10 (185 days)

0 known vulnerabilities (OSV.dev, 2026-08-14) · 26,339,550 downloads/mo, #883 on PyPI

Verify before relying

pip install dbt-semantic-interfaces

from dbt_semantic_interfaces.protocols import SemanticModel
from jsonschema import validate

# Use the shared semantic classes and validation in your dbt or MetricFlow integration
  • Whether this package is intended for direct end-user installation or primarily as a transitive dependency of dbt-core and MetricFlow.
  • What specific semantic protocols and validation rules are exposed in the public API beyond the description.
  • Whether there are breaking changes between versions that would affect downstream consumers.
Same gist for agents: .md · .json

What it is and what it does

dbt-semantic-interfaces is a shared library that centralizes semantic class definitions, validation logic, and test fixtures used by both dbt-core and MetricFlow. It defines protocols for semantic objects—such as metrics, dimensions, and measures—that both projects must implement consistently. The package uses Pydantic for validation and Jinja2 for templating, ensuring that objects comply with expected structure and constraints before being processed by either project.

The package is designed to reduce code duplication and maintain a single source of truth for the semantic layer contract between dbt-core and MetricFlow. It is primarily consumed as a dependency by those two projects rather than as a standalone tool, but can be imported directly to validate or work with semantic objects in custom integrations.

Use it for

  • Validate semantic model definitions (metrics, dimensions, measures) in dbt or MetricFlow configurations.
  • Build custom integrations that need to parse and validate dbt semantic layer objects consistently.
  • Ensure semantic object compliance in CI/CD pipelines before passing to dbt-core or MetricFlow.
  • Extend or customize semantic validation rules by importing and subclassing the shared protocols.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you are building integrations with dbt-core or MetricFlow that need to validate semantic objects.

No, if you are a typical dbt user—you will get this as a transitive dependency. The aging maintenance status (185 days since last release) is not a blocker for a stable interface library, but monitor for compatibility issues with newer dbt or MetricFlow versions.

Install

dbt-semantic-interfaces on PyPI

Before you install

Low friction install with a pure-Python wheel and stable dependencies. Maintenance status is aging—last release was 185 days ago—so expect slower response to issues, though the package remains functional for its core use case.

Requires Python 3.8 or later; no compiled dependencies.

License in practice

Apache-2.0 permissive license allows use in most commercial and open-source projects without significant restriction.

Quickstart

pip install dbt-semantic-interfaces

from dbt_semantic_interfaces.protocols import SemanticModel
from jsonschema import validate

# Use the shared semantic classes and validation in your dbt or MetricFlow integration

Verify before relying

  • Whether this package is intended for direct end-user installation or primarily as a transitive dependency of dbt-core and MetricFlow.
  • What specific semantic protocols and validation rules are exposed in the public API beyond the description.
  • Whether there are breaking changes between versions that would affect downstream consumers.

Package facts

LicenseApache-2.0 permissive
Python supportSupports the current Python release >=3.8
Install frictionLow. Pure-Python wheel
Runtime dependencies
9 packages
clickimportlib-metadatajinja2jsonschemamore-itertoolspydanticpython-dateutilpyyamltyping-extensions
MaintenanceAging 185 days since the last release
First released
Downloads26,339,550 / month, #883 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 4 - BetaLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy

Evidence: dbt_semantic_interfaces-0.10.5-py3-none-any.whl

Tags

Capabilities
dbt semantic layer interfacesshared validation protocolsdbt metricflow integrationsemantic class definitionsdbt core interfaces
Topics
dbt-ecosystemsemantic-layervalidation

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “dbt semantic layer interfaces”

  • dbt-semantic-interfacesProvides shared semantic class definitions, validation protocols, and…
  • cube_dbtIntegrates dbt models with Cube's semantic layer by parsing dbt…
  • dbt-metricflowBundles dbt-core and MetricFlow with compatible versioning, allowing…

Give your agent the search over MCP, or paste the wish link into any chat.

Similar packages

dbt-metricflow With conditions
PyPI · Front-Ends · released May 2026

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.

Apache-2.0pure Python
381.1Kdownloads / mo
dbt-sl-sdk Worth it
PyPI · Front-Ends · released May 2026

A Python client library for querying dbt's Semantic Layer via REST APIs, supporting both synchronous and asynchronous workflows with results returned as PyArrow tables.

license unclearpure Python
116.3Kdownloads / mo
metricflow With conditions
PyPI · Database · released Aug 2026

MetricFlow compiles metric definitions into reusable SQL queries, handling multi-hop joins, complex metric types, and aggregations across different time granularities.

Apache-2.0pure Python
4.3Mdownloads / mo
cube_dbt With conditions
PyPI · Database · released Oct 2025

Integrates dbt models with Cube's semantic layer by parsing dbt manifests and converting model definitions into Cube-compatible data model specifications.

However, the aging maintenance status (296 days since last release) means you should verify compatibility with your current dbt and Cube versions before relying on it…

permissive licensepure Python · 3.8+aging
106.0Kdownloads / mo
dbt-common With conditions
PyPI · released Aug 2026

Provides shared utilities and common code used by dbt-core and dbt adapter implementations to avoid duplication across the dbt ecosystem.

Apache-2.0pure Python · 3.10+
90.9Mdownloads / mo
dbt-adapters With conditions
PyPI · Database · released Jul 2026

Provides base adapter protocols and shared functionality that database adapters use to integrate with dbt-core, handling connections, dialect translation, relation caching, and core interface management.

Apache-2.0pure Python · 3.10.0+
121.3Mdownloads / mo

See also dbt-loom · dbt-core-interface · dbt-score · dbt-osmosis