git: 2201fe594d5c - main - databases/py-snowddl: new port

From: Kurt Jaeger <pi_at_FreeBSD.org>
Date: Sun, 22 Oct 2023 12:51:12 UTC
The branch main has been updated by pi:

URL: https://cgit.FreeBSD.org/ports/commit/?id=2201fe594d5c7790a08f40a630023ea1a2faace7

commit 2201fe594d5c7790a08f40a630023ea1a2faace7
Author:     Pat Maddox <pat@patmaddox.com>
AuthorDate: 2023-10-22 12:50:10 +0000
Commit:     Kurt Jaeger <pi@FreeBSD.org>
CommitDate: 2023-10-22 12:50:44 +0000

    databases/py-snowddl: new port
    
    SnowDDL is a declarative-style tool for object management automation in
    Snowflake.
    
    It is not intended to replace other tools entirely, but to provide an
    alternative approach focused on practical data engineering challenges.
    
    You may find SnowDDL useful if:
    
    - complexity of object schema grows exponentially, and it becomes hard to manage
    - your organization maintains multiple Snowflake accounts (dev, stage, prod)
    - your organization has multiple developers sharing the same Snowflake account
      and suffering from conflicts
    - it is necessary to generate some part of configuration dynamically using
      Python
    
    PR:             274586
    Author:    Pat Maddox <pat@patmaddox.com>
---
 databases/Makefile             |  1 +
 databases/py-snowddl/Makefile  | 26 ++++++++++++++++++++++++++
 databases/py-snowddl/distinfo  |  3 +++
 databases/py-snowddl/pkg-descr | 14 ++++++++++++++
 4 files changed, 44 insertions(+)

diff --git a/databases/Makefile b/databases/Makefile
index e522bf1f1a68..eff2cbb40a84 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -830,6 +830,7 @@
     SUBDIR += py-rrdtool
     SUBDIR += py-schemachange
     SUBDIR += py-sispy
+    SUBDIR += py-snowddl
     SUBDIR += py-snowflake-connector-python
     SUBDIR += py-south
     SUBDIR += py-sqlalchemy-json
diff --git a/databases/py-snowddl/Makefile b/databases/py-snowddl/Makefile
new file mode 100644
index 000000000000..f28731019b95
--- /dev/null
+++ b/databases/py-snowddl/Makefile
@@ -0,0 +1,26 @@
+PORTNAME=	snowddl
+PORTVERSION=	0.20.0
+CATEGORIES=	databases python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	pat@patmaddox.com
+COMMENT=	Object management automation tool for Snowflake
+WWW=		https://docs.snowddl.com/
+
+LICENSE=	APACHE20
+
+BUILD_DEPENDS=	wheel-${PYTHON_VER}:devel/py-wheel@${PY_FLAVOR} \
+		${PY_DEPENDS}
+
+RUN_DEPENDS=	${PY_DEPENDS}
+
+USES=		python
+USE_PYTHON=	autoplist concurrent pep517
+
+PY_DEPENDS=	${PYTHON_PKGNAMEPREFIX}jsonschema>=4.18,<5:devel/py-jsonschema@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pydantic2>=2.4,<3:devel/py-pydantic2@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}yaml>=6.0,<7:devel/py-yaml@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}snowflake-connector-python>=3.0,<4:databases/py-snowflake-connector-python@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/databases/py-snowddl/distinfo b/databases/py-snowddl/distinfo
new file mode 100644
index 000000000000..1eb97e105d07
--- /dev/null
+++ b/databases/py-snowddl/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1697500761
+SHA256 (snowddl-0.20.0.tar.gz) = 044da789f4165bc40c55fae4870c5427e3bfc77acb72970596e6507d2cbc2155
+SIZE (snowddl-0.20.0.tar.gz) = 103553
diff --git a/databases/py-snowddl/pkg-descr b/databases/py-snowddl/pkg-descr
new file mode 100644
index 000000000000..d3444485605d
--- /dev/null
+++ b/databases/py-snowddl/pkg-descr
@@ -0,0 +1,14 @@
+SnowDDL is a declarative-style tool for object management automation in
+Snowflake.
+
+It is not intended to replace other tools entirely, but to provide an
+alternative approach focused on practical data engineering challenges.
+
+You may find SnowDDL useful if:
+
+- complexity of object schema grows exponentially, and it becomes hard to manage
+- your organization maintains multiple Snowflake accounts (dev, stage, prod)
+- your organization has multiple developers sharing the same Snowflake account
+  and suffering from conflicts
+- it is necessary to generate some part of configuration dynamically using
+  Python