git: a65ea84c048e - main - databases/py-schemachange: new port

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

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

commit a65ea84c048e834e46c0011ff25caeed1c1ad884
Author:     Pat Maddox <pat@patmaddox.com>
AuthorDate: 2023-10-22 11:28:07 +0000
Commit:     Kurt Jaeger <pi@FreeBSD.org>
CommitDate: 2023-10-22 11:28:46 +0000

    databases/py-schemachange: new port
    
    schemachange is a simple python based tool to manage all of your Snowflake
    objects. It follows an Imperative-style approach to Database Change Management
    (DCM) and was inspired by the Flyway database migration tool. When combined with
    a version control system and a CI/CD tool, database changes can be approved and
    deployed through a pipeline using modern software delivery practices. As such
    schemachange plays a critical role in enabling Database (or Data) DevOps.
    
    PR:             274585
    Author:         Pat Maddox <pat@patmaddox.com>
---
 databases/Makefile                  |  1 +
 databases/py-schemachange/Makefile  | 33 +++++++++++++++++++++++++++++++++
 databases/py-schemachange/distinfo  |  3 +++
 databases/py-schemachange/pkg-descr |  6 ++++++
 4 files changed, 43 insertions(+)

diff --git a/databases/Makefile b/databases/Makefile
index ec438db417c0..e522bf1f1a68 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -828,6 +828,7 @@
     SUBDIR += py-redis3
     SUBDIR += py-redis4
     SUBDIR += py-rrdtool
+    SUBDIR += py-schemachange
     SUBDIR += py-sispy
     SUBDIR += py-snowflake-connector-python
     SUBDIR += py-south
diff --git a/databases/py-schemachange/Makefile b/databases/py-schemachange/Makefile
new file mode 100644
index 000000000000..e6c205fbf0a7
--- /dev/null
+++ b/databases/py-schemachange/Makefile
@@ -0,0 +1,33 @@
+PORTNAME=	schemachange
+PORTVERSION=	3.6.0
+CATEGORIES=	databases python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	pat@patmaddox.com
+COMMENT=	Database Change Management tool for Snowflake
+WWW=		https://github.com/Snowflake-Labs/schemachange
+
+LICENSE=	APACHE20
+
+BUILD_DEPENDS=	${PY_DEPENDS} \
+		${PYTHON_PKGNAMEPREFIX}setuptools>=40.9.0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+
+RUN_DEPENDS=	${PY_DEPENDS}
+
+TEST_DEPENDS=	${PY_DEPENDS} \
+		${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist concurrent pep517
+
+PY_DEPENDS=	${PYTHON_PKGNAMEPREFIX}Jinja2>=3.0,<4:devel/py-Jinja2@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pandas>=1.3:math/py-pandas@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}yaml>=6.0,<7:devel/py-yaml@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}snowflake-connector-python>=2.8,<4:databases/py-snowflake-connector-python@${PY_FLAVOR}
+
+do-test:
+	@(cd ${TEST_WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHON_CMD} -m pytest)
+
+.include <bsd.port.mk>
diff --git a/databases/py-schemachange/distinfo b/databases/py-schemachange/distinfo
new file mode 100644
index 000000000000..3270042c2566
--- /dev/null
+++ b/databases/py-schemachange/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1696274412
+SHA256 (schemachange-3.6.0.tar.gz) = 2fc6feb231282659a9056d41f6ae661735ac703e992c30ae96df4c353a031d8d
+SIZE (schemachange-3.6.0.tar.gz) = 48688
diff --git a/databases/py-schemachange/pkg-descr b/databases/py-schemachange/pkg-descr
new file mode 100644
index 000000000000..3631861d1c67
--- /dev/null
+++ b/databases/py-schemachange/pkg-descr
@@ -0,0 +1,6 @@
+schemachange is a simple python based tool to manage all of your Snowflake
+objects. It follows an Imperative-style approach to Database Change Management
+(DCM) and was inspired by the Flyway database migration tool. When combined with
+a version control system and a CI/CD tool, database changes can be approved and
+deployed through a pipeline using modern software delivery practices. As such
+schemachange plays a critical role in enabling Database (or Data) DevOps.