aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiroki Tagato <tagattie@FreeBSD.org>2025-10-15 06:26:24 +0000
committerHiroki Tagato <tagattie@FreeBSD.org>2025-10-15 07:36:08 +0000
commit55b0ec14f83c10e395ee751e8ea17def3a102273 (patch)
tree0aac58624edcf6d7fbcb21b73bc2afe342e88c45
parent7a9bc19ce279dfd97e9239afdbd1ccd17525b78d (diff)
databases/py-prisma: Add port: Type-safe database access for Python
Prisma Client Python is a next-generation ORM built on top of Prisma that has been designed from the ground up for ease of use and correctness. Prisma is a TypeScript ORM with zero-cost type safety for your database, although don't worry, Prisma Client Python interfaces with Prisma using Rust, you don't need Node or TypeScript. Prisma Client Python can be used in any Python backend application. This can be a REST API, a GraphQL API or anything else that needs a database. WWW: https://github.com/RobertCraigie/prisma-client-py Note: Although the upstream repository has been archived, this port is needed by LLM proxy functions of misc/py-litellm, which is in preparation.
-rw-r--r--databases/Makefile1
-rw-r--r--databases/py-prisma/Makefile37
-rw-r--r--databases/py-prisma/distinfo3
-rw-r--r--databases/py-prisma/pkg-descr11
4 files changed, 52 insertions, 0 deletions
diff --git a/databases/Makefile b/databases/Makefile
index a9b48e6dbc45..5ac70381f6ed 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -813,6 +813,7 @@
SUBDIR += py-pony
SUBDIR += py-postgresql
SUBDIR += py-powa-collector
+ SUBDIR += py-prisma
SUBDIR += py-psycogreen
SUBDIR += py-psycopg
SUBDIR += py-psycopg-c
diff --git a/databases/py-prisma/Makefile b/databases/py-prisma/Makefile
new file mode 100644
index 000000000000..bf28253912b3
--- /dev/null
+++ b/databases/py-prisma/Makefile
@@ -0,0 +1,37 @@
+PORTNAME= prisma
+DISTVERSION= 0.15.0
+CATEGORIES= databases python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= tagattie@FreeBSD.org
+COMMENT= Type-safe database access for Python
+WWW= https://github.com/RobertCraigie/prisma-client-py
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}httpx>=0.19.0:www/py-httpx@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}Jinja2>=2.11.2:devel/py-Jinja2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pydantic2>=1.11.0<3:devel/py-pydantic2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}click>=7.1.2:devel/py-click@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}python-dotenv>=0.12.0:www/py-python-dotenv@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.5.0:devel/py-typing-extensions@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tomlkit>0:textproc/py-tomlkit@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}nodeenv>0:devel/py-nodeenv@${PY_FLAVOR}
+
+USES= python
+
+USE_PYTHON= autoplist concurrent distutils
+
+NO_ARCH= yes
+
+PORTDOCS= README.md
+
+OPTIONS_DEFINE= DOCS
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/databases/py-prisma/distinfo b/databases/py-prisma/distinfo
new file mode 100644
index 000000000000..5113fccab7d7
--- /dev/null
+++ b/databases/py-prisma/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760497728
+SHA256 (prisma-0.15.0.tar.gz) = 5cd6402aa8322625db3fc1152040404e7fc471fe7f8fa3a314fa8a99529ca107
+SIZE (prisma-0.15.0.tar.gz) = 154975
diff --git a/databases/py-prisma/pkg-descr b/databases/py-prisma/pkg-descr
new file mode 100644
index 000000000000..c23e882d4afa
--- /dev/null
+++ b/databases/py-prisma/pkg-descr
@@ -0,0 +1,11 @@
+Prisma Client Python is a next-generation ORM built on top of Prisma
+that has been designed from the ground up for ease of use and
+correctness.
+
+Prisma is a TypeScript ORM with zero-cost type safety for your
+database, although don't worry, Prisma Client Python interfaces with
+Prisma using Rust, you don't need Node or TypeScript.
+
+Prisma Client Python can be used in any Python backend
+application. This can be a REST API, a GraphQL API or anything else
+that needs a database.