summaryrefslogtreecommitdiff
path: root/devel/py-dj52-strawberry-graphql
diff options
context:
space:
mode:
Diffstat (limited to 'devel/py-dj52-strawberry-graphql')
-rw-r--r--devel/py-dj52-strawberry-graphql/Makefile74
-rw-r--r--devel/py-dj52-strawberry-graphql/distinfo3
-rw-r--r--devel/py-dj52-strawberry-graphql/pkg-descr23
3 files changed, 100 insertions, 0 deletions
diff --git a/devel/py-dj52-strawberry-graphql/Makefile b/devel/py-dj52-strawberry-graphql/Makefile
new file mode 100644
index 000000000000..0e5a547d0db8
--- /dev/null
+++ b/devel/py-dj52-strawberry-graphql/Makefile
@@ -0,0 +1,74 @@
+PORTNAME= strawberry-graphql
+DISTVERSION= 0.271.0
+CATEGORIES= devel python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+DISTNAME= strawberry_graphql-${DISTVERSION}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Library for creating GraphQL APIs
+WWW= https://github.com/strawberry-graphql/strawberry
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.6:devel/py-poetry-core@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}python-dateutil>=2.7.0:devel/py-python-dateutil@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}graphql-core>=3.2.0<3.4.0:devel/py-graphql-core@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.5.0:devel/py-typing-extensions@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_PYTHON= autoplist concurrent pep517
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+OPTIONS_DEFINE= AIOHTTP ASGI CHANNELS CLI DEBUG DEBUG-SERVER DJANGO \
+ FASTAPI FLASK OPENTELEMETRY PYDANTIC
+
+AIOHTTP_DESC= Basic AIOHTTP integration
+ASGI_DESC= Basic ASGI integration
+CHANNELS_DESC= Support for Django Channels
+CLI_DESC= Support for CLI commands
+DEBUG-SERVER_DESC= Enable debug server
+DEBUG_DESC= Generate verbose debug information
+DJANGO_DESC= Basic Django integration
+FASTAPI_DESC= Support for FastAPI in conjunction with GraphQLRouter
+FLASK_DESC= Basic Flask integration
+OPENTELEMETRY_DESC= Generate Open Telemetry compatible tracing information
+PYDANTIC_DESC= Support for Pydantic models
+
+AIOHTTP_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiohttp>=3.7.4:www/py-aiohttp@${PY_FLAVOR}
+ASGI_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}multipart>=0.0.7:devel/py-multipart@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}starlette>=0.18.0:www/py-starlette@${PY_FLAVOR}
+CHANNELS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}asgiref>=3.2:www/py-asgiref@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj52-channels>=3.0.5:www/py-dj52-channels@${PY_FLAVOR}
+CLI_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}libcst>=1.0.0:devel/py-libcst@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pygments>=2.3:textproc/py-pygments@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}rich>=12.0.0:textproc/py-rich@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}typer>=0.7.0:devel/py-typer@${PY_FLAVOR}
+DEBUG-SERVER_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}libcst>=1.0.0:devel/py-libcst@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}multipart>=0.0.7:devel/py-multipart@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pygments>=2.3:textproc/py-pygments@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}rich>=12.0.0:textproc/py-rich@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}starlette>=0.18.0:www/py-starlette@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}typer>=0.7.0:devel/py-typer@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}uvicorn>=0.11.6:www/py-uvicorn@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}websockets>=15.0.1:devel/py-websockets@${PY_FLAVOR}
+DEBUG_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}libcst>=1.0.0:devel/py-libcst@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}rich>=12.0.0:textproc/py-rich@${PY_FLAVOR}
+# NB: www/py-channels (via CHANNELS) options depends on www/py-djangoXX, which
+# should be taken into account when creating a port for a specific Django version.
+DJANGO_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}asgiref>=3.2:www/py-asgiref@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}django52>=3.2:www/py-django52@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-django>0:devel/py-pytest-django@${PY_FLAVOR}
+FASTAPI_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}fastapi>=0.62.5:www/py-fastapi@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}multipart>=0.0.7:devel/py-multipart@${PY_FLAVOR}
+FLASK_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flask>=1.1:www/py-flask@${PY_FLAVOR}
+OPENTELEMETRY_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}opentelemetry-api<2:devel/py-opentelemetry-api@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}opentelemetry-sdk<2:devel/py-opentelemetry-sdk@${PY_FLAVOR}
+# NB: Switch to devel/py-pydantic once www/py-fastapi uses it
+PYDANTIC_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pydantic2>1.6.1:devel/py-pydantic2@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/devel/py-dj52-strawberry-graphql/distinfo b/devel/py-dj52-strawberry-graphql/distinfo
new file mode 100644
index 000000000000..591e1237a446
--- /dev/null
+++ b/devel/py-dj52-strawberry-graphql/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1749230708
+SHA256 (strawberry_graphql-0.271.0.tar.gz) = dfcf22c5b013915b78b64660ed40afc58081708cecce37879d4b89dac5dc356a
+SIZE (strawberry_graphql-0.271.0.tar.gz) = 207945
diff --git a/devel/py-dj52-strawberry-graphql/pkg-descr b/devel/py-dj52-strawberry-graphql/pkg-descr
new file mode 100644
index 000000000000..ea25df49f06d
--- /dev/null
+++ b/devel/py-dj52-strawberry-graphql/pkg-descr
@@ -0,0 +1,23 @@
+Strawberry is a developer friendly GraphQL library for Python, designed for
+modern development.
+
+* Type hints: Leverages Python type hints to provide a great developer
+ experience while creating GraphQL Libraries.
+
+* Async Support: Supports async/await out of the box, allowing you to write
+ your resolvers in a non-blocking way.
+
+* Extensible: Has support for schema and field extensions, allowing you to
+ extend the schema with custom logic.
+
+* Generics: Supports generics, allowing you to create reusable types that can
+ be used in multiple places.
+
+* Federation: Supports Federation, allowing you to create a federated GraphQL
+ schema.
+
+* Dataloaders: Comes with support for dataloaders, allowing you to batch
+ multiple queries into a single one.
+
+* Integrations: Has support for multiple integrations, allowing you to use it
+ with your favorite web framework.