summaryrefslogtreecommitdiff
path: root/misc/py-runloop-api-client
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--misc/py-runloop-api-client/Makefile46
-rw-r--r--misc/py-runloop-api-client/distinfo3
-rw-r--r--misc/py-runloop-api-client/files/patch-pyproject.toml11
-rw-r--r--misc/py-runloop-api-client/pkg-descr4
4 files changed, 64 insertions, 0 deletions
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 <bsd.port.mk>
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.