git: 433ffc21d6ed - main - databases/py-dbt-semantic-interfaces: new port

From: Kurt Jaeger <pi_at_FreeBSD.org>
Date: Sat, 21 Oct 2023 18:19:06 UTC
The branch main has been updated by pi:

URL: https://cgit.FreeBSD.org/ports/commit/?id=433ffc21d6ed48f6da712e477a7820ba37a4ccb0

commit 433ffc21d6ed48f6da712e477a7820ba37a4ccb0
Author:     Pat Maddox <pat@patmaddox.com>
AuthorDate: 2023-10-21 18:18:12 +0000
Commit:     Kurt Jaeger <pi@FreeBSD.org>
CommitDate: 2023-10-21 18:18:12 +0000

    databases/py-dbt-semantic-interfaces: new port
    
    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>
---
 databases/Makefile                             |  1 +
 databases/py-dbt-semantic-interfaces/Makefile  | 30 ++++++++++++++++++++++++++
 databases/py-dbt-semantic-interfaces/distinfo  |  3 +++
 databases/py-dbt-semantic-interfaces/pkg-descr | 13 +++++++++++
 4 files changed, 47 insertions(+)

diff --git a/databases/Makefile b/databases/Makefile
index 93b6fb8e7719..131d57e56350 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -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
diff --git a/databases/py-dbt-semantic-interfaces/Makefile b/databases/py-dbt-semantic-interfaces/Makefile
new file mode 100644
index 000000000000..e7b5dca287e9
--- /dev/null
+++ b/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>
diff --git a/databases/py-dbt-semantic-interfaces/distinfo b/databases/py-dbt-semantic-interfaces/distinfo
new file mode 100644
index 000000000000..dd479ea1f4a5
--- /dev/null
+++ b/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
diff --git a/databases/py-dbt-semantic-interfaces/pkg-descr b/databases/py-dbt-semantic-interfaces/pkg-descr
new file mode 100644
index 000000000000..99bb3bc9aee7
--- /dev/null
+++ b/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.