aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2025-07-13 18:21:59 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2025-07-13 18:35:55 +0000
commit40f26186fbed7e287c165134a42417c4eb6d9fee (patch)
tree4db49aed5837aab26d6927f3b7293f40aefbca3a
parentc7299ebae23ff364f504ef122c8c3cc77c00619e (diff)
databases/py-aiodataloader: Add py-aiodataloader 0.4.2
DataLoader is a generic utility to be used as part of your application's data fetching layer to provide a simplified and consistent API over various remote data sources such as databases or web services via batching and caching. A port of the "Loader" API originally developed by @schrockn at Facebook in 2010 as a simplifying force to coalesce the sundry key-value store back-end APIs which existed at the time. At Facebook, "Loader" became one of the implementation details of the "Ent" framework, a privacy-aware data entity loading and caching layer within web server product code. This ultimately became the underpinning for Facebook's GraphQL server implementation and type definitions. Asyncio DataLoader is a Python port of the original JavaScript DataLoader implementation. DataLoader is often used when implementing a GraphQL service, though it is also broadly useful in other situations.
-rw-r--r--databases/Makefile1
-rw-r--r--databases/py-aiodataloader/Makefile22
-rw-r--r--databases/py-aiodataloader/distinfo3
-rw-r--r--databases/py-aiodataloader/pkg-descr15
4 files changed, 41 insertions, 0 deletions
diff --git a/databases/Makefile b/databases/Makefile
index c076df5d6f2d..344b3f282343 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -748,6 +748,7 @@
SUBDIR += py-Pyrseas
SUBDIR += py-aesqlapius
SUBDIR += py-agate-sql
+ SUBDIR += py-aiodataloader
SUBDIR += py-aiomcache
SUBDIR += py-aiomysql
SUBDIR += py-aiopg
diff --git a/databases/py-aiodataloader/Makefile b/databases/py-aiodataloader/Makefile
new file mode 100644
index 000000000000..7787cf6fcfb4
--- /dev/null
+++ b/databases/py-aiodataloader/Makefile
@@ -0,0 +1,22 @@
+PORTNAME= aiodataloader
+PORTVERSION= 0.4.2
+CATEGORIES= databases python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Asyncio DataLoader implementation for Python
+WWW= https://github.com/syrusakbary/aiodataloader
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.1.1:devel/py-typing-extensions@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist concurrent pep517
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/databases/py-aiodataloader/distinfo b/databases/py-aiodataloader/distinfo
new file mode 100644
index 000000000000..a08bc0b26d92
--- /dev/null
+++ b/databases/py-aiodataloader/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752416400
+SHA256 (aiodataloader-0.4.2.tar.gz) = c92f6f2fb7ee13939ffd68274895aca44ccc0294a1275179bfb8af2b29b788e1
+SIZE (aiodataloader-0.4.2.tar.gz) = 13458
diff --git a/databases/py-aiodataloader/pkg-descr b/databases/py-aiodataloader/pkg-descr
new file mode 100644
index 000000000000..ac4645132d3e
--- /dev/null
+++ b/databases/py-aiodataloader/pkg-descr
@@ -0,0 +1,15 @@
+DataLoader is a generic utility to be used as part of your application's data
+fetching layer to provide a simplified and consistent API over various remote
+data sources such as databases or web services via batching and caching.
+
+A port of the "Loader" API originally developed by @schrockn at Facebook in 2010
+as a simplifying force to coalesce the sundry key-value store back-end APIs
+which existed at the time. At Facebook, "Loader" became one of the
+implementation details of the "Ent" framework, a privacy-aware data entity
+loading and caching layer within web server product code. This ultimately became
+the underpinning for Facebook's GraphQL server implementation and type
+definitions.
+
+Asyncio DataLoader is a Python port of the original JavaScript DataLoader
+implementation. DataLoader is often used when implementing a GraphQL service,
+though it is also broadly useful in other situations.