net-mgmt/netbox: Create Django 5.1 consumers

* Django 4.2 is currently the "default" version in the ports tree due
  its long term support until April 2026.  Thus ports that are assigned
  to that version will exist until then.

  The following ports are required to make the upgrade of
  net-mgmt/netbox to the 4.2 release possible because it requires
  Django 5.1.

  All of the ports listed below were created on the basis of their
  respective original ports:

  - devel/py-dj51-django-rq
  - devel/py-dj51-strawberry-graphql
  - www/py-dj51-channels
  - www/py-dj51-django-auth-ldap
  - www/py-dj51-django-choices-field
  - www/py-dj51-django-cors-headers
  - www/py-dj51-django-debug-toolbar
  - www/py-dj51-django-filter
  - www/py-dj51-django-htmx
  - www/py-dj51-django-js-asset
  - www/py-dj51-django-mptt
  - www/py-dj51-django-prometheus
  - www/py-dj51-django-redis
  - www/py-dj51-django-rich
  - www/py-dj51-django-tables2
  - www/py-dj51-django-taggit
  - www/py-dj51-django-timezone-field
  - www/py-dj51-djangorestframework
  - www/py-dj51-drf-spectacular
  - www/py-dj51-drf-spectacular-sidecar
  - www/py-dj51-strawberry-graphql-django

  Assign the following ports to its maintainer who already
  maintain the Django 4.2 variants of them [1]:

  - devel/py-dj51-django-rq
  - www/py-dj51-channels
  - www/py-dj51-django-debug-toolbar
  - www/py-dj51-django-redis

Approved by:	sunpoet (implicit) [1]
This commit is contained in:
Kai Knoblich 2025-02-08 10:10:06 +01:00
parent 0622c9daec
commit db1f7321dd
68 changed files with 933 additions and 0 deletions

View file

@ -4796,6 +4796,8 @@
SUBDIR += py-distributed SUBDIR += py-distributed
SUBDIR += py-dj50-django-rq SUBDIR += py-dj50-django-rq
SUBDIR += py-dj50-strawberry-graphql SUBDIR += py-dj50-strawberry-graphql
SUBDIR += py-dj51-django-rq
SUBDIR += py-dj51-strawberry-graphql
SUBDIR += py-django-rq SUBDIR += py-django-rq
SUBDIR += py-dm-tree SUBDIR += py-dm-tree
SUBDIR += py-docformatter SUBDIR += py-docformatter

View file

@ -0,0 +1,41 @@
PORTNAME= django-rq
PORTVERSION= 3.0.0
CATEGORIES= devel python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Provides Django integration for RQ (Redis Queue)
WWW= https://github.com/rq/django-rq
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=3.2:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}redis>=3.5:databases/py-redis@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}rq>=2:devel/py-rq@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj51-django-redis>0:www/py-dj51-django-redis@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyyaml>=0:devel/py-pyyaml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}rq-scheduler>=0:devel/py-rq-scheduler@${PY_FLAVOR} \
redis-server:databases/redis
USES= python:3.10+
USE_PYTHON= autoplist concurrent distutils
TEST_ENV= PYTHONPATH="."
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
OPTIONS_DEFINE= SENTRY
SENTRY_DESC= Sentry support
SENTRY_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sentry-sdk>=1.0.0:devel/py-sentry-sdk@${PY_FLAVOR}
# https://github.com/rq/django-rq/blob/master/Makefile
do-test:
cd ${WRKSRC} && ${SETENV} ${TEST_ENV} ${LOCALBASE}/bin/django-admin test django_rq --settings=django_rq.tests.settings -v2
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1730574573
SHA256 (django-rq-3.0.0.tar.gz) = 7bdadb85d9909c118cf1ee1b9bdd1a74ebf141bf8f3c2de2409fcac6080f67ac
SIZE (django-rq-3.0.0.tar.gz) = 53356

View file

@ -0,0 +1,3 @@
Django integration with RQ, a Redis based Python queuing library. Django-RQ is a
simple app that allows you to configure your queues in django's settings.py and
easily use them in your project.

View file

@ -0,0 +1,73 @@
PORTNAME= strawberry-graphql
DISTVERSION= 0.258.0
CATEGORIES= devel python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
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}dj51-channels>=3.0.5:www/py-dj51-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}
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}django51>=3.2:www/py-django51@${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>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1737194612
SHA256 (strawberry_graphql-0.258.0.tar.gz) = 3975c638f751e9b87cefd5eb1a29c1f33e639b1f218f199578114fb839dec94c
SIZE (strawberry_graphql-0.258.0.tar.gz) = 202375

View file

@ -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.

View file

@ -1527,6 +1527,25 @@
SUBDIR += py-dj50-drf-spectacular SUBDIR += py-dj50-drf-spectacular
SUBDIR += py-dj50-drf-spectacular-sidecar SUBDIR += py-dj50-drf-spectacular-sidecar
SUBDIR += py-dj50-strawberry-graphql-django SUBDIR += py-dj50-strawberry-graphql-django
SUBDIR += py-dj51-channels
SUBDIR += py-dj51-django-auth-ldap
SUBDIR += py-dj51-django-choices-field
SUBDIR += py-dj51-django-cors-headers
SUBDIR += py-dj51-django-debug-toolbar
SUBDIR += py-dj51-django-filter
SUBDIR += py-dj51-django-htmx
SUBDIR += py-dj51-django-js-asset
SUBDIR += py-dj51-django-mptt
SUBDIR += py-dj51-django-prometheus
SUBDIR += py-dj51-django-redis
SUBDIR += py-dj51-django-rich
SUBDIR += py-dj51-django-tables2
SUBDIR += py-dj51-django-taggit
SUBDIR += py-dj51-django-timezone-field
SUBDIR += py-dj51-djangorestframework
SUBDIR += py-dj51-drf-spectacular
SUBDIR += py-dj51-drf-spectacular-sidecar
SUBDIR += py-dj51-strawberry-graphql-django
SUBDIR += py-django-admin-rangefilter SUBDIR += py-django-admin-rangefilter
SUBDIR += py-django-advanced-filters SUBDIR += py-django-advanced-filters
SUBDIR += py-django-allauth SUBDIR += py-django-allauth

View file

@ -0,0 +1,27 @@
PORTNAME= channels
PORTVERSION= 4.2.0
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Brings async, event-driven capabilities to Django
WWW= https://channels.readthedocs.io/en/latest/ \
https://github.com/django/channels
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}asgiref>=3.6.0<4:www/py-asgiref@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}django51>=4.2:www/py-django51@${PY_FLAVOR}
USES= python:3.10+
USE_PYTHON= autoplist concurrent pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1732202562
SHA256 (channels-4.2.0.tar.gz) = d9e707487431ba5dbce9af982970dab3b0efd786580fadb99e45dca5e39fdd59
SIZE (channels-4.2.0.tar.gz) = 26554

View file

@ -0,0 +1,4 @@
Channels augments Django to bring WebSocket, long-poll HTTP, task offloading and
other async support to your code, using familiar Django design patterns and a
flexible underlying framework that lets you not only customize behaviours but
also write support for your own protocols and needs.

View file

@ -0,0 +1,40 @@
PORTNAME= django-auth-ldap
PORTVERSION= 5.1.0
CATEGORIES= www security python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
DISTNAME= django_auth_ldap-${PORTVERSION}
MAINTAINER= kai@FreeBSD.org
COMMENT= LDAP integration for django.contrib.auth
WWW= https://github.com/django-auth-ldap/django-auth-ldap
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}setuptools-scm>=3.4:devel/py-setuptools-scm@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.2:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-ldap>=3.1:net/py-python-ldap@${PY_FLAVOR}
USES= python:3.10+
USE_PYTHON= autoplist concurrent pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
PORTDOCS= *
OPTIONS_DEFINE= DOCS
DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR}
post-build-DOCS-on:
${LOCALBASE}/bin/sphinx-build-${PYTHON_VER} -d ${WRKDIR} -b html ${WRKSRC}/docs ${WRKSRC}/build/sphinx/html
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
(cd ${WRKSRC}/build/sphinx/html && \
${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} \
"! -name .buildinfo -and ! -name objects.inv")
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1730477310
SHA256 (django_auth_ldap-5.1.0.tar.gz) = 9c607e8d9c53cf2a0ccafbe0acfc33eb1d1fd474c46ec52d30aee0dca1da9668
SIZE (django_auth_ldap-5.1.0.tar.gz) = 55059

View file

@ -0,0 +1,20 @@
Avoid the download of various intersphinx inventories during build. Only two
intersphinx mappings are used and the documentation can be built/used without
them.
--- docs/conf.py.orig 2022-06-12 10:26:47 UTC
+++ docs/conf.py
@@ -188,13 +188,3 @@ texinfo_documents = [
# -- Extension configuration -------------------------------------------------
# -- Options for intersphinx extension ---------------------------------------
-
-intersphinx_mapping = {
- "python": ("https://docs.python.org/3/", None),
- "django": (
- "https://docs.djangoproject.com/en/stable/",
- "https://docs.djangoproject.com/en/stable/_objects/",
- ),
- "pythonldap": ("https://www.python-ldap.org/en/latest/", None),
- "tox": ("https://tox.wiki/en/latest/", None),
-}

View file

@ -0,0 +1,4 @@
This is a Django authentication backend that authenticates against an LDAP
service. Configuration can be as simple as a single distinguished name template,
but there are many rich configuration options for working with users, groups,
and permissions.

View file

@ -0,0 +1,26 @@
PORTNAME= django-choices-field
DISTVERSION= 2.3.0
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
DISTNAME= django_choices_field-${DISTVERSION}
MAINTAINER= kai@FreeBSD.org
COMMENT= Django field that set/get TextChoices/IntegerChoices enumerations
WWW= https://github.com/bellini666/django-choices-field
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=3.2:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.0.0:devel/py-typing-extensions@${PY_FLAVOR}
USES= python:3.10+
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1711885476
SHA256 (django_choices_field-2.3.0.tar.gz) = bb0c85c79737ab98bfb9c0d9ddf98010d612c0585be767890e25fd192c3d1694
SIZE (django_choices_field-2.3.0.tar.gz) = 6448

View file

@ -0,0 +1,2 @@
This package provides a Django field that set/get the "TextChoices" and
"IntegerChoices" enumerations.

View file

@ -0,0 +1,27 @@
PORTNAME= django-cors-headers
PORTVERSION= 4.6.0
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
DISTNAME= django_cors_headers-${PORTVERSION}
MAINTAINER= kai@FreeBSD.org
COMMENT= Handles server headers required for Cross-Origin Resource Sharing
WWW= https://github.com/adamchainz/django-cors-headers
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.2:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}asgiref>=3.6:www/py-asgiref@${PY_FLAVOR}
USES= python:3.10+
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1730458015
SHA256 (django_cors_headers-4.6.0.tar.gz) = 14d76b4b4c8d39375baeddd89e4f08899051eeaf177cb02a29bd6eae8cf63aa8
SIZE (django_cors_headers-4.6.0.tar.gz) = 20961

View file

@ -0,0 +1,2 @@
A Django App that adds CORS (Cross-Origin Resource Sharing) headers to
responses.

View file

@ -0,0 +1,26 @@
PORTNAME= django-debug-toolbar
PORTVERSION= 5.0.1
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
DISTNAME= django_debug_toolbar-${PORTVERSION}
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Configurable set of panels to display debug information
WWW= https://github.com/django-commons/django-debug-toolbar
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.2.9:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sqlparse>=0.2.0:databases/py-sqlparse@${PY_FLAVOR}
USES= python:3.10+
USE_PYTHON= autoplist concurrent pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1737194262
SHA256 (django_debug_toolbar-5.0.1.tar.gz) = 296f6f18a80710e84fbb8361538ae5ec522a75ebe9ab67db34bcf1026cbeb420
SIZE (django_debug_toolbar-5.0.1.tar.gz) = 295982

View file

@ -0,0 +1,3 @@
The Django Debug Toolbar is a configurable set of panels that display various
debug information about the current request/response and when clicked, display
more details about the panel's content.

View file

@ -0,0 +1,25 @@
PORTNAME= django-filter
DISTVERSION= 24.3
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
DISTNAME= django_filter-${DISTVERSION}
MAINTAINER= kai@FreeBSD.org
COMMENT= Dynamic filtering for querysets with Django
WWW= https://github.com/carltongibson/django-filter
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.2<4:devel/py-flit-core@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.2:www/py-django51@${PY_FLAVOR}
USES= python:3.10+
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1722954212
SHA256 (django_filter-24.3.tar.gz) = d8ccaf6732afd21ca0542f6733b11591030fa98669f8d15599b358e24a2cd9c3
SIZE (django_filter-24.3.tar.gz) = 144444

View file

@ -0,0 +1,2 @@
Django-filter is a reusable Django application allowing users to declaratively
add dynamic QuerySet filtering from URL parameters.

View file

@ -0,0 +1,27 @@
PORTNAME= django-htmx
DISTVERSION= 1.21.0
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
DISTNAME= django_htmx-${DISTVERSION}
MAINTAINER= kai@FreeBSD.org
COMMENT= Extensions for using Django with htmx
WWW= https://github.com/adamchainz/django-htmx
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.2:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}asgiref>=3.6:www/py-asgiref@${PY_FLAVOR}
USES= python:3.10+
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1730458034
SHA256 (django_htmx-1.21.0.tar.gz) = 6ed3b42effd5980f22e68f36cd14ee4311bff3b6cb8435a89e27f45995691572
SIZE (django_htmx-1.21.0.tar.gz) = 9611

View file

@ -0,0 +1,3 @@
This package offers extensions for using Django with htmx, a library that
allows one to access modern browser features directly from HTML, rather than
using JavaScript (see https://htmx.org/).

View file

@ -0,0 +1,25 @@
PORTNAME= django-js-asset
DISTVERSION= 2.2.0
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
DISTNAME= django_js_asset-${DISTVERSION}
MAINTAINER= kai@FreeBSD.org
COMMENT= Insert script tags with additional attributes for django.forms.Media
WWW= https://github.com/matthiask/django-js-asset
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=3.2:www/py-django51@${PY_FLAVOR}
USES= python:3.10+
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1702633024
SHA256 (django_js_asset-2.2.0.tar.gz) = 0c57a82cae2317e83951d956110ce847f58ff0cdc24e314dbc18b35033917e94
SIZE (django_js_asset-2.2.0.tar.gz) = 7904

View file

@ -0,0 +1,2 @@
Insert script tags with additional attributes (such as "id" and "data" for
CSP-compatible data injection) for the django.forms.Media package.

View file

@ -0,0 +1,26 @@
PORTNAME= django-mptt
PORTVERSION= 0.16.0
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
DISTNAME= django_mptt-${PORTVERSION}
MAINTAINER= kai@FreeBSD.org
COMMENT= Utilities for implementing Modified Preorder Tree Traversal in Django
WWW= https://github.com/django-mptt/django-mptt
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=3.2:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj51-django-js-asset>0:www/py-dj51-django-js-asset@${PY_FLAVOR}
USES= python:3.10+
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1712382472
SHA256 (django_mptt-0.16.0.tar.gz) = 56c9606bf0b329b5f5afd55dd8bfd073612ea1d5999b10903b09de62bee84c8e
SIZE (django_mptt-0.16.0.tar.gz) = 69886

View file

@ -0,0 +1,2 @@
Utilities for implementing Modified Preorder Tree Traversal with your Django
Models and working with trees of Model instances.

View file

@ -0,0 +1,38 @@
PORTNAME= django-prometheus
PORTVERSION= 2.3.1
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
MAINTAINER= kai@FreeBSD.org
COMMENT= Export Django monitoring metrics for Prometheus.io
WWW= https://github.com/korfuri/django-prometheus
LICENSE= APACHE20
BUILD_DEPENDS= ${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}wheel>=0.40.0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=3.2:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}prometheus-client>=0.7:net-mgmt/py-prometheus-client@${PY_FLAVOR}
USES= python:3.10+
USE_PYTHON= autoplist pep517 pytest
TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
OPTIONS_GROUP= DATABASE CACHE
OPTIONS_GROUP_CACHE= MEMCACHED REDIS
OPTIONS_GROUP_DATABASE= MYSQL PGSQL
MEMCACHED_DESC= Memcached distributed memory caching support
MEMCACHED_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}python-memcached>=0:databases/py-python-memcached@${PY_FLAVOR}
MYSQL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mysqlclient>=0:databases/py-mysqlclient@${PY_FLAVOR}
PGSQL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}psycopg2>=0:databases/py-psycopg2@${PY_FLAVOR}
REDIS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj51-django-redis>=4.8:www/py-dj51-django-redis@${PY_FLAVOR}
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1683262385
SHA256 (django-prometheus-2.3.1.tar.gz) = f9c8b6c780c9419ea01043c63a437d79db2c33353451347894408184ad9c3e1e
SIZE (django-prometheus-2.3.1.tar.gz) = 24718

View file

@ -0,0 +1,11 @@
Relax version requirements of py-setuptools.
--- pyproject.toml.orig 2024-10-06 12:58:05 UTC
+++ pyproject.toml
@@ -1,5 +1,5 @@
[build-system]
-requires = [ "setuptools >= 67.7.2", "wheel >= 0.40.0"]
+requires = [ "setuptools", "wheel >= 0.40.0"]
build-backend = "setuptools.build_meta"
[tool.pytest.ini_options]

View file

@ -0,0 +1,13 @@
Remove py-pytest-runner as build time dependency because it is deprecated and
should be no longer used.
--- setup.py.orig 2024-10-01 12:41:04 UTC
+++ setup.py
@@ -40,7 +40,6 @@ setup(
long_description=LONG_DESCRIPTION,
long_description_content_type="text/markdown",
tests_require=["pytest", "pytest-django"],
- setup_requires=["pytest-runner"],
options={"bdist_wheel": {"universal": "1"}},
install_requires=[
"prometheus-client>=0.7",

View file

@ -0,0 +1,14 @@
This library exports Django monitoring metrics for Prometheus.io.
It provides support to monitor the following databases types:
* SQLite (via Django)
* PostgreSQL
* MySQL
In addition, caches can also be monitored:
* memcached
* Redis
It's even possible to export metrics of Django models and migrations.

View file

@ -0,0 +1,33 @@
PORTNAME= django-redis
PORTVERSION= 5.4.0
CATEGORIES= www databases python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Full featured Redis cache/session backend for Django
WWW= https://github.com/jazzband/django-redis
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=3.2:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}redis>=3:databases/py-redis@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}msgpack>=0:devel/py-msgpack@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-django>0:devel/py-pytest-django@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-mock>0:devel/py-pytest-mock@${PY_FLAVOR} \
redis-server:databases/redis
USES= python:3.10+
USE_PYTHON= autoplist concurrent distutils pytest
TEST_ENV= DJANGO_SETTINGS_MODULE=settings.sqlite \
PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
TEST_WRKSRC= ${WRKSRC}/tests
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1698348853
SHA256 (django-redis-5.4.0.tar.gz) = 6a02abaa34b0fea8bf9b707d2c363ab6adc7409950b2db93602e6cb292818c42
SIZE (django-redis-5.4.0.tar.gz) = 52567

View file

@ -0,0 +1,15 @@
Django-redis is a BSD Licensed, full featured Redis cache/session
backend for Django.
Why use django-redis?
* Modular client system (pluggable clients).
* Master-Slave support in the default client.
* Used in production in several projects as cache and session storage.
* Supports infinite timeouts.
* Python 3 support in same code base.
* Facilities for raw access to Redis client/connection pool.
* Highly configurable (can emulate memcached exception behavior, for
example).
* Unix sockets supported by default.
* Pluggable parsers.

View file

@ -0,0 +1,27 @@
PORTNAME= django-rich
PORTVERSION= 1.13.0
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
DISTNAME= django_rich-${PORTVERSION}
MAINTAINER= kai@FreeBSD.org
COMMENT= Extensions for using Rich with Django
WWW= https://github.com/adamchainz/django-rich
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.2:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}rich>=10.0.0:textproc/py-rich@${PY_FLAVOR}
USES= python:3.10+
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1730458158
SHA256 (django_rich-1.13.0.tar.gz) = 2a59a81ca3ba25202db7b6047aa322a8d5b866e1929f7fbea6059a3c8e4e420c
SIZE (django_rich-1.13.0.tar.gz) = 61060

View file

@ -0,0 +1,11 @@
This package provides Extensions for using Rich with the Django framework.
These extensions consist of the following subclasses:
* django_rich.management.RichCommand:
Subclass of Django's BaseCommand class that sets its self.console to a
Rich Console.
* django_rich.test.RichRunner:
Subclass of Django's DiscoverRunner with colourized outputs and nice
traceback rendering.

View file

@ -0,0 +1,30 @@
PORTNAME= django-tables2
DISTVERSION= 2.7.5
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
DISTNAME= django_tables2-${DISTVERSION}
MAINTAINER= kai@FreeBSD.org
COMMENT= Table/data-grid framework for Django
WWW= https://github.com/jieter/django-tables2
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.2:www/py-django51@${PY_FLAVOR}
USES= python:3.10+
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
OPTIONS_DEFINE= TABLIB
TABLIB_DESC= Enable support for exporting table datasets
TABLIB_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}tablib>=0:textproc/py-tablib@${PY_FLAVOR}
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1736247931
SHA256 (django_tables2-2.7.5.tar.gz) = fb5dcaa09379cf3947598ec7e1bd5f26ed63aafdee3b23963446763bbeac37bf
SIZE (django_tables2-2.7.5.tar.gz) = 128618

View file

@ -0,0 +1,3 @@
django-tables2 simplifies the task of turning sets of data into HTML tables.
It has native support for pagination and sorting, does for HTML tables what
django.forms does for HTML forms.

View file

@ -0,0 +1,28 @@
PORTNAME= django-taggit
PORTVERSION= 6.1.0
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
DISTNAME= django_taggit-${PORTVERSION}
MAINTAINER= kai@FreeBSD.org
COMMENT= Reusable Django application for simple tagging
WWW= https://github.com/jazzband/django-taggit
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.1:www/py-django51@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj51-djangorestframework>0:www/py-dj51-djangorestframework@${PY_FLAVOR}
USES= python:3.10+
USE_PYTHON= autoplist distutils
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
do-test:
@cd ${WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHON_CMD} -m django test --settings=tests.settings -v3
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1728224208
SHA256 (django_taggit-6.1.0.tar.gz) = c4d1199e6df34125dd36db5eb0efe545b254dec3980ce5dd80e6bab3e78757c3
SIZE (django_taggit-6.1.0.tar.gz) = 38151

View file

@ -0,0 +1 @@
django-taggit a simpler approach to tagging with Django.

View file

@ -0,0 +1,25 @@
PORTNAME= django-timezone-field
DISTVERSION= 7.1
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
DISTNAME= django_timezone_field-${DISTVERSION}
MAINTAINER= kai@FreeBSD.org
COMMENT= Provides database and form fields for pytz timezone objects for Django
WWW= https://github.com/mfogel/django-timezone-field
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=3.2:www/py-django51@${PY_FLAVOR}
USES= python:3.10+
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1737194529
SHA256 (django_timezone_field-7.1.tar.gz) = b3ef409d88a2718b566fabe10ea996f2838bc72b22d3a2900c0aa905c761380c
SIZE (django_timezone_field-7.1.tar.gz) = 13727

View file

@ -0,0 +1,2 @@
Provides database, form, and REST framework fields for "zoneinfo" and "pytz"
timezone objects for Django.

View file

@ -0,0 +1,23 @@
PORTNAME= djangorestframework
PORTVERSION= 3.15.2
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
MAINTAINER= kai@FreeBSD.org
COMMENT= Django REST framework
WWW= https://www.django-rest-framework.org/
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.md
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=3.0:www/py-django51@${PY_FLAVOR}
USES= python:3.10+
USE_PYTHON= distutils autoplist
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1719292736
SHA256 (djangorestframework-3.15.2.tar.gz) = 36fe88cd2d6c6bec23dca9804bab2ba5517a8bb9d8f47ebc68981b56840107ad
SIZE (djangorestframework-3.15.2.tar.gz) = 1067420

View file

@ -0,0 +1,2 @@
Django REST framework is a powerful and flexible toolkit that makes
it easy to build Web APIs.

View file

@ -0,0 +1,24 @@
PORTNAME= drf-spectacular-sidecar
DISTVERSION= 2025.2.1
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
DISTNAME= drf_spectacular_sidecar-${DISTVERSION}
MAINTAINER= kai@FreeBSD.org
COMMENT= Serve self-contained Swagger UI/Redoc distribution builds with Django
WWW= https://github.com/tfranzel/drf-spectacular
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=2.2:www/py-django51@${PY_FLAVOR}
USES= python:3.10+
USE_PYTHON= autoplist distutils
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1738772194
SHA256 (drf_spectacular_sidecar-2025.2.1.tar.gz) = ca9507c5fe708680d6b8eda96928f3cf3ffc07e8d67678778bcd2e80f9f2baae
SIZE (drf_spectacular_sidecar-2025.2.1.tar.gz) = 2390256

View file

@ -0,0 +1,5 @@
Serve self-contained distribution builds of Swagger UI and Redoc with Django
either via runserver or collectstatic.
This Django app is an optional addition to drf-spectacular, but does not depend
on it. It may also be used independently.

View file

@ -0,0 +1,35 @@
PORTNAME= drf-spectacular
DISTVERSION= 0.28.0
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
DISTNAME= drf_spectacular-${DISTVERSION}
MAINTAINER= kai@FreeBSD.org
COMMENT= Sane/flexible OpenAPI 3 schema generation for Django REST framework
WWW= https://github.com/tfranzel/drf-spectacular
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=2.2:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj51-djangorestframework>=3.10.3:www/py-dj51-djangorestframework@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}inflection>=0.3.1:devel/py-inflection@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}jsonschema>=2.6.0:devel/py-jsonschema@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}uritemplate>=2.0.0:net/py-uritemplate@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyyaml>=5.1:devel/py-pyyaml@${PY_FLAVOR}
USES= python:3.10+
USE_PYTHON= autoplist distutils
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
OPTIONS_DEFINE= SIDECAR
OPTIONS_DEFAULT= SIDECAR
SIDECAR_DESC= Enable self-contained Swagger/Redoc UI installation
SIDECAR_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj51-drf-spectacular-sidecar>0:www/py-dj51-drf-spectacular-sidecar@${PY_FLAVOR}
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1733482018
SHA256 (drf_spectacular-0.28.0.tar.gz) = 2c778a47a40ab2f5078a7c42e82baba07397bb35b074ae4680721b2805943061
SIZE (drf_spectacular-0.28.0.tar.gz) = 237849

View file

@ -0,0 +1,24 @@
This project has 3 goals:
* Extract as much schema information from DRF as possible.
* Provide flexibility to make the schema usable in the real world (not only
toy examples).
* Generate a schema that works well with the most popular client generators.
The code is a heavily modified fork of the DRF OpenAPI generator, which is/was
lacking all of the below listed features:
* Serializers modelled as components. (arbitrary nesting + recursion supported)
* @extend_schema decorator for customization of APIView, Viewsets,
function-based views, and @action
* Authentication support (DRF natives included, easily extendable)
* Custom serializer class support (easily extendable)
* SerializerMethodField() type via type hinting or @extend_schema_field
* i18n support, Tags extraction, Description extraction from docstrings
* Request/response/parameter examples, Callback operations
* Vendor specification extensions (x-*) in info, operations, parameters,
components, and security schemes
* Sane fallbacks and sane operation_id naming (based on path)
* Schema serving with SpectacularAPIView (Redoc and Swagger-UI views are
also available)
* Optional input/output serializer component split

View file

@ -0,0 +1,37 @@
PORTNAME= strawberry-graphql-django
DISTVERSION= 0.52.0
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
DISTNAME= strawberry_graphql_django-${DISTVERSION}
MAINTAINER= kai@FreeBSD.org
COMMENT= Strawberry GraphQL Django extension
WWW= https://github.com/strawberry-graphql/strawberry-django
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.2:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}asgiref>=3.8:www/py-asgiref@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj51-strawberry-graphql>=0.236.0:devel/py-dj51-strawberry-graphql@${PY_FLAVOR}
USES= python:3.10+
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
OPTIONS_DEFINE= DEBUG-TOOLBAR ENUM
OPTIONS_DEFAULT= DEBUG-TOOLBAR ENUM
DEBUG-TOOLBAR_DESC= Debug support
ENUM_DESC= Integration for Django's TextChoices/IntegerChoices enumerations
DEBUG-TOOLBAR_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj51-django-debug-toolbar>=3.4:www/py-dj51-django-debug-toolbar@${PY_FLAVOR}
ENUM_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj51-django-choices-field>=2.2.2:www/py-dj51-django-choices-field@${PY_FLAVOR}
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1737195003
SHA256 (strawberry_graphql_django-0.52.0.tar.gz) = ac43b876f9c5c35bcdc35fb4516e0cb86756a989f40108293e5a532b1a156d33
SIZE (strawberry_graphql_django-0.52.0.tar.gz) = 76691

View file

@ -0,0 +1,15 @@
This package provides powerful tools to generate GraphQL types, queries,
mutations and resolvers from Django models.
Supported Features:
* GraphQL type generation from models
* Filtering, pagination and ordering
* Basic create, retrieve, update and delete (CRUD) types and mutations
* Basic Django auth support, current user query, login and logout mutations
* Django sync and async views
* Permission extension using django's permissioning system
* Relay support with automatic resolvers generation
* Query optimization to improve performance and avoid common pitfalls (e.g n+1)
* Debug Toolbar integration with graphiql to display metrics like SQL queries
* Unit test integration