dbt-semantic-interfaces
The shared semantic layer definitions that dbt-core and MetricFlow use
Install
dbt-semantic-interfaces on PyPI
pip
pip install dbt-semantic-interfacesuv
uv add dbt-semantic-interfacespoetry
poetry add dbt-semantic-interfacesPackage facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 9 — click, importlib-metadata, jinja2, jsonschema, more-itertools, pydantic, python-dateutil, pyyaml, typing-extensions |
| Maintenance | aging — 184 days since the last release |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: dbt_semantic_interfaces-0.10.5-py3-none-any.whl
About dbt-semantic-interfaces
from the package's own PyPI description — quoted content, verbatim
<p align="center"> <a target="_blank" href="https://twitter.com/dbt_labs"> <img src="https://img.shields.io/twitter/follow/dbt_labs?labelColor=image.png&color=163B36&logo=twitter&style=flat"> </a> <a target="_blank" href="https://www.getdbt.com/community/"> <img src="https://img.shields.io/badge/Slack-join-163B36"> </a> <a href="https://github.com/psf/black"><img src="https://img.shields.io/badge/code%20style-black-000000.svg" /></a> </p>
dbt-semantic-interfaces
This repo contains the shared semantic classes, default validation, and tests designed to be used by both the dbt-core and MetricFlow projects. By centralizing these shared resources, we aim to maintain consistency and reduce code duplication across both projects.
Features
- Protocols for shared semantic classes: Define the interfaces and common attributes that must be implemented by the objects in both projects.
- Validation: Ensure that the objects comply with the expected structure and constraints.
- Tests: Ensure that the objects' behavior is consistent and correct across both projects.
Contributing
We welcome contributions to improve this codebase! If you're interested in...
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
Provides shared semantic layer definitions and validation protocols used by dbt-core and MetricFlow to maintain consistency across both projects.
Low friction installation with nine common dependencies (click, pydantic, jinja2, jsonschema, etc.) all widely used in Python ecosystems. Package is aging—last release 184 days ago—but carries Beta status and no known vulnerabilities.
Apache-2.0 permissive license allows commercial use, modification, and redistribution with minimal restrictions, typical for dbt ecosystem projects.
Usage
pip install dbt-semantic-interfaces==0.10.5
from dbt_semantic_interfaces import <protocol_or_class>
# Use shared semantic definitions in dbt or MetricFlow context
Requires Python 3.8 or later; intended as a library for dbt-core and MetricFlow integration rather than standalone use.
Verdict: A stable, low-friction library providing shared semantic definitions for the dbt ecosystem. No known security issues and permissive licensing make it safe to adopt. The 184-day release age and Beta status suggest it is mature but not actively evolving; suitable for projects already committed to dbt-core or MetricFlow.
Needs verification
- Whether this package is intended for direct end-user consumption or primarily as an internal dependency of dbt-core and MetricFlow
- What specific semantic protocols and validation rules are provided beyond the general description
Similar packages
permissive · top 1,000 on PyPI
dbt-corepermissive · top 1,000 on PyPI
dbt-commonpermissive · top 1,000 on PyPI
dbt-protospermissive · top 1,000 on PyPI
langchain-communitypermissive · top 1,000 on PyPI
langgraph-checkpointpermissive · top 1,000 on PyPI
semgrepcopyleft · top 1,000 on PyPI
py-key-value-aiopermissive · top 1,000 on PyPI
dbt-extractorpermissive · top 1,000 on PyPI
rfc3987-syntaxpermissive · top 1,000 on PyPI