git: 2084490f0466 - main - misc/py-sagemaker: New port: SageMaker: Library for training, deploying models on Amazon SageMaker

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Fri, 22 Aug 2025 17:45:25 UTC
The branch main has been updated by yuri:

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

commit 2084490f04665ccada45bfa914a84a868b8bde05
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-08-22 17:03:20 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-08-22 17:45:20 +0000

    misc/py-sagemaker: New port: SageMaker: Library for training, deploying models on Amazon SageMaker
---
 misc/Makefile               |  1 +
 misc/py-sagemaker/Makefile  | 48 +++++++++++++++++++++++++++++++++++++++++++++
 misc/py-sagemaker/distinfo  |  3 +++
 misc/py-sagemaker/pkg-descr | 10 ++++++++++
 4 files changed, 62 insertions(+)

diff --git a/misc/Makefile b/misc/Makefile
index 597e3aa85ae5..ab4a30b49bb1 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -526,6 +526,7 @@
     SUBDIR += py-pytorch-lightning
     SUBDIR += py-pyviz-comms
     SUBDIR += py-safetensors
+    SUBDIR += py-sagemaker
     SUBDIR += py-sagemaker-core
     SUBDIR += py-schedulefree
     SUBDIR += py-scikit-fusion
diff --git a/misc/py-sagemaker/Makefile b/misc/py-sagemaker/Makefile
new file mode 100644
index 000000000000..9241b1930d6c
--- /dev/null
+++ b/misc/py-sagemaker/Makefile
@@ -0,0 +1,48 @@
+PORTNAME=	sagemaker
+DISTVERSION=	2.251.0
+CATEGORIES=	misc python # machine-learning
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	SageMaker: Library for training, deploying models on Amazon SageMaker
+WWW=		https://sagemaker.readthedocs.io/en/stable/ \
+		https://github.com/aws/sagemaker-python-sdk
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE.txt
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}attrs>=24<26:devel/py-attrs@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}boto3>0:www/py-boto3@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}cloudpickle>=2.2.1:devel/py-cloudpickle@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}docker>0:sysutils/py-docker@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}fastapi>0:www/py-fastapi@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}google-pasta>=0:devel/py-google-pasta@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}graphene>=3<4:devel/py-graphene@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}importlib-metadata>0:devel/py-importlib-metadata@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}jsonschema>=0:devel/py-jsonschema@${PY_FLAVOR} \
+		${PYNUMPY} \
+		${PYTHON_PKGNAMEPREFIX}omegaconf>=2.2<3:devel/py-omegaconf@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pandas>=0:math/py-pandas@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pathos>=0:devel/py-pathos@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}platformdirs>=0:devel/py-platformdirs@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}protobuf>0:devel/py-protobuf@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}psutil>=0:sysutils/py-psutil@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}sagemaker-core>=1.0.17:misc/py-sagemaker-core@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}schema>=0:devel/py-schema@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}smdebug-rulesconfig>=1.0.1:misc/py-smdebug-rulesconfig@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}tblib>=1.7.0<4:devel/py-tblib@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}tqdm>=0:misc/py-tqdm@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}urllib3>0:net/py-urllib3@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}uvicorn>=0:www/py-uvicorn@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pyyaml>0:devel/py-pyyaml@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	pep517 autoplist
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/misc/py-sagemaker/distinfo b/misc/py-sagemaker/distinfo
new file mode 100644
index 000000000000..e16fefb1fb4f
--- /dev/null
+++ b/misc/py-sagemaker/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1755878742
+SHA256 (sagemaker-2.251.0.tar.gz) = 86573b6db1e39fe7f1ff71749ddf3e231778b387944621c74b8ddc746f27b326
+SIZE (sagemaker-2.251.0.tar.gz) = 1228366
diff --git a/misc/py-sagemaker/pkg-descr b/misc/py-sagemaker/pkg-descr
new file mode 100644
index 000000000000..0e6c037ecb96
--- /dev/null
+++ b/misc/py-sagemaker/pkg-descr
@@ -0,0 +1,10 @@
+SageMaker Python SDK is an open source library for training and deploying
+machine learning models on Amazon SageMaker.
+
+With the SDK, you can train and deploy models using popular deep learning
+frameworks Apache MXNet and TensorFlow. You can also train and deploy models
+with Amazon algorithms, which are scalable implementations of core machine
+learning algorithms that are optimized for SageMaker and GPU training.
+
+If you have your own algorithms built into SageMaker compatible Docker
+containers, you can train and host models using these as well.