From 55b0ec14f83c10e395ee751e8ea17def3a102273 Mon Sep 17 00:00:00 2001 From: Hiroki Tagato Date: Wed, 15 Oct 2025 15:26:24 +0900 Subject: [PATCH] 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. --- databases/Makefile | 1 + databases/py-prisma/Makefile | 37 +++++++++++++++++++++++++++++++++++ databases/py-prisma/distinfo | 3 +++ databases/py-prisma/pkg-descr | 11 +++++++++++ 4 files changed, 52 insertions(+) create mode 100644 databases/py-prisma/Makefile create mode 100644 databases/py-prisma/distinfo create mode 100644 databases/py-prisma/pkg-descr 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 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.