diff --git a/devel/Makefile b/devel/Makefile --- a/devel/Makefile +++ b/devel/Makefile @@ -4595,6 +4595,8 @@ SUBDIR += py-distributed SUBDIR += py-dj41-django-rq SUBDIR += py-dj41-graphene-django + SUBDIR += py-dj42-django-rq + SUBDIR += py-dj42-graphene-django SUBDIR += py-django-rq SUBDIR += py-dockerpty SUBDIR += py-docopt diff --git a/devel/py-dj42-django-rq/Makefile b/devel/py-dj42-django-rq/Makefile new file mode 100644 --- /dev/null +++ b/devel/py-dj42-django-rq/Makefile @@ -0,0 +1,35 @@ +PORTNAME= django-rq +PORTVERSION= 2.8.1 +CATEGORIES= devel python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42- + +MAINTAINER= kai@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}django42>=2.0:www/py-django42@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}redis>=3:databases/py-redis@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rq>=1.11:devel/py-rq@${PY_FLAVOR} +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}coverage>=0:devel/py-coverage@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docutils>=0,1:textproc/py-docutils@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}mock>=0:devel/py-mock@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}yaml>=0:devel/py-yaml@${PY_FLAVOR} \ + redis-server:databases/redis + +USES= python +USE_PYTHON= autoplist concurrent distutils + +NO_ARCH= yes + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +# https://github.com/rq/django-rq/blob/master/Makefile +do-test: + cd ${WRKSRC} && coverage-${PYTHON_VER} run ${LOCALBASE}/bin/django-admin.py test django_rq --settings=django_rq.tests.settings --pythonpath=. + cd ${WRKSRC} && ${PYTHON_CMD} setup.py check --metadata --restructuredtext --strict + +.include diff --git a/devel/py-dj42-django-rq/distinfo b/devel/py-dj42-django-rq/distinfo new file mode 100644 --- /dev/null +++ b/devel/py-dj42-django-rq/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1685162124 +SHA256 (django-rq-2.8.1.tar.gz) = ff053aa4d1b1e1acc47c99b4a21b514de8745894c00d1e6f4abc8b37d35d66d6 +SIZE (django-rq-2.8.1.tar.gz) = 46955 diff --git a/devel/py-dj42-django-rq/files/patch-setup.py b/devel/py-dj42-django-rq/files/patch-setup.py new file mode 100644 --- /dev/null +++ b/devel/py-dj42-django-rq/files/patch-setup.py @@ -0,0 +1,11 @@ +--- setup.py.orig 2023-05-14 01:27:18 UTC ++++ setup.py +@@ -14,7 +14,7 @@ setup( + zip_safe=False, + include_package_data=True, + package_data={'': ['README.rst']}, +- install_requires=['django>=2.0', 'rq>=1.14', 'redis>=3'], ++ install_requires=['django>=2.0', 'rq>=1.11', 'redis>=3'], + extras_require={ + 'Sentry': ['raven>=6.1.0'], + 'testing': ['mock>=2.0.0'], diff --git a/devel/py-dj42-django-rq/pkg-descr b/devel/py-dj42-django-rq/pkg-descr new file mode 100644 --- /dev/null +++ b/devel/py-dj42-django-rq/pkg-descr @@ -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. diff --git a/devel/py-dj42-graphene-django/Makefile b/devel/py-dj42-graphene-django/Makefile new file mode 100644 --- /dev/null +++ b/devel/py-dj42-graphene-django/Makefile @@ -0,0 +1,36 @@ +PORTNAME= graphene-django +PORTVERSION= 3.0.0 +CATEGORIES= devel python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42- + +MAINTAINER= kai@FreeBSD.org +COMMENT= Graphene Django integration +WWW= https://github.com/graphql-python/graphene-django + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=3.2:www/py-django42@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}graphene>=3.0<4:devel/py-graphene@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}graphql-core>=3.1.0<4:devel/py-graphql-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}graphql-relay>=3.1.1<4:devel/py-graphql-relay@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}promise>=2.1:devel/py-promise@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}text-unidecode>=0:converters/py-text-unidecode@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent distutils + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +PORTSCOUT= ignore:1 + +OPTIONS_DEFINE= REST_FRAMEWORK +OPTIONS_DEFAULT=REST_FRAMEWORK +REST_FRAMEWORK_DESC= REST framework support + +REST_FRAMEWORK_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj42-djangorestframework>=3.6.3:www/py-dj42-djangorestframework@${PY_FLAVOR} + +.include diff --git a/devel/py-dj42-graphene-django/distinfo b/devel/py-dj42-graphene-django/distinfo new file mode 100644 --- /dev/null +++ b/devel/py-dj42-graphene-django/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1686153295 +SHA256 (graphene-django-3.0.0.tar.gz) = 018a8dc4736d99b5bb4a15d7fd0b46c98010e9201cb52a290f6d1f16ae6fefda +SIZE (graphene-django-3.0.0.tar.gz) = 77525 diff --git a/devel/py-dj42-graphene-django/files/patch-setup.py b/devel/py-dj42-graphene-django/files/patch-setup.py new file mode 100644 --- /dev/null +++ b/devel/py-dj42-graphene-django/files/patch-setup.py @@ -0,0 +1,10 @@ +--- setup.py.orig 2020-12-31 06:55:53 UTC ++++ setup.py +@@ -68,7 +68,6 @@ setup( + "promise>=2.1", + "text-unidecode", + ], +- setup_requires=["pytest-runner"], + tests_require=tests_require, + rest_framework_require=rest_framework_require, + extras_require={ diff --git a/devel/py-dj42-graphene-django/pkg-descr b/devel/py-dj42-graphene-django/pkg-descr new file mode 100644 --- /dev/null +++ b/devel/py-dj42-graphene-django/pkg-descr @@ -0,0 +1 @@ +A Django integration for Graphene. diff --git a/www/Makefile b/www/Makefile --- a/www/Makefile +++ b/www/Makefile @@ -1494,6 +1494,22 @@ SUBDIR += py-dj41-drf-spectacular SUBDIR += py-dj41-drf-spectacular-sidecar SUBDIR += py-dj41-drf-yasg + SUBDIR += py-dj42-django-auth-ldap + SUBDIR += py-dj42-django-cors-headers + SUBDIR += py-dj42-django-debug-toolbar + SUBDIR += py-dj42-django-filter + SUBDIR += py-dj42-django-graphiql-debug-toolbar + SUBDIR += py-dj42-django-js-asset + SUBDIR += py-dj42-django-mptt + SUBDIR += py-dj42-django-prometheus + SUBDIR += py-dj42-django-redis + SUBDIR += py-dj42-django-rich + SUBDIR += py-dj42-django-tables2 + SUBDIR += py-dj42-django-taggit + SUBDIR += py-dj42-django-timezone-field + SUBDIR += py-dj42-djangorestframework + SUBDIR += py-dj42-drf-spectacular + SUBDIR += py-dj42-drf-spectacular-sidecar SUBDIR += py-django-admin-rangefilter SUBDIR += py-django-advanced-filters SUBDIR += py-django-allauth diff --git a/www/py-dj42-django-auth-ldap/Makefile b/www/py-dj42-django-auth-ldap/Makefile new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-auth-ldap/Makefile @@ -0,0 +1,39 @@ +PORTNAME= django-auth-ldap +PORTVERSION= 4.4.0 +CATEGORIES= www security python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42- + +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}django42>=3.2:www/py-django42@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}ldap>=3.1:net/py-ldap@${PY_FLAVOR} + +USES= python +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 diff --git a/www/py-dj42-django-auth-ldap/distinfo b/www/py-dj42-django-auth-ldap/distinfo new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-auth-ldap/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1690103450 +SHA256 (django-auth-ldap-4.4.0.tar.gz) = 797931ac5d55c4ca14c179d5892420cc2a98aa81e44323d595f5419c1b45c306 +SIZE (django-auth-ldap-4.4.0.tar.gz) = 53117 diff --git a/www/py-dj42-django-auth-ldap/files/patch-docs_conf.py b/www/py-dj42-django-auth-ldap/files/patch-docs_conf.py new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-auth-ldap/files/patch-docs_conf.py @@ -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), +-} diff --git a/www/py-dj42-django-auth-ldap/pkg-descr b/www/py-dj42-django-auth-ldap/pkg-descr new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-auth-ldap/pkg-descr @@ -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. diff --git a/www/py-dj42-django-cors-headers/Makefile b/www/py-dj42-django-cors-headers/Makefile new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-cors-headers/Makefile @@ -0,0 +1,25 @@ +PORTNAME= django-cors-headers +PORTVERSION= 4.2.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42- +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}django42>=3.2:www/py-django42@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist pep517 + +NO_ARCH= yes +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +.include diff --git a/www/py-dj42-django-cors-headers/distinfo b/www/py-dj42-django-cors-headers/distinfo new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-cors-headers/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1689168127 +SHA256 (django_cors_headers-4.2.0.tar.gz) = f9749c6410fe738278bc2b6ef17f05195bc7b251693c035752d8257026af024f +SIZE (django_cors_headers-4.2.0.tar.gz) = 21183 diff --git a/www/py-dj42-django-cors-headers/pkg-descr b/www/py-dj42-django-cors-headers/pkg-descr new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-cors-headers/pkg-descr @@ -0,0 +1,2 @@ +A Django App that adds CORS (Cross-Origin Resource Sharing) headers to +responses. diff --git a/www/py-dj42-django-debug-toolbar/Makefile b/www/py-dj42-django-debug-toolbar/Makefile new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-debug-toolbar/Makefile @@ -0,0 +1,26 @@ +PORTNAME= django-debug-toolbar +PORTVERSION= 4.2.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42- +DISTNAME= django_debug_toolbar-${PORTVERSION} + +MAINTAINER= kai@FreeBSD.org +COMMENT= Configurable set of panels to display debug information +WWW= https://github.com/jazzband/django-debug-toolbar + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=3.2.4:www/py-django42@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}sqlparse>=0.2.0:databases/py-sqlparse@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*django-debug-toolbar + +.include diff --git a/www/py-dj42-django-debug-toolbar/distinfo b/www/py-dj42-django-debug-toolbar/distinfo new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-debug-toolbar/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1692211819 +SHA256 (django_debug_toolbar-4.2.0.tar.gz) = bc7fdaafafcdedefcc67a4a5ad9dac96efd6e41db15bc74d402a54a2ba4854dc +SIZE (django_debug_toolbar-4.2.0.tar.gz) = 259709 diff --git a/www/py-dj42-django-debug-toolbar/pkg-descr b/www/py-dj42-django-debug-toolbar/pkg-descr new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-debug-toolbar/pkg-descr @@ -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. diff --git a/www/py-dj42-django-filter/Makefile b/www/py-dj42-django-filter/Makefile new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-filter/Makefile @@ -0,0 +1,23 @@ +PORTNAME= django-filter +DISTVERSION= 23.2 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42- + +MAINTAINER= kai@FreeBSD.org +COMMENT= Dynamic filtering for querysets with Django +WWW= https://github.com/carltongibson/django-filter + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=3.2:www/py-django42@${PY_FLAVOR} + +USES= python +USE_PYTHON= distutils autoplist + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +.include diff --git a/www/py-dj42-django-filter/distinfo b/www/py-dj42-django-filter/distinfo new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-filter/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1683382975 +SHA256 (django-filter-23.2.tar.gz) = 2fe15f78108475eda525692813205fa6f9e8c1caf1ae65daa5862d403c6dbf00 +SIZE (django-filter-23.2.tar.gz) = 139433 diff --git a/www/py-dj42-django-filter/pkg-descr b/www/py-dj42-django-filter/pkg-descr new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-filter/pkg-descr @@ -0,0 +1,2 @@ +Django-filter is a reusable Django application allowing users to declaratively +add dynamic QuerySet filtering from URL parameters. diff --git a/www/py-dj42-django-graphiql-debug-toolbar/Makefile b/www/py-dj42-django-graphiql-debug-toolbar/Makefile new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-graphiql-debug-toolbar/Makefile @@ -0,0 +1,25 @@ +PORTNAME= django-graphiql-debug-toolbar +DISTVERSION= 0.2.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42- + +MAINTAINER= kai@FreeBSD.org +COMMENT= Django Debug Toolbar for GraphiQL IDE +WWW= https://github.com/flavors/django-graphiql-debug-toolbar + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=2.2:www/py-django42@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj42-graphene-django>=2.0.0:devel/py-dj42-graphene-django@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj42-django-debug-toolbar>=3.1:www/py-dj42-django-debug-toolbar@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist distutils + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +.include diff --git a/www/py-dj42-django-graphiql-debug-toolbar/distinfo b/www/py-dj42-django-graphiql-debug-toolbar/distinfo new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-graphiql-debug-toolbar/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1630337959 +SHA256 (django-graphiql-debug-toolbar-0.2.0.tar.gz) = aec7a9e096594123d9fc359a583da794a0020b5391d941dda584ce1e667e0afd +SIZE (django-graphiql-debug-toolbar-0.2.0.tar.gz) = 5000 diff --git a/www/py-dj42-django-graphiql-debug-toolbar/pkg-descr b/www/py-dj42-django-graphiql-debug-toolbar/pkg-descr new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-graphiql-debug-toolbar/pkg-descr @@ -0,0 +1,2 @@ +This package is an extension for Django Debug Toolbar which enables support +for debugging GraphiQL queries in Django Projects. diff --git a/www/py-dj42-django-js-asset/Makefile b/www/py-dj42-django-js-asset/Makefile new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-js-asset/Makefile @@ -0,0 +1,25 @@ +PORTNAME= django-js-asset +DISTVERSION= 2.1.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42- +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}django42>=3.2:www/py-django42@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist pep517 + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +.include diff --git a/www/py-dj42-django-js-asset/distinfo b/www/py-dj42-django-js-asset/distinfo new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-js-asset/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1689168356 +SHA256 (django_js_asset-2.1.0.tar.gz) = be6f69ae5c4865617aa7726c48eddb64089a1e7d4ea7d22a35a3beb8282020f6 +SIZE (django_js_asset-2.1.0.tar.gz) = 7734 diff --git a/www/py-dj42-django-js-asset/pkg-descr b/www/py-dj42-django-js-asset/pkg-descr new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-js-asset/pkg-descr @@ -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. diff --git a/www/py-dj42-django-mptt/Makefile b/www/py-dj42-django-mptt/Makefile new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-mptt/Makefile @@ -0,0 +1,24 @@ +PORTNAME= django-mptt +PORTVERSION= 0.14.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42- + +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 + +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=2.2:www/py-django42@${PY_FLAVOR}\ + ${PYTHON_PKGNAMEPREFIX}dj42-django-js-asset>0:www/py-dj42-django-js-asset@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist distutils + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +.include diff --git a/www/py-dj42-django-mptt/distinfo b/www/py-dj42-django-mptt/distinfo new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-mptt/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1665308477 +SHA256 (django-mptt-0.14.0.tar.gz) = 2c92a2b1614c53086278795ccf50580cf1f9b8564f3ff03055dd62bab5987711 +SIZE (django-mptt-0.14.0.tar.gz) = 103453 diff --git a/www/py-dj42-django-mptt/pkg-descr b/www/py-dj42-django-mptt/pkg-descr new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-mptt/pkg-descr @@ -0,0 +1,2 @@ +Utilities for implementing Modified Preorder Tree Traversal with your Django +Models and working with trees of Model instances. diff --git a/www/py-dj42-django-prometheus/Makefile b/www/py-dj42-django-prometheus/Makefile new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-prometheus/Makefile @@ -0,0 +1,37 @@ +PORTNAME= django-prometheus +PORTVERSION= 2.3.1 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42- + +MAINTAINER= kai@FreeBSD.org +COMMENT= Export Django monitoring metrics for Prometheus.io +WWW= https://github.com/korfuri/django-prometheus + +LICENSE= APACHE20 + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-runner>0:devel/py-pytest-runner@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=3.2:www/py-django42@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}prometheus-client>=0.7:net-mgmt/py-prometheus-client@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist distutils 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}dj42-django-redis>=4.8:www/py-dj42-django-redis@${PY_FLAVOR} + +.include diff --git a/www/py-dj42-django-prometheus/distinfo b/www/py-dj42-django-prometheus/distinfo new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-prometheus/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1683262385 +SHA256 (django-prometheus-2.3.1.tar.gz) = f9c8b6c780c9419ea01043c63a437d79db2c33353451347894408184ad9c3e1e +SIZE (django-prometheus-2.3.1.tar.gz) = 24718 diff --git a/www/py-dj42-django-prometheus/pkg-descr b/www/py-dj42-django-prometheus/pkg-descr new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-prometheus/pkg-descr @@ -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. diff --git a/www/py-dj42-django-redis/Makefile b/www/py-dj42-django-redis/Makefile new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-redis/Makefile @@ -0,0 +1,30 @@ +PORTNAME= django-redis +PORTVERSION= 5.3.0 +CATEGORIES= www databases python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42- + +MAINTAINER= kai@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}django42>=3.2:www/py-django42@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}redis>=3:databases/py-redis@${PY_FLAVOR} +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hiredis>=0:databases/py-hiredis@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}mock>=0:devel/py-mock@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}msgpack>=0:devel/py-msgpack@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent distutils + +NO_ARCH= yes + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +do-test: + @cd ${WRKSRC}/tests && ${PYTHON_CMD} runtests.py + +.include diff --git a/www/py-dj42-django-redis/distinfo b/www/py-dj42-django-redis/distinfo new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-redis/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1688166346 +SHA256 (django-redis-5.3.0.tar.gz) = 8bc5793ec06b28ea802aad85ec437e7646511d4e571e07ccad19cfed8b9ddd44 +SIZE (django-redis-5.3.0.tar.gz) = 44800 diff --git a/www/py-dj42-django-redis/pkg-descr b/www/py-dj42-django-redis/pkg-descr new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-redis/pkg-descr @@ -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. diff --git a/www/py-dj42-django-rich/Makefile b/www/py-dj42-django-rich/Makefile new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-rich/Makefile @@ -0,0 +1,27 @@ +PORTNAME= django-rich +PORTVERSION= 1.7.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42- +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}django42>=3.2:www/py-django42@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rich>=10.0.0:textproc/py-rich@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist pep517 + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +.include diff --git a/www/py-dj42-django-rich/distinfo b/www/py-dj42-django-rich/distinfo new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-rich/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1689051775 +SHA256 (django_rich-1.7.0.tar.gz) = a21d92db4cf9b8e84b69df48f04337df90620758b92f0a07e8e60066c2fd6bdc +SIZE (django_rich-1.7.0.tar.gz) = 58968 diff --git a/www/py-dj42-django-rich/pkg-descr b/www/py-dj42-django-rich/pkg-descr new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-rich/pkg-descr @@ -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. diff --git a/www/py-dj42-django-tables2/Makefile b/www/py-dj42-django-tables2/Makefile new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-tables2/Makefile @@ -0,0 +1,28 @@ +PORTNAME= django-tables2 +DISTVERSION= 2.6.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42- + +MAINTAINER= kai@FreeBSD.org +COMMENT= Table/data-grid framework for Django +WWW= https://github.com/jieter/django-tables2 + +LICENSE= BSD2CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=3.2:www/py-django42@${PY_FLAVOR} + +USES= python +USE_PYTHON= distutils autoplist + +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 diff --git a/www/py-dj42-django-tables2/distinfo b/www/py-dj42-django-tables2/distinfo new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-tables2/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1688911162 +SHA256 (django-tables2-2.6.0.tar.gz) = 479eed04007cc04bcf764a6fb7a5e3955d94b878ba7f3a4bd4edbd2f7769e08d +SIZE (django-tables2-2.6.0.tar.gz) = 79370 diff --git a/www/py-dj42-django-tables2/pkg-descr b/www/py-dj42-django-tables2/pkg-descr new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-tables2/pkg-descr @@ -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. diff --git a/www/py-dj42-django-taggit/Makefile b/www/py-dj42-django-taggit/Makefile new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-taggit/Makefile @@ -0,0 +1,27 @@ +PORTNAME= django-taggit +PORTVERSION= 4.0.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42- + +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}django42>=3.2:www/py-django42@${PY_FLAVOR} +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj42-djangorestframework>0:www/py-dj42-djangorestframework@${PY_FLAVOR} + +USES= python +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 diff --git a/www/py-dj42-django-taggit/distinfo b/www/py-dj42-django-taggit/distinfo new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-taggit/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1683452279 +SHA256 (django-taggit-4.0.0.tar.gz) = 4d52de9d37245a9b9f98c0ec71fdccf1d2283e38e8866d40a7ae6a3b6787a161 +SIZE (django-taggit-4.0.0.tar.gz) = 58638 diff --git a/www/py-dj42-django-taggit/pkg-descr b/www/py-dj42-django-taggit/pkg-descr new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-taggit/pkg-descr @@ -0,0 +1 @@ +django-taggit a simpler approach to tagging with Django. diff --git a/www/py-dj42-django-timezone-field/Makefile b/www/py-dj42-django-timezone-field/Makefile new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-timezone-field/Makefile @@ -0,0 +1,31 @@ +PORTNAME= django-timezone-field +DISTVERSION= 6.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42- +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}django42>=3.2:www/py-django42@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist pep517 + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +.include + +.if ${PYTHON_REL} < 30900 +RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}backports.zoneinfo>=0.2.1<0.3.0:devel/py-backports.zoneinfo@${PY_FLAVOR} +.endif + +.include diff --git a/www/py-dj42-django-timezone-field/distinfo b/www/py-dj42-django-timezone-field/distinfo new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-timezone-field/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1694104210 +SHA256 (django_timezone_field-6.0.tar.gz) = b0c6faf495cc22b5a8367250b9a13929c9149273e42ae8ae04e5f6e4245d488f +SIZE (django_timezone_field-6.0.tar.gz) = 12067 diff --git a/www/py-dj42-django-timezone-field/files/patch-timezone__field_backends_zoneinfo.py b/www/py-dj42-django-timezone-field/files/patch-timezone__field_backends_zoneinfo.py new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-timezone-field/files/patch-timezone__field_backends_zoneinfo.py @@ -0,0 +1,16 @@ +Remove the "Factory" timezone as it causes following error if the system +zoneinfo data is used: + +ValueError: Invalid STD format in b'0' + +--- timezone_field/backends/zoneinfo.py.orig 2023-09-09 10:35:09 UTC ++++ timezone_field/backends/zoneinfo.py +@@ -10,6 +10,8 @@ class ZoneInfoBackend(TimeZoneBackend): + utc_tzobj = zoneinfo.ZoneInfo("UTC") + all_tzstrs = zoneinfo.available_timezones() + base_tzstrs = zoneinfo.available_timezones() ++ all_tzstrs.discard("Factory") ++ base_tzstrs.discard("Factory") + + def is_tzobj(self, value): + return isinstance(value, zoneinfo.ZoneInfo) diff --git a/www/py-dj42-django-timezone-field/pkg-descr b/www/py-dj42-django-timezone-field/pkg-descr new file mode 100644 --- /dev/null +++ b/www/py-dj42-django-timezone-field/pkg-descr @@ -0,0 +1 @@ +Provides database and form fields for pytz timezone objects for Django. diff --git a/www/py-dj42-djangorestframework/Makefile b/www/py-dj42-djangorestframework/Makefile new file mode 100644 --- /dev/null +++ b/www/py-dj42-djangorestframework/Makefile @@ -0,0 +1,23 @@ +PORTNAME= djangorestframework +PORTVERSION= 3.14.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42- + +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}django42>=3.0:www/py-django42@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytz>=0:devel/py-pytz@${PY_FLAVOR} + +USES= python +USE_PYTHON= distutils autoplist + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} +NO_ARCH= yes + +.include diff --git a/www/py-dj42-djangorestframework/distinfo b/www/py-dj42-djangorestframework/distinfo new file mode 100644 --- /dev/null +++ b/www/py-dj42-djangorestframework/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1665309069 +SHA256 (djangorestframework-3.14.0.tar.gz) = 579a333e6256b09489cbe0a067e66abe55c6595d8926be6b99423786334350c8 +SIZE (djangorestframework-3.14.0.tar.gz) = 1055343 diff --git a/www/py-dj42-djangorestframework/pkg-descr b/www/py-dj42-djangorestframework/pkg-descr new file mode 100644 --- /dev/null +++ b/www/py-dj42-djangorestframework/pkg-descr @@ -0,0 +1,2 @@ +Django REST framework is a powerful and flexible toolkit that makes +it easy to build Web APIs. diff --git a/www/py-dj42-drf-spectacular-sidecar/Makefile b/www/py-dj42-drf-spectacular-sidecar/Makefile new file mode 100644 --- /dev/null +++ b/www/py-dj42-drf-spectacular-sidecar/Makefile @@ -0,0 +1,23 @@ +PORTNAME= drf-spectacular-sidecar +DISTVERSION= 2023.9.1 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42- + +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}django42>=2.2:www/py-django42@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist distutils + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +.include diff --git a/www/py-dj42-drf-spectacular-sidecar/distinfo b/www/py-dj42-drf-spectacular-sidecar/distinfo new file mode 100644 --- /dev/null +++ b/www/py-dj42-drf-spectacular-sidecar/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1694104367 +SHA256 (drf-spectacular-sidecar-2023.9.1.tar.gz) = 05a0819adf37844307671988383b6045e078cfd688ee23ad66c6311b04fe92aa +SIZE (drf-spectacular-sidecar-2023.9.1.tar.gz) = 2428069 diff --git a/www/py-dj42-drf-spectacular-sidecar/pkg-descr b/www/py-dj42-drf-spectacular-sidecar/pkg-descr new file mode 100644 --- /dev/null +++ b/www/py-dj42-drf-spectacular-sidecar/pkg-descr @@ -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. diff --git a/www/py-dj42-drf-spectacular/Makefile b/www/py-dj42-drf-spectacular/Makefile new file mode 100644 --- /dev/null +++ b/www/py-dj42-drf-spectacular/Makefile @@ -0,0 +1,34 @@ +PORTNAME= drf-spectacular +DISTVERSION= 0.26.4 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42- + +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}django42>=2.2:www/py-django42@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj42-djangorestframework>=3.10.3:www/py-dj42-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}yaml>=5.1:devel/py-yaml@${PY_FLAVOR} + +USES= python +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}dj42-drf-spectacular-sidecar>0:www/py-dj42-drf-spectacular-sidecar@${PY_FLAVOR} + +.include diff --git a/www/py-dj42-drf-spectacular/distinfo b/www/py-dj42-drf-spectacular/distinfo new file mode 100644 --- /dev/null +++ b/www/py-dj42-drf-spectacular/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1690790119 +SHA256 (drf-spectacular-0.26.4.tar.gz) = 8f5a8f87353d1bb8dcb3f3909b7109b2dcbe1d91f3e069409cf322963e140bd6 +SIZE (drf-spectacular-0.26.4.tar.gz) = 219010 diff --git a/www/py-dj42-drf-spectacular/pkg-descr b/www/py-dj42-drf-spectacular/pkg-descr new file mode 100644 --- /dev/null +++ b/www/py-dj42-drf-spectacular/pkg-descr @@ -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