From nobody Mon Sep 08 02:52:46 2025 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cKs271T2rz67DBJ; Mon, 08 Sep 2025 02:52:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cKs270mZxz44bl; Mon, 08 Sep 2025 02:52:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757299967; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QK49vQdXxBniht4E59gjScHKWeym7MPYT4UIDCJyQKs=; b=T0SLLcNvKy89LvhCsoJc1Y2JMRGHCQedGjhOzToVRlAgZHevtj4kIv9qlW/hsgg28vxLps 929/fSo9+DX2qAGIdUWqpl+2sPXzz5xyyFV9fYI+RjL5XR/RKK0xjes3CvB85Xp01yV5FX Rv7Ubwp1bZACfJT5npdzc4kj2/UoWsbXSpwklHoku5MMpY33sw71f/wkBF3rajZkQ69vdA 7g9C9ejKR8dVP5RlCKUGgrzD6JZYKHGrQ2qKyv+Otm4yYsmurrPgA3igHZ7Vq4uaoKyR8f rpNBVbml6Sv7zNys0JyzGGP/8ltTwJmd60LMVcVwzPZXosVck+DfoAy4xQ2dkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757299967; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QK49vQdXxBniht4E59gjScHKWeym7MPYT4UIDCJyQKs=; b=Sh3CloesEKmyxJco7MI0MrLf7my08U8AIIyVNaxRRIMuss6cEPuP+s6wf8hrjbCqdFX+cM G88qWeb6m2dSPjjYr4mi2DJzYquS/rS7hoGUAWVDdoPeVaflX0QZpv+0GJnEqFOwC60xpQ mR7vjtqPV3uhZ1UEqfQe/W+KHYU2rN3ymcqm3JmrvMQGgZHSVu2axUzaksFoTmHz9DV/u3 Mb6rpn9J6zMgZWUQ5BHXSB0pnt5OTUVwlDqx+/G/Cip0NnFsiGC2NEfCB0G3n6pr1rxaGy eUwLLJYi58vqvgMShYwAhAeItAj4//yzIMB/So/NXlH3vqHogYfq0Afl/TvLKQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757299967; a=rsa-sha256; cv=none; b=Am4B5dOGIMly6gwhMWPLx9bUsJrn8MiWOd/NVICJ36PXDcVH8WBED8JQvqOc7vSD58xx5J ImkXe7gaiTjo/eO/8sxYU1yYynIE5YrYKmcuswiWPoh4TBGoWoKkBv6Rad+WGr1cyiYZmC +Gaoy7RXNHPt8g+IaxeSiwdBHw4m0ViX64TsnifA0w3vgYvmPHGXcOEmStenO4PI9rajNC xdglUQEWeK5HYozV9KhO3NbrnvKsd44+gcqkutY14HxVT2jWpBFTb3+AdJBwgZ2WgqAEWM 7Xh/nnjszq/b/2Wj87pm/2wkV2t/1EhTB66X2P1KyjG7LDqXYzbQWZsKCxRtGw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cKs270HCRzpDW; Mon, 08 Sep 2025 02:52:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5882qkvD064573; Mon, 8 Sep 2025 02:52:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5882qkwB064570; Mon, 8 Sep 2025 02:52:46 GMT (envelope-from git) Date: Mon, 8 Sep 2025 02:52:46 GMT Message-Id: <202509080252.5882qkwB064570@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Yuri Victorovich Subject: git: 32a7597817b9 - main - misc/py-runloop-api-client: New port: Official Python library for the runloop API List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-all@freebsd.org Sender: owner-dev-commits-ports-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuri X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 32a7597817b9f4847328b9de943a64b103948a2f Auto-Submitted: auto-generated The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=32a7597817b9f4847328b9de943a64b103948a2f commit 32a7597817b9f4847328b9de943a64b103948a2f Author: Yuri Victorovich AuthorDate: 2025-09-08 02:51:41 +0000 Commit: Yuri Victorovich CommitDate: 2025-09-08 02:52:43 +0000 misc/py-runloop-api-client: New port: Official Python library for the runloop API --- misc/Makefile | 1 + misc/py-runloop-api-client/Makefile | 46 ++++++++++++++++++++++ misc/py-runloop-api-client/distinfo | 3 ++ .../files/patch-pyproject.toml | 11 ++++++ misc/py-runloop-api-client/pkg-descr | 4 ++ 5 files changed, 65 insertions(+) diff --git a/misc/Makefile b/misc/Makefile index 96108cce56a9..7e38343bfda8 100644 --- a/misc/Makefile +++ b/misc/Makefile @@ -532,6 +532,7 @@ SUBDIR += py-pytorch SUBDIR += py-pytorch-lightning SUBDIR += py-pyviz-comms + SUBDIR += py-runloop-api-client SUBDIR += py-safetensors SUBDIR += py-sagemaker SUBDIR += py-sagemaker-core diff --git a/misc/py-runloop-api-client/Makefile b/misc/py-runloop-api-client/Makefile new file mode 100644 index 000000000000..722ff60fd332 --- /dev/null +++ b/misc/py-runloop-api-client/Makefile @@ -0,0 +1,46 @@ +PORTNAME= runloop-api-client +#DISTVERSIONPREFIX= v +DISTVERSION= 0.58.0 +CATEGORIES= misc python # machine-learning +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/g}-${PORTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Official Python library for the runloop API +WWW= https://github.com/runloopai/api-client-python + +LICENSE= MIT +LICENSE_FILES= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=1.26.3:devel/py-hatchling@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}hatch-fancy-pypi-readme>0:devel/py-hatch-fancy-pypi-readme@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}anyio>=3.5.05:devel/py-anyio@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}distro>=1.7.0:sysutils/py-distro@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}httpx>=0.23.0:www/py-httpx@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=1.9.0:devel/py-pydantic2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}sniffio>=0:devel/py-sniffio@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.10:devel/py-typing-extensions@${PY_FLAVOR} +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dirty-equals>=0.6.0:devel/py-dirty-equals@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}importlib-metadata>=6.7.0:devel/py-importlib-metadata@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}mypy>0:devel/py-mypy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}nest-asyncio>=1.6.0:devel/py-nest-asyncio@${PY_FLAVOR} \ + nox>0:devel/nox@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pyright>=1.1.399:devel/py-pyright@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytest-asyncio>0:devel/py-pytest-asyncio@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytest-xdist>=3.6.1:devel/py-pytest-xdist@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}respx>=0:www/py-respx@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rich>=13.7.1:textproc/py-rich@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}ruff>0:devel/py-ruff@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}time-machine>0:devel/py-time-machine@${PY_FLAVOR} + +USES= python +USE_PYTHON= pep517 autoplist pytest + +NO_ARCH= yes + +TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} + +# tests run forever + +.include diff --git a/misc/py-runloop-api-client/distinfo b/misc/py-runloop-api-client/distinfo new file mode 100644 index 000000000000..df63ce2979d4 --- /dev/null +++ b/misc/py-runloop-api-client/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1757290176 +SHA256 (runloop_api_client-0.58.0.tar.gz) = 03448b6d0408d588d6e5ff7b2f49e197b58a7d4932f8ec7ae905f9e61cb3f495 +SIZE (runloop_api_client-0.58.0.tar.gz) = 333006 diff --git a/misc/py-runloop-api-client/files/patch-pyproject.toml b/misc/py-runloop-api-client/files/patch-pyproject.toml new file mode 100644 index 000000000000..d2b3917363f3 --- /dev/null +++ b/misc/py-runloop-api-client/files/patch-pyproject.toml @@ -0,0 +1,11 @@ +--- pyproject.toml.orig 2025-09-08 00:09:49 UTC ++++ pyproject.toml +@@ -91,7 +91,7 @@ typecheck = { chain = [ + "typecheck:mypy" = "mypy ." + + [build-system] +-requires = ["hatchling==1.26.3", "hatch-fancy-pypi-readme"] ++requires = ["hatchling>=1.26.3", "hatch-fancy-pypi-readme"] + build-backend = "hatchling.build" + + [dependency-groups] diff --git a/misc/py-runloop-api-client/pkg-descr b/misc/py-runloop-api-client/pkg-descr new file mode 100644 index 000000000000..39622f2c3472 --- /dev/null +++ b/misc/py-runloop-api-client/pkg-descr @@ -0,0 +1,4 @@ +The Runloop Python library provides convenient access to the Runloop REST API +from any Python 3.8+ application. The library includes type definitions for +all request params and response fields, and offers both synchronous and +asynchronous clients powered by httpx.