diff options
Diffstat (limited to 'devel/py-dj52-strawberry-graphql')
-rw-r--r-- | devel/py-dj52-strawberry-graphql/Makefile | 74 | ||||
-rw-r--r-- | devel/py-dj52-strawberry-graphql/distinfo | 3 | ||||
-rw-r--r-- | devel/py-dj52-strawberry-graphql/pkg-descr | 23 |
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. |