git: 83364a5e5f01 - main - misc/py-sagemaker-shim: New port: SageMaker: Adapter algorithms for Grand Challenge inference API

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Wed, 03 Dec 2025 00:20:53 UTC
The branch main has been updated by yuri:

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

commit 83364a5e5f0145da91e39bd85f7bc3c636b98bc6
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-12-03 00:19:11 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-12-03 00:20:48 +0000

    misc/py-sagemaker-shim: New port: SageMaker: Adapter algorithms for Grand Challenge inference API
---
 misc/Makefile                                     |  1 +
 misc/py-sagemaker-shim/Makefile                   | 28 +++++++++++++++++++++++
 misc/py-sagemaker-shim/distinfo                   |  3 +++
 misc/py-sagemaker-shim/files/patch-pyproject.toml | 19 +++++++++++++++
 misc/py-sagemaker-shim/pkg-descr                  |  2 ++
 5 files changed, 53 insertions(+)

diff --git a/misc/Makefile b/misc/Makefile
index 09627b5bf2a5..032797b85fa3 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -562,6 +562,7 @@
     SUBDIR += py-sagemaker
     SUBDIR += py-sagemaker-core
     SUBDIR += py-sagemaker-mlops
+    SUBDIR += py-sagemaker-shim
     SUBDIR += py-sagemaker-train
     SUBDIR += py-schedulefree
     SUBDIR += py-scikit-fusion
diff --git a/misc/py-sagemaker-shim/Makefile b/misc/py-sagemaker-shim/Makefile
new file mode 100644
index 000000000000..d87c70ab0bc9
--- /dev/null
+++ b/misc/py-sagemaker-shim/Makefile
@@ -0,0 +1,28 @@
+PORTNAME=	sagemaker-shim
+PORTVERSION=	0.6.1
+CATEGORIES=	misc python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DISTNAME=	${PORTNAME:S/-/_/}-${PORTVERSION}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	SageMaker: Adapter algorithms for Grand Challenge inference API
+WWW=		https://github.com/DIAGNijmegen/rse-sagemaker-shim
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PY_SETUPTOOLS} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}aioboto3>0:devel/py-aioboto3@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}botocore>0:devel/py-botocore@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}click>0:devel/py-click@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}fastapi>0:www/py-fastapi@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}uvicorn>0:www/py-uvicorn@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist pep517
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/misc/py-sagemaker-shim/distinfo b/misc/py-sagemaker-shim/distinfo
new file mode 100644
index 000000000000..e16e07eb2dbd
--- /dev/null
+++ b/misc/py-sagemaker-shim/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1733176900
+SHA256 (sagemaker_shim-0.6.1.tar.gz) = 139e55ccecbed90230fc3365606954850317a0700f3581cb8dbe64e2f4454f83
+SIZE (sagemaker_shim-0.6.1.tar.gz) = 35684
diff --git a/misc/py-sagemaker-shim/files/patch-pyproject.toml b/misc/py-sagemaker-shim/files/patch-pyproject.toml
new file mode 100644
index 000000000000..a56b3fe0247b
--- /dev/null
+++ b/misc/py-sagemaker-shim/files/patch-pyproject.toml
@@ -0,0 +1,19 @@
+--- pyproject.toml.orig	2025-10-23 07:40:05 UTC
++++ pyproject.toml
+@@ -3,7 +3,7 @@ license = {text = "Apache-2.0"}
+     {name = "James Meakin"},
+ ]
+ license = {text = "Apache-2.0"}
+-requires-python = "==3.12.*"
++requires-python = ">=3.11"
+ dependencies = [
+     "fastapi!=0.89.0",
+     "uvicorn",
+@@ -74,3 +74,7 @@ package = true
+ 
+ [tool.uv]
+ package = true
++
++[build-system]
++requires = ["setuptools", "wheel"]
++build-backend = "setuptools.build_meta"
diff --git a/misc/py-sagemaker-shim/pkg-descr b/misc/py-sagemaker-shim/pkg-descr
new file mode 100644
index 000000000000..16d4b289d430
--- /dev/null
+++ b/misc/py-sagemaker-shim/pkg-descr
@@ -0,0 +1,2 @@
+sagemaker-shim adapts algorithms that implement the Grand Challenge inference
+API for running in Amazon SageMaker.