Skip to content

Commit

Permalink
databases/py-dbt-semantic-interfaces: new port
Browse files Browse the repository at this point in the history
dbt-semantic-interfaces 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.

PR:		274581
Author:		Pat Maddox <pat@patmaddox.com>
  • Loading branch information
patmaddox authored and opsec committed Oct 21, 2023
1 parent 9a92113 commit 433ffc2
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 0 deletions.
1 change: 1 addition & 0 deletions databases/Makefile
Expand Up @@ -756,6 +756,7 @@
SUBDIR += py-couchdb
SUBDIR += py-databases
SUBDIR += py-dbf
SUBDIR += py-dbt-semantic-interfaces
SUBDIR += py-dbutils
SUBDIR += py-duckdb
SUBDIR += py-fakeredis
Expand Down
30 changes: 30 additions & 0 deletions databases/py-dbt-semantic-interfaces/Makefile
@@ -0,0 +1,30 @@
PORTNAME= dbt-semantic-interfaces
PORTVERSION= 0.2.0
CATEGORIES= databases python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
DISTNAME= dbt_semantic_interfaces-${PORTVERSION}

MAINTAINER= pat@patmaddox.com
COMMENT= Shared semantic layer definitions that dbt-core and MetricFlow use
WWW= https://github.com/dbt-labs/dbt-semantic-interfaces

LICENSE= APACHE20

BUILD_DEPENDS= hatch:devel/py-hatch@${PY_FLAVOR} \
hatchling:devel/py-hatchling@${PY_FLAVOR}

RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pydantic>=1.10,<2:devel/py-pydantic@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}jsonschema>=3:devel/py-jsonschema@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}yaml>=6,<7:devel/py-yaml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}more-itertools>=8:devel/py-more-itertools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}Jinja2>=3,<4:devel/py-Jinja2@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}click>=7,<9:devel/py-click@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dateutil>0:devel/py-dateutil@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}importlib-metadata>=6,<7:devel/py-importlib-metadata@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>=4,<5:devel/py-typing-extensions@${PY_FLAVOR}

USES= python
USE_PYTHON= autoplist concurrent pep517

.include <bsd.port.mk>
3 changes: 3 additions & 0 deletions databases/py-dbt-semantic-interfaces/distinfo
@@ -0,0 +1,3 @@
TIMESTAMP = 1691527201
SHA256 (dbt_semantic_interfaces-0.2.0.tar.gz) = 4afecc6dc56f85ecce7ac424dea07561513467e0bf28ead7307b78a22e6b999b
SIZE (dbt_semantic_interfaces-0.2.0.tar.gz) = 69838
13 changes: 13 additions & 0 deletions databases/py-dbt-semantic-interfaces/pkg-descr
@@ -0,0 +1,13 @@
dbt-semantic-interfaces 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.

0 comments on commit 433ffc2

Please sign in to comment.